Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Does anyone dream of code?
104 points by rs86 on Feb 8, 2017 | hide | past | web | favorite | 139 comments
I have been having this problem lately. When I close my eyes and try to sleep my mind wanders and soon enough I am thinking about code, programming mentally. And I wake in the middle of the night and I am still mentally coding in a semi hypnotic state. I have slight OCD if that matters. Does any one feel the same? It is as if my mind never turns off.

I've been doing this for 30 years. Why? Because I work in such a way to make it happen. What you call a problem, I embrace as a gift.

Of all the things I've discussed here at Hacker News over the years, this is probably the #1 subject. Most programmers have the opposite problem of you: they have trouble turning their minds on.

I always turn my computer off several hours before bed. The last thing I do every night is review hard copies of code with a red marker. Many nights I dream of my project/code. Sometimes I even jump up in the middle of the night and go to my computer, write down my thoughts, or lately, voice record them.

Sometimes I am incredibly grateful for the "gift" I've received from "outside myself" in the middle of the night. Other times I'm annoyed. For every cool insight, there are many false positives: What was I thinking? But the positives far outweigh the negatives.

I don't know why this works, but I can't imagine accomplishing all I do without it. Many programmers struggle for years to turn this "mind CRON" on. You already have the gift. I suggest you find a way to embrace it and turn your lemons into lemonade. You don't have a problem; you have a gift. Make it count!

My original HN post: https://news.ycombinator.com/item?id=191275

Also #49 here: http://v25media.s3.amazonaws.com/edw519_mod.pdf

A lot of programmers I respect like to work on printed out code, and it's something I enjoy as well. Furthermore I'd love if we could work completely offline, with pen and paper.

More coders ought to try weaning themselves off of syntax highlighting and inverting their terminal colors to dark on light, document-writing style.

If you don't need the training wheels and you're not a hacker in a movie, I think you'll discover over time that it is a sweet sweet liberation to be free from the ball and chain of syntax.

I could not disagree more. I often have to write without syntax highlighting at work, and there are zero positives and many significant negatives. It's not there as "training wheels" or to look pretty, it's there to help you avoid trivial mistakes and easily navigate through the code. There was discussion here recently about why we still edit code as text rather than as a tree, and syntax highlighting helps bridge that gap slightly, so you can think of the code as a tree rather than a long series of meaningful letters.

Seriously, have you tried this for more than a few minutes? I've been doing it for a year and a half and I've never seen any benefit. You're only "free from the ball and chain of syntax" until you try to run the code, when you realize the syntax is still there, and you're only "free" from being able to clearly see it.

Yes, I've been doing this for at least a couple years. I've been writing various kinds of code for money since 1995, and no change has ever been as helpful to me as this one.

It's just a suggestion. Not everyone will like it or agree to seriously try it. I don't think it would necessarily work well for someone who's forced to use a certain editor or configuration at work, for example (and probably continues to rely on highlighting elsewhere outside of that job, preventing the mode shift from settling in).

But I think a good many developers who haven't considered this might discover as I have that it helps them to be calm and focused on higher problem-solving at the levels that matter to them. It really is liberating to read and write code more broadly as a meaningful language rather than just fitting and stacking bits and pieces together. You might reasonably claim you can just ignore the highlighting at will, but I and others have discovered after making the move (and really giving it time to set in) that we didn't realize how much the highlighting anchored our thinking to syntax.

I've had no more trouble at all preventing or finding bugs without highlighting than I did before. Also, while I've never used one I know that there are syntax-aware editors (or probably plugins for all the usual editors) that will show you broken syntax without drowning your code in syntax color.

Out of curiosity, what languages are you using when you do this?

As a primarily Python and Haskell writer, I have no idea what you're talking about with this "unchain your mind from syntax" stuff- though I guess that in Python the syntax may be so expressive as to be no cognitive restraint, and in Haskell binding your thoughts with syntactical structure is the point.

Just Web really -- JavaScript, SQL, some bash, a little less awk, extremely rarely Perl, and a lot of the dreaded PHP.

In principle I could imagine some languages might exist in which the concerns of developers are so confined to the smallest language bits and pieces -- at the expense of bigger-picture concerns -- that the drag of ever-present syntax cues is less of a drag.

