I feel like I’ve lost most of my interest in it. It’s been years since I’ve been truly excited by it and and motivated to do it, but I had been on and off the edge, losing interest for long periods of time before a random spark of motivation would bring it back, only to go out within a few months at most, and after the most recent spark, I’m not sure if I can see myself coming back to programming.
It’s a strange feeling, as this has been my “thing” for many years now, both as a hobbyist and a professional. I can’t exactly pinpoint why the situation feels different this time. Until a few weeks ago I had dozens of interesting projects lined up and had invested money into at least a couple of them. I think part of it is that I lost a sense of “magic” that once enticed me. Whereas when I was still very new to me there was a lot of software I would think about and wonder “wow this seems incredibly complicated, I wonder how it works”. When I returned to learn about it whenever. A lot of thing seemed like sorcery, and I just needed to know how it worked. Well years later, when I decided to return to those sort of things, more experienced, I would start to dig in, only feel a bit disappointed when I figured it out and it was no longer cool or interesting. That’s not to say I’m an expert or that I know how everything works and implement it all, just that I can generally get the idea and that causes the magic to evaporate. Additionally I’m beginning notice a mismatch between interest and ability in a lot of things. I find myself unable to learn and implement the things I’m interested in. While that may sound like it’s in opposition with the my first theory, it’s not really. There’s a lot of things where I have a general mid-high level idea of how they work, but couldn’t implement if you asked me to right now.
I’m probably going to focus on other interests of mine for the time being, though I’m sure I’ll never truly be divorced from programming. Additionally, I have a feeling that the problems I noted in the previous paragraphs will eventually wither away my other interests as well. I figure simply return to it in a much different and reduced manor. I’m also considering giving it up professionally, but I’ll have to see how that ends up.
I've also lost interest many times during my 25 years of coding, but now I feel excited as ever again.
One of key realizations has been that I'm more interested in people than machines (even though I feel the same fascination figuring out how something works). In the end, software is almost always for people to use. Things like programming language design easily get regarded as highly technical, but it's so much about creating abstractions for humans to create abstractions for humans.
Another one has been learning how software fits the bigger picture. In order for a company to succeed with software, things starting from vision, strategy, execution need to be in line. What I'm trying to say that it's important to notice when the development of software gets blamed for problems elsewhere. Otherwise our view of the development itself gets murkier.
Finally, learning new languages is something that's keeping it fresh for me. Making the effort to dig deeper and learn something complex I didn't know well before.
"Programming is Chaos, Art and Science. It is a curse, a blessing, and progress. It all depends on who uses programming, how they use it, and to what purpose. And code is everywhere. All around us. Easily accessible. It is enough to stretch out one’s hand. See? I’m stretching out my hand.”
That’s sad, to me, but I tend to have the author’s point of view.
I support you in whatever endeavor to which your muse directs you. Having a background in coding generally means you’re a good problem-solver, and good problem-solvers are valuable in any vocation.
In my case, I was a manager for the last 25 years of my career, and was forced to do my programming as a “nights and weekends” gig. Since leaving my last job, I have been 100% focused on programming, and I’ve never been happier.
The advent of the Swift programming language has also been serendipitous. It’s proven to be fun and engaging.
When I was younger I would systematically read all Linux man pages. I could give much more similar examples. That kind of excitement has vanished, but has been substituted with other things. I try to think longer term. What is limiting me? Is it algorithms? Is it statistics? Domain knowledge? It takes time, but the progress is there. And society is not going to reward you, because it rewards short term, the latest fad. But don't accept your limitations, plan long term.
If you can manage to stop worrying about it and move forward, then the curiosity and magic has space to grow. Worrying that the magic isn't there is not a good way to bring it back, it's not a good mindset to have anything positive arise. But "giving in" is easier said than done of course, since you want the magic back :) Once you stop wanting it, it will have a chance to return
There really is a special kind of satisfaction when you see something you wrote actually work. I remember the first time I made a sprite move around the screen with arrow keys, I probably moved that guy around for several minutes just out of pride. I'm sure we all have similar memories.
> There really is a special kind of satisfaction when you see something you wrote actually work.
I think your second sentence is actually the key here - first time. If you do something day in day out for 20 years there’s no surprise if it works.
Thankfully, there’s plenty of room in the domain of programming for someone to go from seasoned expert to absolute beginner and experience the joy all over again.
When I was a kid and learned about BASIC, I would write little snippets of code in my paper notebook. I didn’t have a computer at home at the time.
One time we were doing a math test in the computer room with Apple IIes and we were allowed to use them as our calculator. I finished the test early, so I thought, what program can I write in the five to ten minutes I have that would be neat? I ended up just making the screen fill with random characters. I was so proud to get it to work.
In high school I even wrote assembly code in the library on some loose leaf paper as I once was gripped with a really neat idea I had to express.
Honestly, my teenage years were filled with moments like these when I first learned to code.
Conversely I get the opposite. I come up with an elegant solution to a problem, but the previous dev has architect things in such a way won't work. Rinse repeat a few times until you have something that will work, but is not elegant at all.
I feel like the people going before me are the "ninja coders" I see in job ads. With all my years of experience I come up with various ways to solve a problem, but these guys are so much more effective than me in anticipating my moves and have a way to block them already.
> I remember the first time I made a sprite move around the screen with arrow keys, I probably moved that guy around for several minutes just out of pride. I'm sure we all have similar memories.
I love coding too, basically for the same reasons. There’s something about creating things from scratch, making them better, and debugging issues that can’t be matched by other hobbies. You just have more control and speed in working on things versus physical things like working on an engine.
That said, I don’t like the business of coding. Doing coding for a living strips away a lot of the joy out of it, but this is why I have side projects and why I have learned to treat the business of coding as a job first and coding second.
I think a big part of the “joy”, is pursuing your own idea of what would be cool to make. Start a side project, and not one you think would be lucrative, or that other people would be impressed by. Just something you yourself are fascinated with, even transiently.
> Doing coding for a living strips away a lot of the joy out of it
As someone with a lot of interests, I have found this to be true for every one of them. Seems like monetizing yourself is always soul sucking to some degree.
> I don’t like the business of coding. Doing coding for a living strips away a lot of the joy
This is sad but I think a lot of people have the same experience. Then again, I had a recent programming job that I really enjoyed. I think the team you're in and how they work has a huge influence on keeping the joy.
I love coding on my own projects. When it comes to work, I get so incredibly anxious about not being able to deliver a good solution. I obsess over every detail fearing I'll make the wrong choice ("this _could_ be a foreign key but should it be?" "Redis or postgres for this very crucial counter data") that most joy is completely stripped away.
I admire and envy those who can hear unclear requirements and get excited about needing to solve a problem.
Getting past the "fear of getting it wrong" is a powerful skill. Learning that it's actually easier to fix a mistake than to get something right first time is the first step to developing that skill.
I feel the same way. I love obssessing over small details. In professional programming there's no time for that, people just want results and profits as soon as possible and the technology is just the means to that end instead of something that's inherently good. I chose not to pursue a career in professional programming because of this.
Two things I find help reduce the fear of making a wrong choice (architects have this particularly bad, btw):
* Make the decision for just the next step, and try it out. The faster the feedback loop the better.
* Work as a team. The better the collaboration and support, the more effective the team. Good teams care about psychological safety and about the outcomes - there's no contradiction there.
Try to keep your code and architecture malleable (and documented) instead of optimizing everything upfront. Once you discover bottlenecks, you can actually spend time improving things.
Just this weekend I was learning about RabbitMQ and setting it up on a free Oracle Cloud VM. Writing some Python code (using the Pika library) to be able to send and receive messages.
Also getting around to learning about how to use Flask (Python web framework) and then Gunicorn. All this so I could try to figure out how to have my own webhook receiver accessible on the Internet and then get those events to end up inside my local intranet.
And reading an article here today (https://news.ycombinator.com/item?id=27100974) and realizing I could use Cloudflare's Tunnel (aka Argo) and be able to stop using the Oracle Cloud VM.
At the end of it all I was thinking, "this is cool!" :)
I too love coding but as I code complex things I get frustrated when things do not work (may be due to my lack of knowledge) or hard to understand and loose interest
I got hooked on the feeling of power and control. When you're five years old (the age I was when I started programming "seriously"), it's an age when people start expecting things of you, making demands of you, but you are in no position to do likewise to others. The computer is a machine, not a person, but it's more like a person than other machines are (which is part of why it's so mystifying). It can follow instructions, answer questions, and remember things. It can be communicated with. It is like a rather stupid genie that can only accept meticulously formulated wishes, but will carry them out faithfully to the limit of its power. So a kid like me, finally confronted with something that will do whatever he wants, can spend hours formulating wishes for the genie to construct whatever his imagination can dream up.
Interesting you were coding at 5, I have 7 and 5 year olds who are pretty good with computers, can install and learn new games by themselves but I haven't considered introducing them to programming mainly because I don't feel they can manage and also it does not seem necessary...considering I personally started coding at the age of 20 when I joined university for my computer science degree and I have been fairly successful, currently working for a US company, remotely from Africa and making more than a US average developer salary which in my city puts me at top 0.1% salary range, and with a quite positive career outlook.
That's why I don't know what to say to people who ask me why I would write my own date picker control or my own URL parser or (you might want to sit down for this) my own cryptography routines. If you don't already understand why I would want to do that, I don't have an explanation that's going to make sense.
This is why it boggles my mind schools bother teaching low level standard library operating systems coding. Not only is the likelihood of me needing to know how to implement my own scheduler, bit also dynamically allocating memory. The system is so low level that the only way you will ever do that is if you work with MS, Apple, or contribute to Linux. Which I'd wager is only a single digit percentage of programmers worldwide.
If you're lucky enough to actually write code (or preferably, solve problems) at work then you're already quite lucky.
I seem to spend all my time in meetings, preparing presentations, performing sysadmin tasks, testing things owned by other teams or external providers, looking things up for people, "resolving" tickets, communicating with other teams, chasing other teams, debugging internal infrastructure, doing code review, and being involved in a peripheral manner with more junior team members.
Apparently this is what being a "senior software engineer" is all about, and it really does suck.
My solution is to work on interesting things on the side and treat the day job for what it is: a ticket to financial independence before I'm 50. And if it all becomes too much, then the job market (for now) is at least very fluid.
> Coding at work sucks. Coding at home is great as a hobby.
Curious why you think that is. I think the difference is that coding under unreasonable deadlines (and then getting blamed when the quality produced under the unreasonable deadline is low) is what sucks.
I've found being the only developer, or in a very small team of developers, with realistic deadlines is most enjoyable. There's always the looming deadline, but being a small team means everyone is of the understanding of how timelines and coding works (as long as you are truly a close-knit team).
I love it too. However, it is one of the few things in my life that has plainly exposed the limits of my intellect and sobered my imagination. So while I love it, I always wish I was better and smarter but can at least take satisfaction from continuing to learn.
Only issue I have is that I don't talk to many people during the day. I rent an office and I just sit at work the whole day. Don't get me wrong, I love it, but I wish there was a setting in which I could network with more people. What has worked for you?
Try working somewhere that does pair programming. I work at a full-remote company that does pretty much 100% pair programming. We're constantly talking all day.
This is pretty much the best explaination why I love coding and why I would still choose this work over everything else.
The other reason is that I, when thinking about the solution, just feel home. It's just natural to me.
I loved coding for a short period of time before work stress made me hate it. I went from Developer for 4 years to Sales Engineer for the past 3. I'm now completely exhausted of joy for Sales Engineering and now want to get back into something purely technical, but not sure if my Development PTSD from my past company is done.
What can scratch a similar intellectual itch as coding that doesn't come with the same stress? Data Analysis? Technical Writing?
yea I've thought the same thing about coding being the ultimate puzzle. i think you pull your hair out way more than you would if you were solving a regular puzzle but there great part is having something that's actually useful at the end of it all, and not just having the satisfaction of solving it.
I have always enjoyed coding most when it is part of a bigger project - such as writing firmware for an electronics project or writing a script to generate G-Code for a CNC machine. Connecting code to the real world is always the most fun.
I used to like making things that are useful to other people (2), but just us people quickly switch to your shiny new thing, they quickly switch away to the next shiny new thing.
That impermanence makes me feel it was never intrinsically valuable.
I literally view coding as a skill, like a blacksmith of the past or a mid-higher level field architect. My one coworker/semi-mentor also seems to view it that way.
I'm not even that good, I just learned enough Java etc to be solid as a mid-level engineer at age 29.
It pays well, sometimes it's fun (with coffee and techno music of course). But I do what I need to do to get the job done well, and then reap the benefits of having a skill that's in demand to build what companies/society wants.
[+] [-] the_only_law|4 years ago|reply
It’s a strange feeling, as this has been my “thing” for many years now, both as a hobbyist and a professional. I can’t exactly pinpoint why the situation feels different this time. Until a few weeks ago I had dozens of interesting projects lined up and had invested money into at least a couple of them. I think part of it is that I lost a sense of “magic” that once enticed me. Whereas when I was still very new to me there was a lot of software I would think about and wonder “wow this seems incredibly complicated, I wonder how it works”. When I returned to learn about it whenever. A lot of thing seemed like sorcery, and I just needed to know how it worked. Well years later, when I decided to return to those sort of things, more experienced, I would start to dig in, only feel a bit disappointed when I figured it out and it was no longer cool or interesting. That’s not to say I’m an expert or that I know how everything works and implement it all, just that I can generally get the idea and that causes the magic to evaporate. Additionally I’m beginning notice a mismatch between interest and ability in a lot of things. I find myself unable to learn and implement the things I’m interested in. While that may sound like it’s in opposition with the my first theory, it’s not really. There’s a lot of things where I have a general mid-high level idea of how they work, but couldn’t implement if you asked me to right now.
I’m probably going to focus on other interests of mine for the time being, though I’m sure I’ll never truly be divorced from programming. Additionally, I have a feeling that the problems I noted in the previous paragraphs will eventually wither away my other interests as well. I figure simply return to it in a much different and reduced manor. I’m also considering giving it up professionally, but I’ll have to see how that ends up.
[+] [-] mattikl|4 years ago|reply
One of key realizations has been that I'm more interested in people than machines (even though I feel the same fascination figuring out how something works). In the end, software is almost always for people to use. Things like programming language design easily get regarded as highly technical, but it's so much about creating abstractions for humans to create abstractions for humans.
Another one has been learning how software fits the bigger picture. In order for a company to succeed with software, things starting from vision, strategy, execution need to be in line. What I'm trying to say that it's important to notice when the development of software gets blamed for problems elsewhere. Otherwise our view of the development itself gets murkier.
Finally, learning new languages is something that's keeping it fresh for me. Making the effort to dig deeper and learn something complex I didn't know well before.
[+] [-] BlameKaneda|4 years ago|reply
― Yennefer of Vengerberg, the software engineer
[+] [-] ChrisMarshallNY|4 years ago|reply
I support you in whatever endeavor to which your muse directs you. Having a background in coding generally means you’re a good problem-solver, and good problem-solvers are valuable in any vocation.
In my case, I was a manager for the last 25 years of my career, and was forced to do my programming as a “nights and weekends” gig. Since leaving my last job, I have been 100% focused on programming, and I’ve never been happier.
The advent of the Swift programming language has also been serendipitous. It’s proven to be fun and engaging.
My first computer was also a VIC-20.
[+] [-] linspace|4 years ago|reply
[+] [-] joeberon|4 years ago|reply
If you can manage to stop worrying about it and move forward, then the curiosity and magic has space to grow. Worrying that the magic isn't there is not a good way to bring it back, it's not a good mindset to have anything positive arise. But "giving in" is easier said than done of course, since you want the magic back :) Once you stop wanting it, it will have a chance to return
[+] [-] jack-bodine|4 years ago|reply
[+] [-] sombremesa|4 years ago|reply
I think your second sentence is actually the key here - first time. If you do something day in day out for 20 years there’s no surprise if it works.
Thankfully, there’s plenty of room in the domain of programming for someone to go from seasoned expert to absolute beginner and experience the joy all over again.
[+] [-] Flex247A|4 years ago|reply
Recently I made a small music player and till now I have played several songs on it just because the software is programmed by me!
[+] [-] allenu|4 years ago|reply
One time we were doing a math test in the computer room with Apple IIes and we were allowed to use them as our calculator. I finished the test early, so I thought, what program can I write in the five to ten minutes I have that would be neat? I ended up just making the screen fill with random characters. I was so proud to get it to work.
In high school I even wrote assembly code in the library on some loose leaf paper as I once was gripped with a really neat idea I had to express.
Honestly, my teenage years were filled with moments like these when I first learned to code.
[+] [-] collyw|4 years ago|reply
I feel like the people going before me are the "ninja coders" I see in job ads. With all my years of experience I come up with various ways to solve a problem, but these guys are so much more effective than me in anticipating my moves and have a way to block them already.
[+] [-] spideymans|4 years ago|reply
Memories? I still do that to this day :)
[+] [-] vsareto|4 years ago|reply
[+] [-] allenu|4 years ago|reply
That said, I don’t like the business of coding. Doing coding for a living strips away a lot of the joy out of it, but this is why I have side projects and why I have learned to treat the business of coding as a job first and coding second.
[+] [-] spfzero|4 years ago|reply
[+] [-] basq|4 years ago|reply
As someone with a lot of interests, I have found this to be true for every one of them. Seems like monetizing yourself is always soul sucking to some degree.
[+] [-] garethrowlands|4 years ago|reply
This is sad but I think a lot of people have the same experience. Then again, I had a recent programming job that I really enjoyed. I think the team you're in and how they work has a huge influence on keeping the joy.
[+] [-] yeswecatan|4 years ago|reply
I admire and envy those who can hear unclear requirements and get excited about needing to solve a problem.
[+] [-] onion2k|4 years ago|reply
[+] [-] matheusmoreira|4 years ago|reply
[+] [-] garethrowlands|4 years ago|reply
* Make the decision for just the next step, and try it out. The faster the feedback loop the better. * Work as a team. The better the collaboration and support, the more effective the team. Good teams care about psychological safety and about the outcomes - there's no contradiction there.
[+] [-] vaylian|4 years ago|reply
[+] [-] knuthsat|4 years ago|reply
[+] [-] graton|4 years ago|reply
Just this weekend I was learning about RabbitMQ and setting it up on a free Oracle Cloud VM. Writing some Python code (using the Pika library) to be able to send and receive messages.
Also getting around to learning about how to use Flask (Python web framework) and then Gunicorn. All this so I could try to figure out how to have my own webhook receiver accessible on the Internet and then get those events to end up inside my local intranet.
And reading an article here today (https://news.ycombinator.com/item?id=27100974) and realizing I could use Cloudflare's Tunnel (aka Argo) and be able to stop using the Oracle Cloud VM.
At the end of it all I was thinking, "this is cool!" :)
[+] [-] technological|4 years ago|reply
[+] [-] bitwize|4 years ago|reply
[+] [-] enw|4 years ago|reply
I know this is HN, but I have a hard time believing this. Somehow feels like nostalgic self-congratulatory boasting.
Honestly curious, what does it mean for a 5-year-old to be programming seriously?
[+] [-] cymon|4 years ago|reply
[+] [-] commandlinefan|4 years ago|reply
[+] [-] MeinBlutIstBlau|4 years ago|reply
[+] [-] megamix|4 years ago|reply
[+] [-] nly|4 years ago|reply
I seem to spend all my time in meetings, preparing presentations, performing sysadmin tasks, testing things owned by other teams or external providers, looking things up for people, "resolving" tickets, communicating with other teams, chasing other teams, debugging internal infrastructure, doing code review, and being involved in a peripheral manner with more junior team members.
Apparently this is what being a "senior software engineer" is all about, and it really does suck.
My solution is to work on interesting things on the side and treat the day job for what it is: a ticket to financial independence before I'm 50. And if it all becomes too much, then the job market (for now) is at least very fluid.
[+] [-] commandlinefan|4 years ago|reply
Curious why you think that is. I think the difference is that coding under unreasonable deadlines (and then getting blamed when the quality produced under the unreasonable deadline is low) is what sucks.
[+] [-] progmetaldev|4 years ago|reply
[+] [-] wildmanx|4 years ago|reply
[+] [-] hyperpallium2|4 years ago|reply
[+] [-] replwoacause|4 years ago|reply
[+] [-] alexf95|4 years ago|reply
[+] [-] bitcoin01|4 years ago|reply
Only issue I have is that I don't talk to many people during the day. I rent an office and I just sit at work the whole day. Don't get me wrong, I love it, but I wish there was a setting in which I could network with more people. What has worked for you?
[+] [-] et1337|4 years ago|reply
[+] [-] unknown|4 years ago|reply
[deleted]
[+] [-] SeriousM|4 years ago|reply
[+] [-] Murgen_90|4 years ago|reply
What can scratch a similar intellectual itch as coding that doesn't come with the same stress? Data Analysis? Technical Writing?
[+] [-] mackrevinack|4 years ago|reply
[+] [-] jrm4|4 years ago|reply
[+] [-] roland35|4 years ago|reply
[+] [-] hyperpallium2|4 years ago|reply
That impermanence makes me feel it was never intrinsically valuable.
[+] [-] valenterry|4 years ago|reply
Sometimes it is enough to change perspective and learn a new way of doing things to enjoy old stuff once again.
[+] [-] randomopining|4 years ago|reply
I'm not even that good, I just learned enough Java etc to be solid as a mid-level engineer at age 29.
It pays well, sometimes it's fun (with coffee and techno music of course). But I do what I need to do to get the job done well, and then reap the benefits of having a skill that's in demand to build what companies/society wants.
[+] [-] thelastinuit|4 years ago|reply