If programming doesn't make me happy, what does?
Instead, it turned out to be mostly connecting pieces that don't fit correctly and covering it up. It's not that it wouldn't be possible to do better, but I can't think of a way doing it without loosing too much time and therefore money. Also, the feedback loop of implementing and debugging seems to have a negative conditioning effect suggesting me a rather negative outcome of situations in general.
To overcome struggles like these I observed many programmers, myself included, obsessing with improving their programming tools and skills. Searching for and thinking of paradigms, techniques, languages, frameworks etc. that could improve the work started to become an important part of my day and from my observations, others too. This may have improved my programming skills and work quality, but it did not make me enjoy the work more.
With time I started to hate computers. Not because they don't improve my life in some aspects, but because I'm one of those that make them work. Even if its not my own software or computer, I cant help but try to figure out whats wrong with them because my work trained me to search for the problem.
That said, I'd love to do something different, but I struggle to find something else that fits me.
PS: I could go on writing about this, but I feel tl;dr is around the corner.
PPS: More than trying to solve my personal problems I was searching for like-minded people
12 comments
[ 0.22 ms ] story [ 77.1 ms ] threadI think a part of the problem is working in an interesting domain. For example, a friend who works in a financial domain never really sees the big picture, but works on a quality of service algorithm to speed up a trade.
Perhaps getting bored is a calling to see what we really love in life.
tl;dr: Try to build other stuff.
but dont let it define you.
I would suggest you two things: embrace imperfection and try, if it is not possible to completely change what you do, at least change the rewards you get from what you are doing.
I have something in mind here, become a startup founder. You will not be connecting pieces that don't fit, but creating something from scratch, the way you want. You will decide where to focus on perfect solutions, but also deciding where you wouldn't bother to have a imperfect fit covered up. Having an interest in the final outcome, in terms of business, not code.
This is the other part that may help you. If you are developing for your business, your goal is about the consequences of the system you are building, not the system itself. I don't know how serious is your aversion to working with computers right now, but maybe just a change of approach to them help you.
And you would have a LOT of work that is not related to computers, you would have to do all those "things that don't scale" and this would provide a lot of different challenges for you.
Good luck!
But let me digress. Programming is like carpentry. Being a master of your tools is important. Better tools are often the answer, e.g. a nail gun is usually faster and more accurate than a hammer and a bag of nails. But the important thing is what problem are you solving and what are you building to solve that problem. There is a difference between building a kennel for your dog or a house to live in, etc. The skill-set is pretty much the same, but the needs and solution are different.
Solving puzzles is part of the learning process. Building solutions to real problems is when you go pro. Some people will suggest scratching your itch. I would suggest look for hair on fire problems. You will find more than enough challenges and sense of accomplishment when you have solved one and ready to move onto the next.
It's like the beginning of a relationship. At the beginning everything is hot and steamy but then it levels off to an equilibrium. If you keep wanting a long term relationship to be the same as it was at the beginning, well, that's an unrealistic expectation. And unrealistic expectations just lead to disappointment. It's the same with programming. It's just not going to be the same as it was at the beginning. Some people overcome this by jumping from relationship to relationship (project to project) but at some point that may not fulfill you either and you want to invest in a long-term relationship but don't know where to go.
I've put together a course that helps address this issue for programmers and gets us thinking about our work from the inside rather than from the outside as I have dealt with the same issues. It's at https://www.programmingspiritually.com
I'm going to change the model so that it's freemium (do it for free and if you got value then pay at the end). But I don't have time till next week. If you're interested, send me an email and I'll let you know when it's available.
For me I'm frustrated because I find it harder now to work, and yet I'm more skilled. When I was a crappy programmer (and by no means I am that good now) in some ways I was better. Perhaps because it's easier to see your target when you know less. Ignorance is bliss and all that. The more you know, the more choices perhaps are there to be made - and that can lead to paralysis.
I ended up with RSI that pretty much spelt an end to using a computer for at least 12 months. I've tried to battle on through it. But at that moment I had a similar worry: what am I going to do?
I can't hate computers, as much as I can't hate TV or man. I loathe the time I loose when sitting beside a computer, I've lost many days. And just end up loathing myself. I'm also a perfectionist which doesn't help. Especially with programming, as there is no perfect way of writing a program. And there isn't that much of a tangible outcome with programming (but I guess that also depends on what you are writing) For example if I were to contribute towards say some software on the mars rover, or a life support machine - I might get an immense reward in what I'm doing compared to writing yet another load of CRUD.
I love it when I see simplicity, or apparant simplicity. Something like when your computer just works, compared to wasting hours troubleshooting when all you want to do is print out something. That's the frustration I have with programming - it seems like you do so much for so little.
One day in the garden and I make noticible change. One day on the computer, and the house is still a mess, shelves need putting up and the washing up still needs to be done. It's no wonder why we get frustrated.
Having said that, I don't know what your work is. But for me, most websites could be replaced with a one sized fits all solution. Think of all that time saved.
If all the precious hours programmers labored instead were spent putting the world to rights - we'd have a far better world! Lots of talent in my mind is being wasted. But perhaps people are just happy being occupied.