But even from what I've seen of Haskell I can't imagine wanting to have those cues in my face all the time, unless I'm either learning the language or at my wits end trying to locate a (maybe) syntax bug ... in other words, when I'm not really writing or reading code. If anything, its proximity to math might make me more eager to be free of those cues.

I think in just about any significant code-making effort, we'll need to be able to think clearly about the meaning and intent of chapters, pages and paragraphs (and maybe sentences) without hundreds of little tethers constantly reminding us about commas and parentheses and subject-verb agreement.

All I can say really is that I had no idea how much of a drag those syntax cues were until I got used to being without them. Nobody has to do it just because it worked for me (and others). It's just a suggestion.

I've often thought about coding with a touchscreen and stylus- could be the best of both worlds. But though applicable hardware exists, such an IDE still doesn't, as far as I know.

> Furthermore I'd love if we could work completely offline, with pen and paper.

Why is that? I loathe writing code on paper, seems like it'd be a serious regression.


I have the exact opposite view. I love writing it my code on paper. It makes me feel like the creative part of the equation while I leave the 'mechanical' computation to the dumb machine. Debugging and understanding difficult code samples is easier too.

I once read that Knuth(?) never used a computer and wrote everything on paper for his sectetary to type.

I personally don't write literal code on paper very often, but I draw workflows, interactions between pieces of code, thoughts and notes that I then refer to when coding. I spent about 4 hours the other day writing in my notebook working through a large refactor. I don't think I've written so much in such a short time since taking tests in school and I am sure the paperwork saved me a few days of stumbling around.

No idea, I just enjoy paper and whiteboards more, I feel more creative as well. Also the fact that you're cutting out distractions.

