I used to love software/programming but it's getting boring now. It seems so clear to me that so much futile effort is being put into building yet another language, yet another editor, yet another UI rework, yet another infrastructure rework. And for what, just because people would have something to show for. Seems the number of people trying to come up with futile things for the sake of popularity has outnumbered the ones who try to do real work.<p>The hate for one language as if other languages are elite. Trying to use all the features of a language and thinking a one liner is cool even when a five liner and a one liner is same when compiled into machine code. Too much jargon, falsely claimed software engineering practices and overly zealous object oriented mentality (Seems people try to use Object Oriented for everything, they call it the best, even better than simplicity in many cases.)<p>Quite frankly many years of self hacking/studying and experience in industry, I think I've just had it with software industry. Does it get any better ? Am I seeing things correctly ? Is this a burnout ?
Try diving deeper into real CS, there is the entire world of things that can revive your passion. If you mainly were focused on building CRUD apps and websites it's not surprising to get bored and burned out. Get out of your typical routines and try finding challenging stuff to do. Some ideas:<p>* Figure out how to write AI for games. A simple example would be, how to write a bot that finds shortest path out of labyrinth.<p>* Check out graphics programming<p>* Try to see if low-level programming is for you: kernel level, GPU, OS<p>* Check out infosec industry, there should be a lot of fun there: malware analysis, penetration testing, etc<p>* Machine Learning: tons of coolest stuff. predicting, classifying, reinforcement learning, neural networks. Check out Kaggle machine learning competitions.<p>* Checkout competitive programming sites. My personal favorite is hackerrank.com, but other popular ones are topcoder.com, codechef.com, codeforces.com. Try doing challenges for a couple of weeks you may find that you learnt as much as you previously learned in a year. Also through it you may get interested in particular algorithms and fields.<p>* Distributed programming, system engineering. How to build systems at scale? How to process tons of data in parallel.<p>If you don't seek for the new challenging things to do that could improve you, then you will find boredom and burn out in any field.
I was there some years ago. I realized that the root cause of the problem was focusing on the wrong things (at least they were wrong for me).<p>Tools are just that - they are tools. Granted, there are many of them, new and shining, coming in all packages, but that gets tiresome after you've spent a substantial period of time with them. They are all essentially the same and sooner or later you lose interest in them.<p>What never gets boring is using tools to create things that affect people's lives. And I gather from your message that you've missed that joy.<p>My advice is simple. Think of some thing that would be helpful to (non-technical) end users. Come up with some kind of service that would solve even a small problem for them. Then see your eyes light up as people are adopting your offering and giving you their thanks.<p>In short, your work must have a meaning. You should know that somehow what you do improves the world we live in, even if in a small and seemingly insignificant way. For as long as you're just finishing tasks prepared by somebody else for somebody else's meaningless projects, you're not going to be happy. As with all creative professions, in programming too you have to take matter in your own hands.<p>You've just realized (subconsciously) that your work has been meaningless. You basically need to find your path. What you could do:<p>- Forget about the tools, just pick up something you're comfortable with and create something useful for people<p>- Change jobs until you find a project you can personally identify with and where you'll see you work affecting the outside world in a tangible way<p>- Change profession or role to the one where your need for meaning will be satisfied<p>That's hard I know. I wish it weren't but it's just the way things are in life.
It sounds a lot like burnout, that happens when you've worked really hard to achieve something which, after achieving it, you come to realize wasn't all that important to you personally. It can really take a toll on you mentally.<p>It can also be something of an intra-life crisis. For some reason 34 hit me really hard. I think part of it was that suddenly I knew that there was some things that I had considered "something I'll do some day" were probably off that list, permanently. Like a friend of mine who realized he wasn't going to ever be one of the world's top jazz musicians. (for me it was being an astronaut) And the realization that this is "all" there is, you live, you experience life, and you die. There is no "win" there is only great times and not so great times. All of that came down pretty hard on me in my 30's.<p>My coping mechanism is finding something new to learn, but that certainly doesn't work for everyone.
So you've stopped drinking the Kool-Aide ?<p>I totally agree with you. Technology for the sake of playing with technology gets stale after a while.<p>The software industry loves re-inventing things and attaching new labels. You are absolutely correct that regardless of what language/paradigm/methodology you use eventually every program results in machine level instructions being executed. In some cases less efficiently than in other cases. It's not about the program, it's about the problem being solved.<p>Only you can decide, based upon the other comments and preferably after competent medical advice, whether your situation is a case or burn-out, depression, mid-life crisis, etc.<p>Assuming that it is none of the above, then you might want to consider finding a "real world problem" and using your knowledge and expertise to create a solution for it. If you can't find any worthwhile problems (yet) then go travelling! It will open your eyes to a massive, colourful, complex REAL world out there with its myriad problems. Sooner or later you'll find something you care about enough to want to solve.
You've not burned out, you've matured as a programmer. You can see all the crap for what it is so now try and make a difference...<p>Champion the cause of code that's legible - and that doesn't mean covering it in syntactic sugar. Legible code makes it <i>damn</i> <i>obvious</i> what it does and how it does it. Sometime find the "power take off" for a tractor ... that's what you're trying to do.<p>You can also champion the cause of not fixing that which is broken. There is also fun to be had demonstrating the technical debt is real debt and it does need to be paid back.<p>Much fun introducing peer review, too.<p>Get yourself, your team or whatever to sit next to your damn customer. Have them look at what you're doing at least once a day so they can say "oh, no, not like that" before it turns into a $100k fuckup.<p>So, yeah, you've just got through to the next level. It's not the software that's the challenge, it's the people.
I'm there. I decided one day that it's just a job and found what I really wanted to do.<p>So I'm reading maths and physics now. The joy in my life is actually from taking things to pieces and seeing how they work and there is plenty of that there.<p>For more of being with you, my company drank the microservices kool aid. Rather than concentrate on building a quality product we've got buzzword soaked boiled shit that doesn't work properly. There's nothing wrong with microservices in principle but they lack the talent and experience to pull it off. So there I am, a doomsayer, a figurehead on a ship of fools.<p>Edit: Just to add, I work for liars and a personality cult and that is the root cause. Why don't I leave? Money is amazing and that gives me the freedom I need.
Software is just a tool. A crescent wrench is just a tool. A paintbrush is just a tool.<p>Don't fall in love with a tool, fall in love with using the tool to make the world a better place. If you are not making the world better, then you are missing the whole point.
I got to the same point a few years back.. so I quit my job, sold all my stuff and drove a $6000 Jeep Wrangler from Alaska to Argentina for 2 years. [1]<p>I've just been back at a desk for 4 years, but am again burnt out so now I quit again, and I'm driving around Africa for 2 years starting in a couple of months.<p>Get out and live, I say!<p>[1] theroadchoseme.com
Invest in Real Estate. Period. I've made million$ in Silicon Valley property. I bought a bank-owned, decrepit 9-unit apartment building just 2 years out of college. Making huge monthly deposits into savings/brokerage account is exciting stuff.<p>Reason I mention this -- RE save my arse when I reached your level. Easily replaced the coding income, even though I was consulting in my last few years for $120 to $400 per hour.<p>I have friends who could not get hired in their 40s. At that time, I had not had a regular job in software for 10 years. I'm now 20 years past my final full time job and just making tons of money in Real Estate. Unlike coding tools, the tools you develop to purchase and manage properties <i>does not get rotten</i> like vegetables at Safeway.<p>Let's face it. We're some of the smartest folks on the planet. Do you <i>Really</i> think any of us can find intellectual stimulation after many years of doing the same thing? Very few of us can.<p>Do something different. RE is different and will replace your income.
You're ripe for Lisp!<p><a href="http://cliki.net/Getting+Started" rel="nofollow">http://cliki.net/Getting+Started</a>
<a href="http://www.gigamonkeys.com/book/" rel="nofollow">http://www.gigamonkeys.com/book/</a>
<a href="http://mitpress.mit.edu/sicp/full-text/book/book.html" rel="nofollow">http://mitpress.mit.edu/sicp/full-text/book/book.html</a><p>And no, it's not yet another language, it's that feeling you have had all
your life. That feeling that something was wrong with the world. You don't know what it is but it's there, like a splinter in your mind, driving you mad, driving you to me.
Have you considered taking a break? I did 3 years of menial work after graduating from a good university, got really bored, and now I'm going from central Europe to Mongolia on a motorbike. It's an absolutely refreshing change. I'm not sure how long the euphoria will last after getting back though.
<a href="http://www.silkroadmadness.blogspot.com/" rel="nofollow">http://www.silkroadmadness.blogspot.com/</a>
I am not in your situation, younger than you. HNers already advised you with lots of technical things to do in next days/month, my advise would be (if you dont have) get married and have a child, you will be amazed how little child can make you relax after stressed workday.<p>What you get:<p>* Family who is waiting for you at home<p>* Happy weekends<p>* Rest, visiting places with them and take a rest<p>and lots of other things, also visit your parents, make them happy, remember about old days and be with them<p>P.S: I am not native speaker, probably made lots of mistakes and my text sounds like robotic, sorry
Assuming you have some money saved up, go on amazon, buy some books, anything you really like that isn't tech; philosophy, history, literature, music theory, whatever makes you tick. Find a job far away (figuratively) from a computer screen. Manual labor, crewing on someone's yacht, working at a ranch, being a ski instructor, (preferably not something like fast food). But take some time off. Write code for what you want to write code for. Sounds like you could put your head up from under the surface of the tech industry and get a breath of fresh air, this field can be an echo chamber and its easy to start drowning in it. It sounds like you see the forest for the trees and a break could give you some time to reflect on that.
Is sounds like you need some more diversity in your life. Doing nothing but programming can often lead you down the path of thinking that's all there is to life, which is extremely far from the truth. It's essential to take up hobbies that have absolutely nothing to do with programming so that you can start seeing things from a different perspective. Trust the process as this is a problem that I see time and time again. Getting into deeper subjects about programming is not the solution, especially if you're not seeking this out naturally. The solution is to step outside of your comfort zone right now.
The language war it probably will always be, its just like soccer teams (or any sport)<p>A couple of years ago I've read about Lisp, and I started picking on it. At first I didn't get whats the point, already knowing Java and C.
But months later, I got a course in which we used Haskell. And then functional programming started to make more sense.<p>Recently I got interested in Lambda Calculus, which is in the same branch of functional programming. And for me its amazing, seeing this different languages. And also making contrast with imperative or OO programming. Cause they are different way of expressing, each with its own advantages/disadvantages.<p>And there's also prolog, which I plan to pick up next...<p>So my point is, I personally like to learn about other languages. I have colleague friends who told me, "But why Haskell, what is it for?, I can do it in Python" "You can't do real-world applications with that", things like that. And for me, it's about learning, it's not only "what is popular" or "what will get you a job".
It goes beyond that.
I experienced this, to some degree, a few years ago; I was mid-thirties at the time. I bought a motorhome and started driving. I traveled for about four years; my business and my income suffered for it, but my mental health improved. I started another non-tech company, a worker-owned cooperative, and mostly failed at it (it never made much money, but I had fun, helped make some really cool stuff happen in my community, and learned some things).<p>Somewhere along the way I started to regain some of my joy in technology (mostly I realized how much magic I have at my disposal compared to most people who can't program, can't build/deploy/administer servers, etc.), and have begun several new projects and begun to refocus on my primary project/business in a manner I haven't been able to do for a while. I moved into a regular house a year ago, but decided I didn't like it, so two days ago I bought an old Avion travel trailer (one of the shiny silver classic kind) and will be moving the rest of my stuff into it tomorrow.<p>I'll be hitting the road again...but, will do so in a way that enables me to be connected to tech more deeply, rather than almost completely disconnected. I'll spend some time in Silicon Valley, will catch several relevant Open Source conferences, etc.<p>I'm not telling you to buy an RV and travel from Alaska to southern Mexico for four years. But, it worked for me. Maybe a major change really is what you need. If you've been reasonably successful with your tech work, you probably have some flexibility in what you do, at least for a little while. Make use of it. I wound up quite broke in the process of all this, so maybe don't go as far off the reservation as I did; that may be part of my impetus for getting back into tech with such gusto...money comes so much more easily for tech work than any other work I've ever done (maybe partially because I'm so much better at it than any other work I've ever done).
It could be that you are a little depressive. With a depression everything looks gray and tastless, useless and hopeless. While there can be many cause for depression, alcool is known to worsen it, as lack of sleep. Beware of that. Burnout is also a kind of depression. You may need to step back and rest.<p>This said, you are right on most points. Most people want to contribute in changing this world, make it a better place, etc. You apparently lost the meaning of it. There is alot of noise, new things, but what for ?<p>My feeling is that if there are people who like creating new things, we also need people calling back to simplicity. And I also think that simplicity trumps all in the end. Your perception of the ambient noise and how the things can be made simpler is a gift. You could find a meaning for your contribution to software/programming in this.
It sounds like whatever you've been doing, wherever you've been doing it, has focused on software for itself, and on building so much of the useless and short lived things that come out of SV and similar places.<p>Software, computer science, can be your ticket into whatever industry you want, whatever interests you, because it all needs software.<p>So think about what's interesting to you in the world. Aircraft? Aerospace? Trains? Medicine? Medical devices? Business? Movie making? Publishing? Oppressive scheduling algorithms managing on call jobs in the legal slavery known as retail? Shipping logistics? Law enforcement? Surveillance? Human rights? Gambling?<p>Man, the world is infinite for all intents and purposes, and you get to participate in any part of it you want. Raise your head up from your tools a bit and look around.
>Quite frankly many years of self hacking/studying and experience in industry, I think I've just had it with software industry. Does it get any better ? Am I seeing things correctly ? Is this a burnout ?<p>You need to realize that what you think is not the source of your feelings, even though it seems like it.<p>It's actually the other way around. What you feel dictates what you think about the stuff you have contact with in life.<p>If you are sad, you start thinking hopeless thoughts about what you do, about who you interact with. Those thought seem objective and you are led to believe that they are source of your feeling because they deepen it.<p>But that's not the case. The source of all this downward spiral is the feelings.<p>To get out you need to do things that are counter-intuitive to you. Stop reading. Don't drink alcohol. Cut off the things you were doing to comfort yourself. They are not working. Force yourself to find new ones. Meet new people that are passionate about the things you have no idea about, listen to them, go outside into the woods and be bored. Run. Take many hour walks preferably around some trees. Basically do all the physical stuff that was found to reduce depression. If you have a partner, interact with her, listen, agree, do things together, don't worry you are bored and faking it, just perform well. When you make her feel better she will make you feel better a little bit.<p>Realizing helps, that actual content of your thoughts is virtual because it's induced by the way you feel. If you felt better you would think completely different thoughts about same things.
I went through the same disillusionment. My solution was go from the routine of learning of 20th programming language or mastering 100th API back to fundamentals computer science. Go deeper and explore beautiful mathematical concepts behind programming. Refresh your lambda calculus, read about type theory, explore issues related computational complexity, study how people model parallel computations, dig into correctness proofs, etc.
Hmmmm. That simply tells me you (a) don't know enough or havent learned enough or (b) have been stuck in or focusing on what I call the "will write software for clicks" world.<p>I don't mean this as a put-down at all. Any time I hear so ething like that it usually means the person saying it has been wearing blinders for a long time and has no clue what else is out there.<p>How about this: Go figure out how to make a machine really think. You could devote a lifetime to that alone. Then, if you succeed, figure out how to use it to help doctors and researchers diagnose patients and/or find cures for diseases.<p>One thing that really re-ignited my love for technology (not that I lost it) was to become a mentor for our local FIRST FRC team. Experiencing the discovery, passion and excitement of technology through the eyes of a bunch of smart kids eager to learn is really neat.
I definitely see your point of view regarding all the efforts in the community to make the next shiny thing. It's very prevalent on the front page of HN all the time. I can't tell if it's representative of the culture as a whole or just those who are frequent posters of HN.<p>In any case, I think that you'd have a lot in common with David Heinemeier Hansson. You can see in this video <a href="https://www.youtube.com/watch?v=lBfVxBj61z0" rel="nofollow">https://www.youtube.com/watch?v=lBfVxBj61z0</a> and a lot of his blogs that he approaches things in a much more realistic down to earth manner than many other engineers out there. I think that if that's what you want, then it's all a matter of finding the right company that thinks the same way about using technology to solve real problems.
How about switching your focus from tech to business? There is a great talk [1] by Jason Cohen, that might inspire you to find joy in looking at the craft from a different angle. Otherwise, in "Start Small Stay Small" [2] Rob Wailing addresses your exact issue in one of the first chapters - after a while you start "topping out" and moving from tech to tech feels like rehashing. That's one of the reasons he lists for making the switch from dev to entrepreneur. Maybe give it a read.<p>[1] <a href="https://vimeo.com/74338272" rel="nofollow">https://vimeo.com/74338272</a><p>[2] <a href="http://www.amazon.de/Start-Small-Stay-Developers-Launching/dp/0615373968" rel="nofollow">http://www.amazon.de/Start-Small-Stay-Developers-Launching/d...</a>
I completely relate. I see the whole programming scene today as a cynic. My first computer was a Commodore, but I wish I'd been a programmer in the 80s rather than a kid. At least back then it wasn't cool.<p>The software industry is very trendy and it's amazing how people can be smart enough to program but don't care about simplicity, it's almost as if being smart-enough leads to boredom which leads to technical churn. Which is why there's so little technical innovation.<p>The worst kind are those who think technical innovation moves at a fast pace because of their startup's efforts, rather than the glacial pace it does in reality.
Good, you know software so much you are bored with it. Now is a good time to use your knowledge to create a product.
Programming for the sake of programming is always gonna lead to boredom. Make a product that generates money.
I started to feel like this when I got to my 30s, especially when moving to San Francisco, where these issues you mention are much more pervasive than other places I used to live.<p>There were two things that helped me clear my head a bit - going to the gym and focusing on my well-being (a.k.a. actually going to a gym 3-4 times a week) and learning something outside of computers (in my case, learning the Japanese language). I think just focusing for a bit on something more than computers can help you take a step back and gain some of that lost energy back, at least it did for me.
Study the history and biographies of science, if you want to escape being an industrial cliche. Many have forged their own paths throughout history and now is no exception. Naming the cliches is a good start.
I feel exactly the same way, so I'm trying to start my own businesses now. Even though they're software-based, my main struggles are on the non-software parts of the business (validating products, determining market fit, advertising, logistics, etc.). The software part just kind of happens without effort in comparison. I just use whatever tool makes the most sense for the job. I don't see the point of proselytizing for any particular technology anymore. I also moved to Asia to get a change of scenery.
I feel exactly the same way, and yet I don't feel the same way. I've been programming since I was 12. Professionally for about 16 years. I'm 37.<p>Life is bigger than your job or your immediate interests. Take a break. Travel. Challenge yourself. Break out of the circle that you don't like and find something else, even if it's just for a short while. That's what I usually do. At the very least you'll find something else to rant about, and maybe eventually realize that things could be much worse.
<i>"Trying to use all the features of a language and thinking a one liner is cool even when a five liner and a one liner is same when compiled into machine code"</i><p>Thing is, it's pretty easy to code for a machine. It's REALLY hard to program in a way that other developers can understand you. And, like in literature, using less words to describe something is more often better for the reader.<p><i>"Too much jargon, falsely claimed software engineering practices and overly zealous object oriented mentality"</i><p>I used to hate all the jargon too but then I realizes it gives programmers a vocabulary to discuss things. When everyone understands the jargon, it makes discussing complex solutions a lot easier.
OO can definitely be overused, but honestly 99% of the problems I face are people just writing unmaintainable, procedural code. You're right though, OO can often be less simple (harder to read all at once) but that's the trade off we devs need to balance when writing code.<p>I don't want to sound condescending but is it possible you are making excuses for learning hard things. Maybe it's the people you work with who are pushing it down your throat the wrong way. Maybe you already know these hard things but just haven't had to use it so you're giving up on the ideas. Or maybe I'm still in the cynical phase of my life.
You almost say it yourself: do something else instead of programming. Maybe you'll want to come back later, maybe not, either way you come out ahead of where you are today.
The world of developers can seem like an echo chamber. But if your goal is to improve the real world, development is just a means to an end. Can you use your tools to help people who dont care about code at all? Does that perspective help?<p>There are also very different paradigms which I find renew my interest. erlang, rlang, golang... you may have to dig to find what keeps you interested.<p>It sounds like you need something new, something refreshing. Maybe take a break from your existing approaches?
Why do you care what is going on in the industry? Why don't you focus on you, and enjoy software development on a personal level? I personally don't think you are seeing things correctly.<p>Learn what you want to, work on what you want to. Tackle the difficult problems. We still have very difficult problems in this industry. I suspect you are not challenging yourself enough and that's why you are getting bored.
I was in the same boat recently and this is what helped for me. I quit my job, and took a few years off. I have to admit, I was really burned out. Took as much time as I needed to rest, take walks, talk to people, and in general just change the perspective.
Just like you, I had this huge dilemma. While programming was my biggest passion, I was sick of all the bitching and BS that revolved around it.
After taking the rest I needed, I started learning new technologies. Without preconceptions. Just like I used to do when I first started coding. So far it keeps the flame burning. I am working again, and I am happy doing it.
I am aware that one day I will get bored of it again, and I will repeat the process.
I think the more you dwell in a technology, the more knowledge you get, the deeper down the rabbit hole you go. And the darker things get.<p>Take a break. Learn something new, and apply the cross technology knowledge you acquire to new fresh projects. Always keep an open mind, and by all means avoid pointless topics that try to establish the best language, the best IDE and so on.
I'll ignore the psychological aspects you can be facing (you certainly shouldn't!) as others wrote good comments on them, I'm trying to address the professional topics you've touched ("just because people would have something to show for" and "falsely claimed software engineering practices"):<p>Fred Brooks, managed the development of IBM's System/360 and the OS/360 in sixties. He also thought deeply about the false claims in the field many years ago.<p>"No Silver Bullet — Essence and Accidents of Software Engineering" 1986:<p><a href="https://en.wikipedia.org/wiki/No_Silver_Bullet" rel="nofollow">https://en.wikipedia.org/wiki/No_Silver_Bullet</a><p>For one 2014 take of that, see: Kenneth M. Anderson, 2014. No Silver Bullet. CSCI 5828: Foundations of Software Engineering. Lecture 02 — 08/28/2014:<p><a href="http://www.cs.colorado.edu/~kena/classes/5828/s12/lectures/02-nosilverbullet.pdf" rel="nofollow">http://www.cs.colorado.edu/~kena/classes/5828/s12/lectures/0...</a>
I realized this the moment I started interviewing for engineering positions, after doing game design for some time. I decided I would go back to design from whence I came - albeit now I've expanded from game design to include UX. That recontextualized my programming skills as execution on a design idea - instead of as engineering towards optimal code quality. I get to stay near the top of the stack and not worry _too_ much about how broken it all is, because I'm not going to try building my career around that.<p>There will always be folks eager to be employed as cogs or who try to attain "thought leader" status. That's not really a judgment on those people, since maybe their personality or situation makes it a good fit. But if it's bothering you that you can't go farther from within this lens, find a slightly different one.
I've fixed this several times by going camping alone for a week with nothing to read, no devices, no pencil and paper. Just me, a tent, food and coffee. I come back full of ideas. Stuff I've been stuck on for a year becomes easy. Motivation returns.<p>I rarely "have time" to do it ... but somehow I always have time to work in circles for weeks or months and not get much done.<p>A common answer here is "learn something new" and that works for me at first. When "learn something new" isn't enough, I bring out the big guns and go camping. I haven't isolated what about camping does it for me. (I believe Danny Hillis, the founder of Thinking Machines wrote that he would never have finished his dissertation if he hadn't written the first draft at Disney World. Not my kind of thing but I guess it worked for him.)<p>Good luck!
I was exactly where you were. I felt I was solving problems that look almost trivial to me. Of course there are lots of hard distributed computing problems at the scale that Facebook and Google operate but not anyone is to work on them.<p>I found scientific programming: i.e. using Machine Learning and related disciplines to solve hard AI problems. I can guarantee you might get frustrated by lack of success and hardship of challenges but never ever bored.<p>In case you are interested, this is my blog post when I got inspired by this:
<a href="http://byterot.blogspot.co.uk/2015/01/future-of-programming-rise-of-the-scientific-developer-bigdata-datascience-machine-learning-and-fall-of-the-craftsman.html" rel="nofollow">http://byterot.blogspot.co.uk/2015/01/future-of-programming-...</a>
Thanks to HN I discovered the homepage of Derek Sivers [1] and the book "So Good They Can't Ignore You" by Cal Newport [2].<p>He sais that a great job has to offer you great creativity, impact, and control over what you do and how you do it. IMHO this is why so many people are mesmerised by startups. Anyhow, if you miss one or more of these three traits in your current job than you have to find an other one which fits better to you.<p>Read the book! I hope it will help you as much as it helped me!<p>[1] <a href="https://sivers.org" rel="nofollow">https://sivers.org</a>
[2] <a href="https://sivers.org/book/SoGood" rel="nofollow">https://sivers.org/book/SoGood</a>
I would recommend joining an enterprise startup that is solving a problem for an industry you find interesting. Make sure the startup's customers are leaders in their particular industry.<p>When working for such a startup; the primary focus will be solving your customer's problems. You should work one on one with your first couple of customers. Doing so will be very challenging and if things go well very rewarding both intellectually and fiscally.<p>Issues of programming languages, editors, infrastructure frameworks will be secondary. But as the company grows, the technical challenges of scaling, reliability, managing teams, feature growth, etc. with will need to be met.
Its interesting reading all the comments here, and think most of it misses the OP`s point. That software development as a <i>JOB</i> means working coherently with other people / teams. The result: you need to be complicit to work effectively within that team/companies imaginary tower/religion. Otherwise you`ll loose your job or become "that" PITA engineer.<p>What`s worked well for myself is starting a small niche tech business. We`re small and focused on resolving customer problems. Not bickering over class hierarchy, design rules or other crap thats irrelevant to building products that customers really enjoy.
What you're describing sounds like too much focus on the What instead of the Why.<p>WHY are you building software? Start with answering that question. Then, do a bit of soul-searching; figure out what truly feels meaningful for you. That's something no one can answer but you. Then go and do it.<p>If you can't come up with an immediate answer, then start trying different things.<p>Building a bridge isn't enough. Connecting two communities over an otherwise impassable chasm is.
If it's any consolation, I am the same age that you are (approximately), feel similarly, got laid off on Monday, and am looking at a "tabular rasa" (blank slate) for what to do next. Happy to chat with you if you like. I don't have an answer but I'm searching!<p>I was working for an org that turned out to be all about the technology and not enough about solving real known problems.
Is there still anything you'd like to see built?<p>I mean, if you were on a desert island, would you even <i>want</i> a computer? What would you do with it?
Reminds me of that "the more you stray from the path, the closer you get to Zen" thing.<p>I stopped thinking of software technology in terms of technologies, but rather tried to think it as a means to help other people. I might be bored by technologies in its own sake, but I'm never bored with the idea of helping others.
Sounds like you've recognized some pitfalls inherent in the culture.<p>I think the good thing is, <i>you</i> don't need to be defined by this. There are a lot of people out there who prize solid planning and skill above gee wiz buzzwords. Find some of these people and work with them. Or if not, start your own gig and grow it.
You're probably a bit burned out. Check out this though. It <i>might</i> give a glimmer of hope and looks like a nice hobby/research/interest side project whatever.<p><a href="https://www.youtube.com/watch?v=jN9L7TpMxeA" rel="nofollow">https://www.youtube.com/watch?v=jN9L7TpMxeA</a>
I studied civil engineering in college, worked in the field for six years, and got my PE.<p>It bored me. I slowly studied programming and left the civil field for software. I now make as much designing for the web as I did designing bridges.<p>Life is not a predefined trajectory. It is chaos. Roll where your heart leads ya.
Normally human gets bored when he does repetitive work,
and innovation come from chaos, when you make change in few parameters of the current system.
I feel you should try something new, you can start a startup in your favourite domain, go and visit new places and meet people.
Technology isn't an end, just a mean to accomplish some things. If you focus your life on tech because that's where the money is, it should be no surprise that it's boring you. Find something you really want in life, maybe it has nothing to do with tech.
Do something else for a while and take a good look around you while doing so. What do you see? Things only got worse. Life elsewhere is even more prone to bullshit. There is only one notable difference. Most of them do not even seem to make money! Go figure ...
First, go travel and clear your mind.
After try to do something that actually help someone, actually make a difference and make you feel better. Either its programming or gardening, follow your love and get away from the crazy race.
You need to have a hobby that has nothing to do with the software industry, make you sweat and go outside. Mountain biking, hiking, running, backpacking are some examples I can think of. You'll also get healthier.
Take a break. 6 Months, a year, however long. In that time do physical work, don't work with your head. Look back at the end of your break and decide what you want to do. For perspective you need distance.
I would try making a small startup on the side. You can learn design, marketing, devops, sales, etc just from a small endeavor. It is a nice change of pace from always banging on a keyboard.
Van Gogh took up painting at 27, and people live longer now. Go do something else. The world will be better off with one fewer person working to eliminate inefficiencies.
Man I can't get enough: Machine Learning, bioinformatics, algorithmic trading, database design, GPU programming, 3D modeling/printing.
Wish I had more time
You've presented numerous topics to consider, many deserving of discussion beyond what this thread can supply. If you don't mind, I'll try and give some guidance/advice on the aspects I can.<p>Recognizing "the churn" so often present in our industry is a major milestone in maturation as a person delivering solutions to problems via creating software. The rush many initially experience when exposed to the fact that their thoughts can be reified as programs which dutifully encode their wishes is quite intoxicating. Key here is "initially."<p>Progression from "I can make a computer do what I want" to "I can make my favourite environment do what <i>other</i> environments do" is a short leap indeed. Herein begins "the churn." Specifically, I mean that problems previously solved in other environments present themselves as an opportunity to be transcoded into (insert environment here). It is far easier to dissect an existing solution and produce an equivalent in another language than it is to tackle something new.<p>With this background established, let's discuss some of the specific points you have broached.<p>> I used to love software/programming but it's getting boring now.<p>A lot of responses have said you might be burnt out. I do not belive this is the case based on what you have written and the title of this thread. Instead, perhaps the fact you are "bored with life and software industry" is because the passion you have for what you love to do has been muted (more on that in just a moment and not the same as burnout).<p>> It seems so clear to me that so much futile effort is being put into building yet another language, yet another editor, yet another UI rework, yet another infrastructure rework. And for what, just because people would have something to show for.<p>This is experiencing enlightenment. When this sort of epiphany happens, seeing efforts addressing the same things over and over again becomes obvious (as you state). And once our eyes are open, we cannot close them again. Given a situation where a person has experienced this type of growth, yet may not feel they are in a position to progress with it, some combination of boredom/frustration/dejection/futility are sure to follow.<p>> Does it get any better ?<p>Yes. And you are at the precipice of it being so.<p>It gets better by accepting that those junior in the field experience the aforementioned progression and will duplicate projects often for the ease of being able to simply transcode. And that's OK, as they are in a period of discovery which is entirely new to them.<p>It gets better by recognizing that still others will reinvent the wheel just because that is all they can do. Their growth has stopped for whatever reason. And that's sad, but their choice.<p>It gets better by realizing that you have reached the point where <i>you</i> can discern duplicate efforts and choose what of those offerings are best for <i>your</i> way of thinking and/or working.<p>Finally, it gets better by allowing yourself to choose your own path, trusting your awareness/experience, with what you feel is best for how you can optimally do what you love to do, and eschewing what others espouse since they simply are not <i>you</i>.
I've experienced this earlier and try not to read too much into it. Keep building things the way you want to build it and ignore people trying to introduce politics (trying to please as many people as possible and shitting on existing and tried solutions). Ignore it! Channel it into something positive, create something. That's all I care about, solving real world problems and creating my take on it. March forward comrade.
Sounds like burnout. I take a month or 2 off for every year I work.. sometimes at the start of that break, I feel like you do, but a bit of sun on my face and some outdoors, and suddenly the desire to sit inside and code for hours, starts to return. :D
My take on what is exciting yields the following questions:<p>How much time have you spent with design patterns?<p>How much time have you spent with WebSockets?<p>How much time have you spent with Asynchronous coding?<p>How much time have you spent with Taligent MVP concepts?<p>How much time have you spent with Reactive Extensions?<p>How much time have you spent with ReactJS?<p>How much time have you spent with drinking and playing CS:Go?<p>Have you ever considered the concepts that are being taught as the 'leading edge of thought'? AKA Abraham Hicks. There is a whole new world that talks about an evolution of the human species simply by realizing that you have a 'higher mind' which exists in spirit world and that you can connect with that pure positive energy and when you do your life becomes an explosion of Synchronicity (see bashar.org).