5 ms·
That used to be my experience as well. However, I do think two different things happened. One is that I'm getting older. I'm not in my mental prime anymore. Bu
by munchbunny 8y ago
That used to be my experience as well. However, I do think two different things happened. One is that I'm getting older. I'm not in my mental prime anymore.
But the second is that everything is more complicated. In high school, you could just sit down and crank out some homework while watching Youtube videos and chatting with friends. And you would just sit down and crank out some homework.
Yesterday, I got into work thinking I was going to write some code, and... oh wait, this depends on chasing down an issue in code owned by someone else, and I need to get answers to some questions about how this other component works that I depend on, and this other piece of code I need to modify doesn't actually work the way I thought it did. Even within the same task, I'm constantly context switching between mental modeling, communicating with other people, and code reading/writing. Also, I'm reconciling all of this against a multi-stage rollout plan where different people will see different behaviors. It's complicated in a way that teenage me never really had to deal with.
It's no wonder I've spent several days feeling like I got nothing done. I did a lot of unwinding hidden dependencies, but very little of it was actually writing code. Most of my time was spent figuring out what questions were the right ones to ask in order to get the answers I needed, which might not end up being what I thought I needed.
Teenage me never had to deal with that kind of complexity.
- someguy101010 8y agoYou pretty much described my day today
- wlll 8y ago> It's no wonder I've spent several days feeling like I got nothing done. I did a lot of unwinding hidden dependencies, but very little of it was actually writing code. Oh man, this really resonates with me. So much of my work time is spent manipulating the yak stack it's crazy. The feeling when you can just crank out some code with no external speedbumps is magical though.
- flossyspeaker 8y agoSpot on.
- irrational 8y ago>In high school, you could just sit down and crank out some homework while watching Youtube videos and chatting with friends. I see this kind of distraction as introducing complication. When I was in high school about all I could do was listen to the radio on my boom box and even that was using too distracting.
- munchbunny 8y agoI wouldn't really be able to actually watch something and chat and do math problems. It would be more like 20 minutes of each at a time. Maybe another way to say it is that in high school math problems fit into a small enough chunk of memory that you could store it to disk and load it back into working memory in a few minutes. On the other hand, I literally can't fit my current work project into working memory. It's just too big. I have to page it to stored notes. At the end of the day, I write to myself where I need to pick up the next day, and then the next day I spend 20 minutes following my notes to load that context back into working memory. I don't think I'm bad at this stuff either, because my solo side projects don't have this problem. I can pick those up for an hour at a time and it's fine. But my work projects...
- sahil-kang 8y agoYou know, I’ve found myself doing the same thing: I usually have a git versioned ‘notes.org’ file in whatever repo I’m working in, and I’ll rebase it away before opening the branch for peer review. I also don’t feel the need to do this with my personal projects, not even the larger ones. I suppose that’s because I insist on understanding more of the tech stack for my personal projects than I do for my work projects.
- elihu 8y agoI suspect that when most organizations hire software developers, they're not really looking for great programmers. What they're really looking for is people who are capable of dealing with enormous complexity without getting confused. Those things might sound related, but I don't think they're the same thing. I expect that most software developers don't spend most of their time designing beautiful, elegant solutions to interesting problems; they spend their time blundering around in an over-complicated and poorly designed code-base using tools that barely work and trying not to trip over myriad corner cases or buried in technical debt. (Even in well-designed systems, you're often still dealing with mountains of technical debt inherited from the industry at large.) Maintaining bad code is in a lot of ways harder than creating good code. Or at least, a person good at one of those things might not be good at the other. I have a related theory that software development as a profession is starting to increasingly resemble being an air-traffic controller; as the actual programming parts get easier (languages, tools, and libraries get better, awful code-bases notwithstanding), the non-programming tasks tend to take up more and more time. So, you end up spending a lot more time talking to people and figuring out what to build.
- fmax30 8y agoWhat an interesting analogy to make with Air Traffic controllers. Although I still believe an Air Traffic Controller's job is more anxiety inducing and difficult. But the anaology does hold true. My Dad used to be an ATC and he always told me that he actually has fun doing it and loves his job. When I was little I was unable to comprehend how one can enjoy being in such a pressure situation. But now as I am older it makes more sense, as now whenever we are near a major release the pressure is still pretty high but I enjoy writing code and deliverying features too. Even if the code base is really annoying and the architecture of the platform makes me pull my hair out. It still is super satisfying to successfully do a release or when you fix that pesky bug. :)
- munchbunny 8y agoI think that's a good description. As I've become a more experienced software engineer, my job stopped being about making new features and switched to controlling chaos. Writing code that needs to be maintained for years is a very different problem than getting a lot of functionality out the door. Experience teaches you how to adjust for the right spot on the spectrum between "build for business value" and "build for maintainability."
- tempestn 8y agoIf you were watching youtube videos in highschool, you couldn't be too far out of your mental prime!
- posterboy 8y agoThat's what the comment is trying to say, no less, but it rubbed me off wrong, too.
- munchbunny 8y agoIf you think I was complaining about being old without actually being old, then you lost my actual point somewhere in the urge to say "get off my lawn."
- tempestn 8y agoI wasn't complaining; just trying to be encouraging! Looks like I did indeed misinterpret the statement though.
- munchbunny 8y agoNo, I didn't actually have YouTube videos in high school, I had whatever the internet at the time used for the same purpose. DivX and real player videos downloaded over the phone line, and AOL messenger for chatting. That's why I didn't say "I" and used the generic "you". I didn't expect someone to read that as a historical detail as opposed to a point about the type of mental context switching high school students do. I'm not that far out of my mental prime, I'm just far enough that I'm noticing it.
- phs318u 8y ago> I did a lot of unwinding hidden dependencies So, you got plenty done. As you say, "It's complicated in a way that teenage me never really had to deal with". And that's really the nub of it. Not all complexity is reducible. But many of us can't escape the notion (perhaps an evolutionary drive?) that "there's gotta be a simpler way". To your example, if you hadn't unwound those hidden dependencies, perhaps you would have experienced more severe consequences at the wrong end of the process. So well done you for clearing your path.
- posterboy 8y agoYou had youtube in high school and you think you are old? Are you saying I got old? I don't even have a lawn yet to get you off.
- munchbunny 8y agoI responded elsewhere that no, I did not have YouTube in high school, I had ebaumsworld. But that's beside the point, this isn't a contest for who is older, I'm trying to point out that the work adults do is often less friendly to multitasking, and getting older doesn't help.
- manmal 8y agoI find your experience very relatable. I think writing things down helps greatly with that. Everything that supports your memory actually should. I‘ve started using a copy-paste history tool, and pretty sure it reduced stress and memory pressure considerably. I can just go back after half an hour and see the code snippets I might else have had to remember. Creating calendar events with notifications - same thing. I just don’t have to remember most events because the phone will nag me about them, but paradoxically I now remember them easier. Also, perhaps your sleep is not restorative since your kid was born? On the one hand, as a parent you get a little alert kit installed by nature, perhaps leading to lighter sleep. On the other hand, low oxygen in the sleeping room can be a thing, with multiple people sleeping there - I have way more dream call since opening the window just a little bit (just rotating the handle without actually opening).