I write tons of pseudo-code on paper and it helps me organize my thoughts far better than I can do on the computer (maybe I haven't found the right tools). I seem to solve more complex problems quicker too on paper (ymmv of course).

I suppose it is a gift. But you can turn this on by training in mindfulness and concentration exercises. The former increases lucidity. The latter increases clarity.

Frankly though, the dreams you get are the dreams you need to see and experience, whether you like the contents or not. If someone is not dreaming about code but about those other things, those are the deeper stuff related to life that the person needs to deal with.

If you are consistently dreaming about code, the gift is not that you are dreaming about code. The gift is that your daily life is aligned to a deeper sense of purpose and being. Your inner life and outer life is in better alignment than most people's. _That_ is rare.

Yep. Not so much the act of coding but weird abstract concepts around code. To the point where once when I was working with Chrome and Firefox extensions and trying to get notifications to work just right, I woke up from deep sleep, and in a daze started shaking my wife saying that the notification were attacking us because I had made an error in a loop (she related this to me the next morning. I couldn't remember it :D ).

This reminded me of a dream I used to have of getting into the car, opening up the Chrome developer tools, and using Javascript to drive.

> This reminded me of a dream I used to have of getting into the car, opening up the Chrome developer tools, and using Javascript to drive.

An aside.

Reading some of the hilarious comments here I am inclined to think they could be compiled into a bestselling nerd comic

Indeed. Or just sci-fi comedy.

Oh wait, is someone doing this?

That's not a dream, it's a premonition.

When I go to sleep after having worked on something complex and didn't fully resolve it, I'll almost always dream about trying to solve it. Sometimes I see code, sometimes it's more abstract, but it's always disconcerting. My wife says I mumble things like, "I'm pretty sure 'also' is a keyword unless I'm losing my mind and need to check the documentation"

The worst cases for me are with math-heavy problems. I'll see code mixed with shapes and graphs. The mornings suck, because you wake up knowing you were only half-asleep.

That's why I like to play some easy games or read a book 1hr before going to sleep. Sometimes they induce creativity though and are counter-active.

I find myself dreaming in code far more frequently if I've left a problem unresolved. I never end up finding resolution in sleep though, and the problem I'm dreaming isn't usually related to what I'm actually working on. It's more like an exercise in working out the logic behind some kind of dream action, like walking or turning a door handle. I'll get stuck in a loop and go over it all night long trying to understand why is this not working!

I started out in system administration and network engineering before switching to programming. I once had a dream that my cigarette needed an IP address before I could smoke it.

I had a similar dream about my pants once.

I think I am gonna write a Chef recipe to automate that, so we don't have to worry to assign those IP addresses, if I was you I would switch to IPv6 though

I remember waking up in the middle of the night and trying to call the remote control. (Most times I sleep with the TV on)

you have to issue before you can consume

IPv6 here we come!


This is not unusual. The brain processes and organizes information when we sleep, just that we don't all usually remember this happening.

I find that I tend to think about things in my sleep on three occasions:

1 when the activity is new

2.when I am sufficiently stimulated and excited by the material.

3. when I am worried or upset

This 'dream state'used to occur to me in the past when I actively played chess, when I was in school studying for exams and nowadays when I'm struggling with (and mastering) a new concept or paradigm in programming. Recognizing it for what it is - a process of deep archiving and reorganization, I have come to embrace it and even be happy when it occurs, since material I have processed in this way terms to be deeply ingrained in my memory for longer.

I had this happen a lot when I first started out but not so much anymore for some reason.

One thing I remember that has always amused me is how I would dream about this amazing code. It was so amazing that I would simply have to wake up so I could write it down. But, the few times I could actually wake myself up, as soon as I thought about it (before it quickly faded away) I said to myself, "WTF was that? There's no way that would work!"

This is true for everything in life. Do some thing alot, and your mind will start processing it while you are asleep.

I used to have such dreams about EverQuest. So I eventually realized I should play less :P

It's called the Tetris Effect, read: https://en.wikipedia.org/wiki/Tetris_effect

Yup, I had the same for Jedi Knight, Counter-Strike, Left4Dead. With Left4Dead I had it particularly bad, when I would walk to school in the morning - still half asleep from playing until late the night before, I would "hallucinate" the sounds of the game.

Even though I stopped gaming somewhere during university, I still have dreams about those games every now and then.

OT: Just like other's in this thread, I have dreamed about code as well, with a similar frustration to wake up knowing the beautiful solution was all imaginary :-)

I must have had the literal tetris effect. I played so much (competitively) I would dream of the patterns and pieces all the time. That's when I knew I was playing too much.

First and most intense time this ever happened to me was from playing the origin Alpha Centauri. It was ultimately a deeply uncomfortable experience.

Yes, but not in the literal sense for me. I never see any text or code but rather some abstract version of the problem I'm trying to solve. I dislike it to be honest, it makes me feel like I'm not getting any rest, especially when I wake up in the middle of the night from a code dream only to continue in that loop while I'm half awake.

One time I went to sleep after starting a take home code test for a job interview; I woke up a few hours later having some intense dreams about it and ended up knowing exactly what to do. I finished it at 4am. I didn't end up getting the job, but they said during the interview they really liked the code.

Would you mind sharing why they (said they) ultimately chose not to extend an offer? Just curious about an anecdote from a hiring/recruiting perspective.

They never gave a reason. That said, I felt like the interview with my potential team mates (one of the 3 interview rounds that day) really did not go as well as I would have liked. I could have done better describing my current work and projects. We did some whiteboard design question and ran out of time, looking back I could have done a lot better on that had I put more thought into it. I'm not bitter or anything, it was not my best in person interview by a long shot.

When I was 14 in 1986 writing Atari ST stuff I had something come to me in a dream.

The ST had a notoriously slow text output system. The display was a bitmap and there was no hardware acceleration. Somebody called Darek Mihocka came out with 'Quick ST' which made the text display quicker than stock. As a newbie I wanted to beat this, so I learned 68000 assembly and did the usual optimisation - unrolling loops, precomputing bitmaps etc. I got faster than Quick ST but then he had an update which nearly doubled my speed.

I did everything I could to work out what he'd done, including looking at the Motorola reference manuals, nothing came up. I was going crazy. Bear in mind these were the days when there was no middleware, it was you versus the hardware, and if they did it better it's because their code was better.

So I went to bed one night and the 'move.p' opcode came to mind. I woke up and read about it - turns out this opcode took a 16 bit number and split it into 2 8bit codes and placed them 2 bytes apart. This matched the ST interleaved bitmap perfectly - I doubled my speed and beat Darek.

So, yeah, a dream did actually improve my code. I do miss those days where decent code beat driver, middleware and other issues.

Just two nights ago, my wife came to join me, which woke me into a half sleep. I immediately grabbed something on my nightstand that reminds me of her and thrust it into the air, then I started to try to explain (somewhat incomprehensibly, apparently) the unit tests that would run against her. That's not a euphemism and the waving the thing in the air, I think, made me believe that her unit tests would run first, so I could get back to sleep sooner.

Needless to say, she's still laughing at my antics!

Mock the wife

Insanity is when you wake up screaming that your build failed, and then realise you weren't dreaming.

I have this happen to me relatively often (about once a month). The best part about it is that I make meaningful connections and actually solve problems related to the code that I am envisioning, and I wake up and I am able to implement what I dream about.

This usually only happens the night after a long day working on very mentally challenging problems, it rarely happens after easy days.

Usually when I'm learning a new programming language or technique, and just at the point where I'm starting to grok it but still having challenges, I'll dream that I'm programming in that language. Usually a day or two after that, I'll feel like I've finally acquired that skill. I remember this very clearly happening when I was about 22 and was playing around with Javascript and AJAX calls. It happened a couple other times after that, I think when learning Objective-C for iOS too, and maybe once again when learning how NSLayoutConstraints work.

I try not to write code for about an hour or so before going to bed. I find that if I work on code, especially a complicated problem, I will dream about finding a beautiful solution (without actually seeing or remembering what I do). It's really annoying to wake up and realize it was all just a dream.

I studied for an interview with Google late last year. I did a lot of algorithm and data structure exercises along with system design work. The study was intense for me, I spent about 3 hours a day working on problems in CLRS for about 5 weeks. I would dream of algorithms a few times a week and think about problems constantly.

Unfortunately I didn't get the job but it was really interesting to experience how my mind operated when a large chunk of my attention was consistently focused on complex topics.

Yeah, next time don't study.

I am convinced that Google interviews are rigged. I got on the phone with an "interviewer" and he sounded like someone strangled his pet in front of him.

I knew I wouldn't get past then because he didn't really seem at all interested in interviewing me.

I wasn't like Homebrew Qualified but I definitely wasn't Fizzbuzz Unqualified.

In CS 101 I spent all night working on my final homework, walked into class, put the printed solution on the professor's desk, sat down in a desk right in front of his and fell asleep.

I dreamt about the homework problem, and realized I had made a mistake. I immediately woke up, grabbed the paper, and made the correction. The whole class burst into laughter, but the professor didn't seem disturbed. Later he told me something like that happens every few years (he's been teaching for 30).

I have dreamed of code. There are times when it feels like I am patterning the dream space (each space has its own rules, plot, feel, etc).

When I was working with Kubernetes intensely, I was moving around abstract "lego blocks" representing concepts. The space was black, 3D, no gravity. (I remember someone coming into the space to visit and I told her I'm still working on it...)

There were times when I was trying to figure out something in the dream and a different mind-thread was hacking code that maps to the plot of the original mind-thread.

I have walked in dream spaces where I took a corner off the happy path and watched the world glitch for a moment and start procedurally generating.

There were dreams about startups, working in an office (I work remotely most of the time).

Lucidity and clarity varies. Sometimes it is very clear, the visuals and the coding concepts I am working with are sharp. Sometimes they are fuzzy. It is occasionally lucid (how aware I am that I am dreaming). That "semi-hypnotic" state seems like it is not high on the lucidity spectrum. That's pretty normal if you are coding in a semi-hypnotic state while coding during the day.

I usually meditate before falling asleep, try to offload things in my day's working memory. It's usually whatever I am binging on, whether it is coding, anime, or even martial arts or whatever. For example, there was a time when I binge watch My Little Ponies and saw the ponies cavorting in the phosphenes. I'm not surprise this happens with code.

Yes, when I'm utterly engrossed in a problem, like when my routine is basically eat, sleep, work and repeat. I dream about it as well.

It isn't limited to code, when I was a kid I used to wake up dreaming of Tiberium Sun, and Red Alert 2. It's lately been code though.

If you think the dreams are weird how about this. There was a period when I was was spending a lot of time writing code every day. And there were some nights where I'd fall asleep then partially wake up and look at the window to see light cast on the curtain in a way that would sometimes spell a message that helped me debug, figure out a problem, or discover a new technique. Or give me an idea for an operating system's logo...

Are u bill?

Only pattern-based stuff.

I first noticed this with PCB layouts - I'd be moving parts and re-routing/prettifying manually for long straights and only 45deg corners.

Also refactoring code, particularly in an aesthetic way as if making the style consistent/readable before doing something with it - shortening lines, aligning data structure entries, whatever.

It happens if I play something like tetris before sleeping or while tired, too.

Try reading fiction before bed.

I used to spend time thinking about code before sleep. The long term effects is the larger problem. Not giving your mind time to do something else will eventually lead to burn out.

Credits to Tim Ferris for this routine.

Ha, I've never ever been able to start reading a good fiction book before sleeping without either ending up finishing the book and not having slept at all or passing out from exhaustion in the middle of the night after I notice that I've reread the same line 3-4 times.

I tried reading before bed. Before I knew it, I would become ridiculously tired any time I tried to read (fiction) in the daytime. It was frustrating! So, now I read at lunchtime instead.

I had a dream that I had racked up a huge amount of money at a bar. In response to my exorbitant tab, the barkeep told me that he would not be able to charge me any money for it if I ran Kubernetes in production.

Yes, this is quite common.

Different types of code dreams are common too - code nightmares where you get caught in small, infinite loops or are unable to escape oscillation between a small set of bad operations

Or happy code dreams where you float above the system and observe high levels of interaction and execution, watching data flow like water, and execution happen rythmically like beats of music.

I sometimes do. It is particularly satisfying when I debug (correctly!) the code in dream which I struggled to debug while awake.

Yep. My subconscious often gives me very interesting "left field" type problem solving/troubleshooting advice during my programming dreams.

I never really dream of code, but I did have a funny dream of me writing something and trying to get girls to check out what I wrote. I was like, "hey ladies, check out this code"

I think that's # 5 in "Top 10 Worst Pickup Lines ever"... ;)

Yes, all the time. I was a military academy cadet and I train all the time in my mind, I dream 12-24 times a year that I have managed to get back in and do basic/etc. I was a TA and I prep/teach lessons in my mind, and I also slice and dice code in my mind all the time.

I never know which I am going to get but coding is the most pleasant of them, by far. The higher my stress, the more likely it's not fun.

The fact that my current job is to untangle legacy Java code and we actively oppose any "unnecessary" changes hurts me, because I can't not untangle it in my head, working or sleeping. Resting/playing is OK though. That's why it's important.

Of course, we don't have any unit tests, because how else could we employ 2 testers per coder? And we obviously don't have any time for that useless stuff.

Only when I'm stuck on something.

I find myself working on it half asleep in my bed. It pretty much always results in finding the solution or at the very least a good lead.

Yep, and it's not pleasant when you're lucid enough to know you're dreaming, but not lucid enough to be able to reason properly. It's just a general feeling of trying to solve something, without any payoff.

I've had several experiences of pointlessly struggling with a dream computer, or a more abstract sort of programming-flavoured dream puzzle.

That's where you want to get lucid enough to realise that struggling with the problem isn't a worthwhile pursuit now, and go do something fun instead :)

I do. But it doesn't happen very often, and I don't hate it.

The clearest memory I have, is when I was 15, debugging some hacky PHP codes for days still unable to find a solution. I dreamed that piece of code and suddenly wake up with a fix, it was a pretty nice feeling.

Also an year ago I started learning Haskell, despite reading a lot of tutorials I wasn't able to understand what a monad is. One day I woke up and find myself understood the concept. I don't remember the content of the dream, but it was a sweet dream and I slept longer than usual.

I am not sure if I have OCD, but I like coding so dreaming code is not an issue for me.

Not always, but when I'm immersed into a project long enough and I'm thinking about all its problems all day long, I dream of "solutions".

But this happens only in those periods where my day is basically 100% code.

When I was learning Haskell, I had a coding dream with a twist.

In that dream, I wrote small programs, compiled and executed them. The twist was that the result of the execution was presented to me in the form of physical constructs, composed of square hollow section pipes welded together.

I would then walk around the structure, examine it, and wonder, why a particular part of the structure is welded to the whole structure diagonally, instead of a 90-degree angle. Must be a bug somewhere.

I had a somewhat similar dream where I had an epiphany that everything in the universe is controlled by code, which I had the privileges to edit for some reason. I remember typing some HTML (`<span style="color:red">` and `</span>`) to create these small physical blocks. Slapping the blocks on either side of any object would turn it red!

Span shouldn't be blocs! You are dreaming wrong! :)

Yeah. Most teens don't have dreams about code, but I do. I fall asleep thinking about some bug, and wake uo with a solution. Unfortunately, I sometimes forget it :P

I have plenty of dreams about problems I'm working on. I usually end up dreaming of a way to solve them too.

Though I did have this one dream where I was able to open up a virtual console next to anyone I saw and could program them to do whatever I felt like. I could do this with just random objects too, not just people. That'd be an interesting game idea now that I think about it.

elseheartbreak dot com

I used to dream in code all the time. It was when I was tackling a programming problem I was having trouble with. My mind would often solve it while I sleep; and I'd be able to solve the issue quickly in the morning.

It happens less these days. Either because I am more experienced or because development tools have improved; I no longer get stuck like I used.

Same here (also diagnosed OCD), this might be more related to your sleep hygiene though. No screens before bed, no coffee after lunch, learn to meditate, etc. Turning off your brain is a difficult skill to learn, it certainly got harder once my dev career was serious.

Somewhat related: I dated a cellist who said she'd read music in her dreams.

Yes, I call this "terminal brain". Issues that I want to fix, or things that I've been working on whirl in my head in an abstract 2d visual state - flashes of the colors I'm using in iTerm, and random words repeating over and over... vague imagery of tailing a log file... it feels like my mind is creating scenarios and trying to solve many things at the same time.

I think it's both a blessing and a curse. On one hand, some days I wake up and immediately know how to solve problems, or I'll think of new things to try. I've also had many nights where I come to understand concepts from 'exploring' the whirlpool of vagueness. Solidifying the abstraction helps a lot, I guess.

On the other hand, this phenomenon can be very distracting or distressing at times. I have a terrible memory of trying to have sex and all I could think about was Redis.

I would have this dream that I could access the Lisp REPL that controlled my dream, but I would accidentally use the loop macro wrong and I'd be paralyzed in front of my computer for the rest of my dream, unable to kill the process.

Actually terrifying thinking about it again. Made me very wary of live programming XD

I once got really ill and went into a high fever, the whole time in my head I was debugging myself with code, was very strange.

Other then that I never dream of code, but sometimes when I am half asleep in bed I start thinking about issues and playing out scenarios I could try to fix something, or implement a new feature.

I've had this happen once, and it was not a pleasant experience. (Try setting a breakpoint on your own brain sometime and see how much you like it.) Kenneth Reitz, who wrote Python's requests library, went crazy[1] (his words) and had a similar experience, though his was psychosis-induced rather than fever-induced.

> The earth represented an "ideal" logical volume of data (life), and the universe was the collective storage LUN. I was using Amazon's Dynamo algorithm to replicate life, with eventual consistency, throughout the universe by watering plants in the garden. Now, Amazon actually uses Requests to perform all internal API control operations for AWS, effectively making my code partially responsible for the operation of the internet itself. See the theme? [...] I was very keen to have the doctors and my family look up the Dynamo whitepaper, to prove the legitimacy of my quest.

1: https://www.kennethreitz.org/essays/mentalhealtherror-an-exc...

It's your subconscious working on a problem...

One example would be scenario where you can't remember some word, and you decide you can't remember it and stop thinking about it, your brain continues to search for it in the background (subconsciously)... and then the word comes to you like an interrupt.

I had the same thing with studying for exams (I would dream of the lecture notes and when I wake up in the morning I can perfectly recall everything).

There was a study posted at HN where not completing a task at work, leaves your brain working on it even after you leave your office, only to have the solution pop up in the middle of the night.

All of this can be a result of a stress. You need to take a vacation and relax. Recharge your batteries or you'll be feeling drained really soon...

I've had this problem before. I dream as a javascript runtime vm, compiling the code as it's thought of. Infinite recursion hurts, literally. Other than that, if I'm lucid of the dream I rarely solve problems, just repeating the same road blocks over and over.

Why is it a problem? Are you getting enough rest/sleep? Do you have enough control over your day that you can rest when you need to? Are you effective in your work and personal life (controlling for OCD)?

If the answer to most of that is mostly yes, you're doing pretty well.

Not code specifically, but I sometimes dream about humans in some form of "modular" sense. Like if their feelings would be contained in one class/part of a program, or their torso would be accessed via methods or something like that.

As someone else mentioned, it's likely the tetris effect. I had a similar feeling while playing the game "triple" town where you want to match three bears items next to each other, I kept seeing items and people in terms of "are they next to each other" while walking around (especially when a bit of alcohol was involved).

Yep. I love it when that happens. Happens especially when writing complex code instead of just rattling off CRUD. The best time was when I worked for months on a Prolog project for uni, every day, all day with very complex concepts to crack. During the day when I went outside, my brain transformed everything in Prolog clauses; cars, roads, houses, bikes, people talking to me. And at night my dreams were in code as well. I now have it when doing embedded code or game code.

Edit: Come to think of it, this 'free shrooms' experience is reason enough to not do CRUD apps :)

I have done this from time to time, when I was really stressed, and working too many hours.

Once my life went back to a sane pace, where I could enjoy some personal free time, the problem went away.

Now I have a baby and I dream of diapers.

Last night I dreamt about having to work in a programming environment where objects appears horizontally and operations appeared vertically like a timeline. On second thought it was more of a nightmare.

This is normal, and gamers also experience it. It's only an issue if it's interfering with your sleep regularly. You'll find that it's most acute when you're deep in a problem or learning something completely new. If you find yourself in a "loop," get up and read a few pages from a book that you're not too excited about (not code related, history or a novel). The dreams should recede when you're under less cognitive load during the day, which should happen as you learn in your role.

Programming in your sleep or in the shower or any other place away from the computer is awesome, because it's often where you'll achieve a breakthrough (even in your sleep)! As Rich Hickey would say, slowing down and stepping away from the computer forces you to think more deeply about a problem and explore it more. I view it as a good thing, but it usually only happens to me when I've been deep in a problem for a while, so it's an occasional thing.

I can't read in my dreams. I'm able to dream that I'm reading but the whole understanding of what the text actually should transport isn't there.

I don't. I had dreams about my workplace, but it never happened to me to dream myself at the desk writing on a keyboard. Funny, I'm on a computer up to 10 hrs a day. I always dream about people, and I'm never alone in my dreams. Even when I'm breathing with trouble at night, I have someone trying to save me. Curious, it makes me feel less "isolated" now that I'm thinking about it.

Yeah, happens a lot if I go to sleep without enough down time after coding. My dreams have me going over code that is needed to perform some kind of dream action, like sitting, walking, or whatever else. I'll often get stuck in a loop and go over it again and again, trying to get the logic right all night long. My wife thinks it's hilarious because sometimes I'll talk in my sleep about it.

Absolutely. It's hard to turn your mind off when you're thinking about something complex and rewarding. Some recent study I read said we sleep to forget, so maybe this is your mind's way of making sure you don't forget the progress you've made on whatever particular thing you're working on.

I've found that watching some boring TV or having a drink (alcohol) before bed helps.

The first few years in my career when I'd code for a few hours non-stop then crash on the beanbag at my desk, I dreamt a lot of bug fixes, very few of which stuck in my mind after I woke up. It's basically the last thought I had before I went to sleep which affected my dreams all my life. If that last thought is code, then so is the content of the dream.

In that state between sleeping and waking I am often debugging my inability to wake. It's not as though I'm sitting in front of a monitor, but the lines of code are my entire worldview and no matter what I change the alarm keeps going off. I guess if I were a better programmer I would dream that I was writing a program to extend the night...

Sometimes when I'm stuck with a hard problem, I find the simple and obvious solution in a dream. This happens most often when the problem is algorithmic.

When I struggle with modeling problems, I often solve them in the trance-like state right before falling asleep. These solutions are much more elegant than what I would be capable of while being fully awake.

Not uncommonly. The first instance I can remember was during an automata & formal languages class: I dreamt of cars pulling out of parking spaces and going back in, and on waking realized that it had to do with the pumping lemma for regular languages. Last night there was a coding dream, but I don't remember the details.

Once during a bout of fever I dreamt I was a running Pascal program. Believe me, it's no fun being a computer.

Thank god I'm not alone :p

Almost every time I have a fever, I end up dreaming about code or diagrams. Sometimes even live CSS coding. And yes, it's awful and you can't escape.

Hell yeah, stresses me out too. It probably even gave me hypoglycemia a couple of times

When I was studying organic chemistry, I had some pretty cool dreams about aromatic molecules.

Bank finance class gave me an extremely revelatory nightmare about interest rates once.

Dreams about stuff you're learning are almost always constructive though. It's a good thing.

Yes, but my dreams blend together code and the other people in my life in a bizarre manner which only makes sense inside the dream itself, but is otherwise ludicrous. It is as if I am trying to debug other people, which of course never works, and thus it inevitably turns into an anxiety dream.

When I'm hitting my stress limit, I dream in code. It's usually a sign that I need to slow down.

Sometimes, more so in my early-mid 20s, I would dream about code/architecture issues I was having, and bizarrely, wake up with the solution. It was a trip when I realized what had happened, so I started napping when I got stuck and it actually worked a decent amount of the time.

When I first started to learn to program, in the very first week, I slept very little. Not because I was up late at night working but because I was so enticed and interested in what I had been learning that my brain refused to stop thinking with that mentality. So yes, I do.

Sometimes if I've been doing a lot, also sometimes I have dreams where the dream is just code scrolling in front of my eyes. This second type of coding dream generally happens if I'm doing more than 10+ hours a day of a very verbose language.

I have the same problem, with often abstract crazy problems involving myself as part of the equation. It could be writing a system that gives me the ability to sleep or close my eyes, but also real problems that I worked with earlier that day.

I write my best code in my head while riding my bike to/from work, in the shower or lying in bed falling asleep. Having extended times of being disconnected enables your brain to chew on things and come up with new things to try.

This sounds like it's related to the Tetris Effect: https://en.wikipedia.org/wiki/Tetris_effect

I've experienced the same thing.

I don't really remember my dreams, my wife says I'm coding in my sleep though, and if I'm working on a difficult problem I usually solve it instantly when I wake up... I think maybe I really DID solve it in my sleep...

When I started coding I took upon a task way over my beginner skills.

I was working on a Minecraft plugin to give the player the ability to access a virtual chest.

I had to dive in the code of Minecraft so deeply that I started dreaming of creeper exploding in my code.

I occasionally do, but it always seems to take the form of finding a really good solution to a horrible bug. Then I'll wake up full of joy at having fixed the bug only to realise it was one entirely imagined during my dream.

Only when deeply immersed into a problem. Day to day work doesn't really get it going for me, but if its something challenging I'll see all kind of code in my dreams, I've woken up with 'aha' moments too.

Only thing causing me to lose sleep is trying figure out how to turn code into cash.

When I've been paged overnight, my alarm clock integrates itself into dream logic as something that has to be defeated so that I don't wake up. not sure if the role assignments are random (alarm = pager = evil).

Yup. This happens if I was coding right before bed with a problem not solved yet. Most of the time the dream was about me typing random things into the screen that doesn't make any sense.

When I was cramming for exams in university I used to dream chemical equations. I also sometimes dream of code and how to architect various stuff I'm working on, which feels pretty good.

I actually can't sleep if I think about code. My mind fixates on it so much that it keeps me awake.

When I'm awake and bored, though, I do think about code a lot, and game mechanics, and such.

I don't remember. So certainly was not properly documented.

It happens all the time, not particularly because I am stuck on a problem. Happens the most when learning something new and your mind wanders into a playful state.

Often. I have, occasionally, actually implemented what I dreamt of. To date it's only worked once. Which, when you think about it, is pretty damn amazing.

When I was working on large systems with lots of interconnected parts, I used to dream about them as navigating a building with lots of different parts and wings.

I'm currently doing the OSCP, and I've been dreaming of buffer overflow attacks the past few days.

It's encouraging too, because my dreams are accurate.

In my first years of college I was a semester behind. I made up for that in 2 weeks of Christmas break.

That was the first and last time I dreamt of Java.

I think this happened to me once. I try to read a little fiction right before bed to help get my mind off work and programming.

Only once, when I was a little overworked in college. It was about the process of authentication and authorization.

I dream a lot about what I could do with the money I'm making from coding. It's never enough...

Yes, only when I'm working on a project and spend significant time looking at code during the day.

I have written code practically every day for the last 20 years. No, I never dream about coding.

When I'm really in the weeds of a problem, then yes, I do.

I've dreamt extensively about deep learning.

all the time! I dreamt I was in a builder factory pattern and had a full on battle with team create(). I was on team build()

Who doesn't?

I don't, FWIW.

I don't.

Electric sheep?

All the time

How long have you been programming?

oooh yes, quite often :)

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact