18 ms·
Totally on board with not building software any more. In fact, at 55 this is my last week of it. For real. Basically, everything sucks more about building softw
by notacoward 6y ago
Totally on board with not building software any more. In fact, at 55 this is my last week of it. For real. Basically, everything sucks more about building software nowadays more than I remember it sucking before, from the mere mechanics of navigating through an obscenely large pseudo-object-oriented codebase to the WRONG constructs/idioms people use to build distributed systems to the way software is packaged and deployed to the horrific attitude toward testing or documentation to the biased interview processes to ... I could go on forever. I know some of that perception is mere nostalgia or other effects of my own age, but by no means all and I honestly feel less than half.
Building software was never simple or easy. We've gained a lot of knowledge that makes it easier because you don't have to build quite as much from scratch, but we've more than made up for that by making it unnecessarily hard in every other way. Taking the simplest change from idea to production involves so many steps, and not even the steps that assure it's correct or maintainable. It's feeding the beast we built ourselves rather than the one born of necessity.
I sincerely feel bad for people who have to stay in it. Some day most of you will get over the dollar-induced Stockholm Syndrome that seems universal among junior developers, but by then you'll be stuck on that train to hell. Good luck to you.
- nobody2323 6y agoStop building web apps. A terribly wrong turn was taken about two decades ago. Your problem is you're building web applications. Desktop development is the Once And Future King of computer functionality and personal productivity.
- notacoward 6y agoFYI, I have built a great many things in my career but not one of them was a web app. Mostly, it has been data storage systems, from single host to few hosts to many hosts to one of the largest three or four such systems in the world. But hey, great guess.
- tinyhouse 6y agoI keep saying it. Building software in tech sucks. The process, the people who complicate everything, all the unnecessary features that bloat the code, spending all your day reviewing pull requests, etc. But building software in general is fun. For me it's also not so much about the software but about the business. When the business motivation is clear and I believe in it, then I'm motivated to build software. And when I say business motivation it can even mean me wanting to learn something.
- fabio8085 6y agoI'm in agreement with you that it's about the business and having the passion and motivation to solve the problems of that business. When I look back on my software career and think about the projects where I didn't have an interest in solving that particular problem, I would always revert back to just learning the technology for the sake of learning. For me, just learning and not applying was never as fulfilling as doing both.
- matthewmacleod 6y agoIt goes without saying that your feelings are personal ones, totally valid, and nobody can really question them. I'm 20 years behind you, and I don't know what effect that will have on my views. But I don't really recognise the picture you're painting. Compared to the first steps I took as a developer about 15 years ago, almost everything about software development seems better to me. I find developing software to be easier, more consistent, and less frustrating than it used to be. Good development practices—things like testing, CI, coding standards and so on—seem more prevalent than they used to be. It's easier to get code out to production than it ever was. Everything in the ecosystem—like tooling, libraries, and services—feel far more open, consistent, and accessible than they used to. I am almost certain that on the whole I spend a far greater proportion of my time now actually writing code that does interesting things, as opposed to code that hacks together some junk to try and make it work with other junk. I think I'd draw the conclusion that everybody's opinion on how the industry works is going to be heavily influenced by their individual experiences. Maybe I just enjoy software right now because I've now got the technical competence and confidence to avoid some of the frustrations that I experienced earlier in my career, and in another 20 years I'll be right there with you lamenting the state of the industry. Who knows?
- notacoward 6y agoThank you for sharing your perspective. It honestly warms my heart to see that some people believe the trajectory is still upward. > Maybe I just enjoy software right now because I've now got the technical competence and confidence to avoid some of the frustrations that I experienced earlier Just as some but not all of my (mostly negative) perception is surely personal, might I suggest that some but not all of your (mostly positive) perception is not? Perhaps the industry really has improved in some areas that you care about during that interval. Yay! OTOH, that doesn't necessarily put your perception and mine in opposition. There are other areas and other intervals, and other priorities as well. It's great that your experience has been positive. I hope it remains so.
- matthewmacleod 6y agoI think that's a good way to think about it. Everyone's individual perspectives are valid, and they're a mix of real things that have happened in the industry and their own experiences. I'm very much aware of how bad some parts of the industry can be (particularly having recently dipped my toe into some machine learning work and discovered an entire sub-field in which nobody has ever heard of documentation, testing, coding standards, or things like releasing software that actually works).
- mabbo 6y ago> Some day most of you will get over the dollar-induced Stockholm Syndrome that seems universal among junior developers We aren't working hard because we just want money. We want to save up enough money so that we can retire at 55 and stop working. Then we can start spending all our time complaining that the software industry is going in the wrong direction. Because in any other industry, the effort:earnings ration isn't nearly as good, so we'd have to work into our 60s before we could do that.
- notacoward 6y ago> We want to save up enough money so that we can retire at 55 and stop working. If that's what anyone takes away from my jeremiad, then I actually think that's pretty great. Except ... why not 45? Maybe if more people could use software development as a quick route to something else that created more personal satisfaction and/or social value, that would actually be a good outcome. A bit more "it's just a job" and a bit less "it's my holy calling" is a necessary ingredient in that formula.
- wing-_-nuts 6y agoNot everyone here works for FAANG companies in silicon valley. Retiring by 45 is possible in much of the rest of the country but one has to go hard to do it. For myself, I simply wanted to be free from financial worries and financially independent. I hit that at 35, and yes, I'll probably be able to retire by 45, but I'm a bit too frugal for my own good. For someone living a more 'balanced' lifestyle I think 50 or 55 is a fine goal.
- leothekim 6y ago> Building software was never simple or easy I think it’s gotten a whole lot simpler in the past 10 years. People used to have to rack their own hardware, install PDUs, check temperature gauges, plug wires, configure the switches, setup RAID and backups, make sure you have that serial cable plugged in so you can telnet in in case the switches don’t work, and lock the data center doors without forgetting their keys back in the day. And this is before actually developing and deploying your application software. Now you can just buy a bunch of db cycles and scale to >10000 qps without batting an eye (though you’ve got to watch your wallet). I think because some of the hard stuff got a lot easier, the easier stuff got unnecessarily complex. And there are so many ways to scale things that some of these constructs and idioms used over time stopped being used because they mattered less if you could just turn a knob to scale your crappy code.
- senko 6y ago> People used to have to rack their own hardware, install PDUs, check temperature gauges, plug wires, configure the switches, setup RAID and backups, make sure you have that serial cable plugged in so you can telnet in in case the switches don’t work, and lock the data center doors without forgetting their keys back in the day. Yes, and other people did this job, not programmers. People that loved tinkering with hardware, low-level OS stuff, networking, etc. We even had a name for them: "system administrators" and "network administrators". Nowadays everyone's expected to tweak CSS and configure kubernetes in parallel.
- bsagdiyev 6y agoWe still exist. Our job titles just changed and more responsibility was put on our plates. Now we do the above work, plus manage automation (Jenkins pipelines, Ansible playbooks, etc) among other work. Not that the increased responsibility is an issue, just that the title makes us seem fancier than we are. I think that is part of the problem, everyone needs some ridiculous title now, a “lowly” sysadmin gets looked at sideways.
- at_a_remove 6y agoYes. Although I worn that and other hats before and often together, I disliked being a sysadmin. I don't like being on call, it causes me to wake up at two in the morning to check a website. I do not like worrying about when to install a new patch. So when my job title switched away from programmer to some kind of DevOps thing and I was shoved back into the sys admin role, I was unhappy about it.
- smoyer 6y agoI'm 56 and STILL love building software ... I started coding as a hobby when I was in 6th grade, built my first computer (a COSMAC Elf) when I was in 10th grade and spent 20 years doing a combination of electronics and software engineering. For the last (almost) 20 years, I've been only doing software development with a small amount of consulting on hardware design and hobbyist projects. (And the weirdly political intersection with these disciplines while working on a committee that wrote part of the DOCSIS cable modem spec). I have no intention of throwing in the towel and am really enjoying the Go language (and happy to see that Java is taking steps to reduce the complexity of the JakartaEE framework). But ... I used to code for fun in my spare time and more recently I'm finding myself working on "shop" projects. I sold my pocket-cruiser (a small yacht) and I'm building a couple of small wooden boats. I have a '71 Saab Sonnett III I'm in the process of restoring and a '71 VW Karman Ghia that's next on the list. I thoroughly endorse the idea of doing something with your hands - it's so much more satisfying than sitting in front of the TV.
- fxtentacle 6y agoI believe the main thing that changed is that 10 years ago, "building software" meant you would work with (presumably reasonable) engineers. Nowadays, it means you do web busywork for some newly rich kid chasing a startup lifestyle, who may or may not have any idea about what's easy/difficult possible/impossible. Also, the whole industry has been strongly commercialized. Before, people would share source code on the internet just for the fun of it. Nowadays, that is a surefire way for someone else to take your source code and sell it as theirs. I mean that's basically what Cloud providers do. They rent out access to open source software. The insane pressure of money also makes sure that most software nowadays is not build to any reasonable engineering standard, even when it really should be (like Boeing MCAS). Instead, every piece of software nowadays is optimized for the sweet spot between sucking so bad that nobody buys it and not spending a penny more than what is necessary. The goal of software development has changed, and I think $1 phone apps nicely illustrate the new commercial landscape. It's the bare minimum quality at the bare minimum price. BTW, on a related note, most bicycles made in 2000 still had a much more stable frame than the 2020 models. The marked switched from costly steel to cheaper aluminum so that you can make $300 supermarket bikes. And obviously, the quality has suffered. It appears that in general, there's always a race to the lowest possible quality in the hopes of reducing costs, thereby increasing profits. Does anyone have any suggestion how we could reverse this trend in general?
- cpursley 6y agoYour overall tone is negative and elitist. Thee $300 supermarket bike (I have one and put over 40 miles on it weekly and it's help up fine for four years) provides access to folks who otherwise can't afford the fancy $1,500 aluminium/carbon machines. Fancy bikes are still getting made and even getting better. Newly rich kid or VC funded startups distributes money from wealthy people to an every growing software industry. It allows people like me to work in software; something that was previously only available to elite educated people who happened to live in the correct zip code. tl;dr: The pie has increased in size and become much more inclusive. Yes, there is a lot of low-quality pie out there. But there is also plenty of high-quality pie for those who can afford it. This is good for everyone except the very elite entrenched class.
- qz2 6y agoYour first paragraph nails it completely. The entire software ecosystem is like having infinite layers of train crashes to fight through every day. The purpose of a lot of software is to make software, not to solve problems.
- lazyjones 6y agoThere's nothing stopping you from getting an FPGA board and rolling your own CPU, system, software stack from the ground. It's easier than ever before to walk in the footsteps of Woz or so if you like the idea.
- binyu 6y agoI disagree with you. Today's scenario is certainly much more interesting than the post dot-com boom years, maybe not as interesting as the very early days of computing, but certainly ripe for innovation, and a test-bed for innumerable breakthroughs that are yet to come. We are currently living the post "Big data" age and advancing fast toward the pre quantum computing era, with a renaissance of AI and machine learning technologies. Cryptography is ripe for disruption and the past years have seen the introduction and deployment of novel concepts and semi-old ideas that have finally found application with cryptocurrencies and distributed systems. There are several projects at the forefront of technology with defined goals in mind, and definitely solving real world problems, like privacy in cloud computing, for example. Software stacks have matured intro fully fledged products and there is plenty of choice for every use case, one just need to delve into the enormous amount of information available and do his homework. Operating systems have also advanced a lot and I love, for one, how easy is to operate Ubuntu nowadays, and the level of freedom it offers to users. Maybe you need to think a bit outside the box? respectfully, have a great one!
- spamizbad 6y agoI tend to agree but I think what’s driving this stuff lies in the changing software product- and project - culture, and the glue-like nature of modern work is an outgrowth of that. On the engineering side we’ve fully embraced the ephemeral, disposable nature of code, which tends to run counter to business needs which may require hastily constructed code hack jobs to stick around indefinitely. Really makes taking pride in workmanship impossible. You’re allowed to feel good about what your company is doing, but if you feel good about your code then perhaps you’re indulging yourself on company time and could be more productive... so you end up feeling guilty about doing good work. I also think over the last 20 years there’s been a concentrated movement to remove technical expertise from the product design process. Engineers are present to provide estimates and gauge feasibility, but aren’t granted much leeway beyond that. Decades ago, you needed dev skill to actively shape technical projects since there wasn’t even that much user-level experience with computers and technology to make judgements. This loss of balance tends to mean software is driven forward almost exclusively by either new features or redesigns. Technical enhancements are rare, unless they exist to support existing features. Nobody wants to spend a few sprints on "Make this thing feel 30% faster" or "Deal with our memory usage issues in these cases" until it reaches crisis levels or customers complain. So you get bigger, bloated software that runs slowly because nobody is authorized to make anything faster or use less resources until a product market position is threatened because of such technical deficiencies.... although sometimes the answer by product leadership to such problems can be even more features.
- mumblemumble 6y agoAfter having read the article Built to Last[1] from the latest issue of Logic Magazine over my morning coffee, and spending breakfast pondering my coming day of figuring out if we can disentangle some stuff I'm working on from the increasingly complex and inscrutable Big Data ecosystem, and if it's even going to be possible to get management to approve it when the requests to stick RSS feeds into DBMSes are forever piling up, and generally thinking about my own mid-career situation, and, this comment really hit me like a punch in the gut. This quote from Built to Last is going to stick with me for a while: "... many people don’t even see the preference for complex languages for what it is: an attempt to protect one’s status by favoring tools that gate-keep rather than those that assist newcomers." I'm not leaving the industry any time soon. At least in the abstract, I do like what I do for a living, and believe that there are still some habitable spaces left in the field of informatics. But there's a part of me that is beginning to wonder if the best and most comprehensive literary (sort of) analogy for modern software engineering culture isn't the Orks from Warhammer 40,000. [1]:https://logicmag.io/care/built-to-last/ https://logicmag.io/care/built-to-last/
- someguydave 6y agoAlternatively, one could take the view that low-abstraction languages are designed to turn programmers into replaceable parts. This benefits the “low-quality for low-price” software vendor culture at the expense of programmer’s pay and status and also at the expense of the customer’s ownership and quality experience.
- mumblemumble 6y agoThis attitude, both from the business side and from the developer side, has always struck me as an egregious misapprehension about where the value in software development lies. It's never about the code. It's about getting the job done, and the code is just a tool for getting it done. And getting the job done is ultimately about domain expertise, or design skill, or engineering acumen, or any number of more abstract skills. When developers get all protectionist about complex technical tooling instead of focusing on perfecting their ability to get the actual job done, that's a moral own goal. It doesn't challenge the idea that developer skills are inherently low-value and replaceable, it takes the idea as a given, and asks, "OK, since we're inherently low-value and replaceable, how can we artificially make it harder to replace us?" Me, I don't want to respond to the idea that I'm just a code monkey by trying to be the fanciest code monkey imaginable. I don't want to be a code monkey in the first place.
- neya 6y agoWow, that resonates quite a lot with me, though I'm not 55 yet. I started my career as a software engineer with web development in the 90's. Everything seemed simpler. Literally. Then, fast forward to 2020. I'll cite you an example of what happened EXACTLY yesterday. I have a web application which is complete and ready to be deployed. It's a backoffice application for one of our e-commerce sites. It's built using Phoenix, so there is a separate assets folder which contains a webpack config and its own package.json as well. The frontend updates require me to update the assets manifest as well. So, we've setup CI for it to automatically do that for each deploy. So, as usual, it simply runs npm install, but, suddenly, everything broke. Remember, this was fine until our previous deploy. It was some weird error from node about not being able to do something with Babel. I had to spend about almost an hour to figure out it was coming from some other package that was making use of Babel. (If you're interested the error is this one[1])). OK fine, we upgraded the babel version as indicated in that issue thread. However, it wasn't compatible with some other package on the OS we were running on. So, now I had to downgrade the entire node version itself to something we knew that worked. We lost a good amount of engineering time simply because of this unwanted complexity. Remember, all I wanted to do was JUST deploy. Our backend code was perfectly fine. Just for one new added feature, we had to pay a price with our time. This is hardly an exception, this is becoming in the norm. [1] https://github.com/nodejs/node/issues/32852 https://github.com/nodejs/node/issues/32852
- etblg 6y agoYou may want to use `npm ci` instead of `npm install` on automated processes like CI. `npm ci` will install the package versions from `package-lock.json` that presumably worked while developing, `npm install` will try to install the latest that match the criteria in `package.json`
- jjice 6y agoI'm sorry you don't enjoy it anymore, but this being your last week is pretty great. Enjoy your next endeavors!
- meshenna 6y agoI saw this joke in a thread somewhere: Junior engineer: thinks they know everything Intermediate engineer: thinks they know nothing Senior engineer: hates computers
- tootie 6y agoI've been doing this for over 20 years and feel the exact opposite. The process for getting an idea turned into working software is faster, easier and better than ever. You are looking at it from the inside. All the mechanics have changed from how you were trained and now the process is no longer bottlenecked by the kind of problems you are used to solving. From a higher-level perspective, businesses are 100x smarter about how to think about digital problems and solutions, what kind of talent they need to execute and how much it costs. Nothing will stop executives from trying to squeeze budgets and timelines, but that's human nature. But now there's a chorus of experienced people who can speak the truth, who know when to build vs buy, who know what quality looks like, who know that user experience is paramount. Software development has become commoditized which sucks for developers, but it's great for software.
- deleted 6y ago[deleted]
- grishka 6y agoI'm only 27 but I'm already dissatisfied a lot with most of what the software industry does and the decisions it makes. I've been 1.5 years without a job at this point and wherever I look for one I'm very disappointed. - The arbitrary deadlines that serve no purpose. Example: we have to update our app every week/month because reasons. - The utter lack of understanding of the concept of feature completeness. Example: operating systems that update every year for no good reason whatsoever. What's the point of updating from Mojave to Catalina as a user? What new does it bring? How does it empower the user in a way not before possible? No one knows because it does not. It merely moves things around for the sake of change. - No one wants to understand what they're abstracting away. People keep piling abstractions upon abstractions yet can't answer the basic questions about how their operating system works at low level. - Fashion. A lot of it. Basically, if you're doing Android, you MUST want Kotlin and Jetpack and Compose. Same for web — SSR is soooo 2010, gotta make that news website a single-page application because how come would we not use React. IMO, fashion has no place in engineering. - This "we'll always be able to ship an update" attitude. This is the worst. No one wants to make high-quality software any more, they want to move fast and break stuff at the expense of the end-user sanity. I can't understand how this way of thinking came to exist tbh. - Business incentives. They ruin everything, but it's especially felt in software engineering. - Priorities in general. No one is considering what they're making a tool to help the user achieve something. They're making these monstrosities that always put their own interests before those of the user. Dark patterns, purposely inconvenient and awkward UIs, spammy notifications that don't correspond to real events, you name it. In my book, that's not the way to go.
- alexpetralia 6y agoTo me, this sounds like developers who are too far away from the business. Either they don't understand the context, or they aren't given the latitude to express their concerns about product direction.
- grishka 6y agoIMO "the business" is the root of the problem. Businesses tend to put money before literally everything else, and thus we end up with the awfulness that is the modern social media for example. No matter how visionary, proficient, and user-respecting you are as a developer, if you aren't complicit in earning all the money in the world at all costs, you're gonna get replaced by someone else who is.
- markbnj 6y ago> I sincerely feel bad for people who have to stay in it. Truly? Or do you mean you feel bad for people who still have to work for a living? Because if you still have to work for a living I can think of 9000 jobs that suck more than working on software. Btw, I'm turning 60 next month and have been doing this for a living since about 1992, before that I did lots of other things, so I have several points of comparison.
- bobbyz 6y agoA younger developer might think the tools that suck. A younger developer might think that the older developer's reluctance to embrace change or recall the time when they were beginners is part of the reason why they suck. Like git. Git sucks.
- etripe 6y agoIf you think git sucks, which VCS sucks less? I've only tried TFS and SVN myself, but I find git the best option among them.
- TheCoelacanth 6y agoMercurial is a contender
- etripe 6y agoI guess I'll have to try it out one of these days, thanks!
- bobbyz 6y agoI think this is precisely the problem. Sure, you can make incremental improvements to existing systems, but what if all existing systems are bad? Once in a while, you have to design a totally new system based on concepts and metaphors that everyone understands.
- holtkam2 6y agoThanks. I think it's worth mentioning that I'm 27 and almost 4 years into my career in software. I am convinced I have the best job of any of my friends, or just about anyone I meet at my age. I make more money and work less hours than >95% of my (all college-educated) friend circle. I don't feel stressed at work ever. My team supports me, my manager encourages me to expand my skillset to whatever interests me. My career trajectory is looking phenomenal, and I find software development generally fun & rewarding (although certainly not all the time!). But who knows, maybe that will all change by the time I'm 55 and I'll hate that I spend my career in software dev. Seems unlikely.
- erikbye 6y agoSoftware development is like building a house with a hammer that continually change its shape and hence how it’s used.
- aprdm 6y agoI think for some people building software became about making the most amount of money they can possibly make, it became about grinding leetcode to get that sweet package at FAANG. Startups became about flipping crud apps that try to get users addicted to them. There are still cool and honest jobs out there! Work in a space you care about and have fun, filter out anything with VC money or FAANG. Usually older companies can be more rewarding from a career perspective, you also get to work in bigger projects with more responsibilities as well as you aren’t competing against 50k’s of software engineers to climb the ladder.
- cmrdporcupine 6y agoHow did you escape? Asking for a friend.
- rbreve 6y agoHow I miss the old days simplicity. One php File you just uploaded with ftp and that was the deployment. Now you need to know so many frameworks and processes to deploy a simple web app. It’s overwhelming and I get anxious because It’s so hard to choose what to learn.
- doctoboggan 6y agoMy current project is one file with html,css,js all in one. I am using Vue, stripe, and three.js. To deploy I git push and then render handles all the rest (including provisioning a free certificate). Honestly it’s easier now to do things like that than 15 years ago when I first started.
- mhaberl 6y agoYou can still do that. There is no need to use a complicated stack when the problem is simple.
- lallysingh 6y agoI'm not far behind you in age, but I started crazy early in life. Well, I think the big question is, are you /developing/ or /hacking/? Hacking is fun, developing is a job. Hacking is in a language and stack that's probably a bit unstable, that most shops wouldn't let you use in production. Developing is writing code at about 30% of your ability to express yourself, to avoid someone half-reading your code later from misinterpreting it. Sometimes you can intermix the two to make the job better. Sometimes not.
- Accujack 6y agoNice. Best of luck in your future endeavors. Me, I'm about to turn 50, and I don't see being able to retire until... well, ever at this point. I might change careers some time, but I doubt I'll entirely give up on software. Maybe just do it for fun.
- Reedx 6y agoPlus there's a massive amount of pollution, growing by the day. Everything is built on an increasingly shakey foundation and starts rusting right away. More time is spent on trying to figure out why X isn't working, less time on actually building. A couple recommended talks about this subject. Preventing the Collapse of Civilization: https://www.youtube.com/watch?v=pW-SOdj4Kkk https://www.youtube.com/watch?v=pW-SOdj4Kkk The Thirty Million Line Problem: https://www.youtube.com/watch?v=kZRE7HIO3vk https://www.youtube.com/watch?v=kZRE7HIO3vk
- coliveira 6y agoI am not so old, but I also remember a time when software development was much more enjoyable. The difference is that at the time software engineers had more autonomy to decide what to do. Nowadays everything seems to revolve around fads. If you're not into the latest fad or have some ideas that differ you'll suffer resistance all the way around: in the job, online, when doing hobby projects, etc. Even open source nowadays has to conform to some well-supported online fad, otherwise people will complain of what you do.
- mettamage 6y agoSelf-determination Theory predicts this. It’s my favorite theory on about intrinsic motivation.
- gorbachev 6y agoI've been able to, most of the time, work on (somewhat) novel problems, at least within the organizations I've been working, and certainly interesting ones to me. But I've always enjoyed tinkering on non-productive personal projects more. Exponentially so. I'm with you on most of the things sucking in software development. I spend so much time on shit. Politics, presentations to justify spending 0.000001% of our budget on things I need, convincing others that maybe we should leverage well established best practices, not even controversial or cutting edge kind, but the actual ones people everywhere use, rather than re-inventing the wheel every time. Right now I'm expected to inventory our software catalog, again, because someone doesn't want to get that information from the place we are using to already document it. And it's only Monday. This week will be long, so very long.
- chubot 6y agoI totally understand people who are burnt out on building commercial software. The incentives are often to create systems that work poorly for both users and are hard to work with for developers. It's a miracle when that's not true! However if you're really burnt out, and still want to exercise your skill, take a break and give open source software a try! I'm still having fun building http://www.oilshell.org/ http://www.oilshell.org/ after many years. If you're building it for yourself, open source software can be fun, and it should have the side effect of being useful to some others as well.
- someguydave 6y agoHow do you make money? Do you live on savings?
- chubot 6y agoYes, although I worked on open source while employed for 6-10 years too (sometimes it was my job, but usually not). I'm not saying that it's the way to spend the least time at the computer :) I'm saying it is a way to avoid being burnt out. If you are building something for yourself, and others incidentally get some use out of it, you'll be less likely to burnt out than killing yourself for a deadline made-up by a VP. And then the whole project gets through away, and no customer ever cared about it. I've seen that a lot. ----- Related story: Many years ago I got burnt out by my job, and I took a woodworking class at night (lol, definitely a programmer thing). It was great, and I'm typing on top of a desk I made in that class right now. However I bought a bunch of magazines about woodworking, and I noticed that everyone had 8 or 9 fingers, so I didn't go further with it :) The thing that the OP pointed out is real!
- Akronymus 6y ago> an obscenely large pseudo-object-oriented codebase It shocks me, just how often OOP is just not nearly the best approach to something. I certainly still lack in experience though. But why use OOP for something like putting data from a sensor onto a bus? And stuff like that.
- bsg75 6y agoWhat are you moving on to ? And can I come along (52) ?
- deleted 6y ago[deleted]
- deleted 6y ago[deleted]
- Diederich 6y ago> I sincerely feel bad for people who have to stay in it. I'm in my 50s, and I've been getting paid to build software for over 27 years now, and started programming on a near daily basis on a TRS-80 in the 1970s. Please don't feel sorry for me. I still very much enjoy building software. I won't necessarily disagree with the particular challenges you cite. The total complexity is enormous now, but the tools and abstractions, which themselves have variable quality, and bring their own complexities, are tremendously powerful, and, though it often doesn't feel like it, effective. Beyond the specifics, I acknowledge that 'the industry' has evolved in many ways and directions, not all of which are positive. I face non-technical challenges today that, had I known about them 30 years ago, would have probably caused me to switch careers. So, I acknowledge what you're saying, and to it I will only add this: each of us exerts a great deal of control over how we perceive the world around us. It's possible that the difference in the way you and I 'grade' the software industry is that I am, for no knowable or particular reason, more fundamentally optimistic about things than you. It's also possible that, primarily for reasons beyond our control, I've ended up working in more positive organizations. To other people reading this far: two specific anecdotes about how the software industry has changed over three decades provides very little concrete indication for how your personal experiences are likely to go.
- bobbytuck 6y agoAnother TRS-80 fan here. I learned programming by sitting in the back of a Radio Shack where they had a Model I Level II and a Model II with those big 8" drives. This was probably around '81 or so. A year or so later they eventually had a Model III in the front of the store. Whenever I get burned out on software (in my case, Vue and React) -- and build complexity -- I always remind myself of those TRS-80 days. The only learning references around were the books for sale by the TRS80's -- a couple books on TRS80 graphics, Rodney Zak's 'Z80 Assembly Language', and William Borden's Z80 books. And of course the Tandy version of Zork in the little plastic baggie hanging from a wall hook beside 'Eliza' and 'Dancing Demon' -- and then the wall of brown folders of 'Scripsit' and 'VisiCalc' on TRSDOS 1.3 (?). Maybe the editor/assembler at the time, too -- 'EDTASM'. Don't remember if that was in a baggie on the wall hook or in a Tandy brown TrapperKeeper with the cassette insert and several tapes. Those were great days -- and everything (for me, at least) was new and exciting. Nothing was ever too daunting or too complex -- even as daunting (and as complex) as Z80 assembly seemed to me -- a 13 year old at the time. That's a feeling I always try to recapture in very deliberate ways these days. It's good remember how it all started.
- jlos 6y ago>> I sincerely feel bad for people who have to stay in it This seems a really sheltered perspective without a real idea of the kinda struggles that exist for a lot of other careers. Not unlike some doctor/lawyer/scientist/executive talking about the profession as a "train to hell" because it doesn't satisfy some sense of technical purity. Before building software, I was stuck in dead-end sales jobs with a humanities degree that had no career prospects. Switching to software development has required a great deal of sacrifice, and I'm genuinely thankful every day I get to write code for a living I'm thankful. - I'm thankful I can get paid well enough to live comfortably. - I'm thankful I work in clean, climate-controlled offices. - I'm thankful for a profession full of interesting people to work with. - I'm thankful I can engage my mind and excercise a certain amount of creativity in my work. I really hope 55 year old me can remember to be thankful.
- notacoward 6y agoThat's a good point, and I am grateful. "Train to hell" was hyperbole. Programming is still a damn good profession compared to many others. It's also far less than it could be. These statements can both be true simultaneously. After some years of the particular issues that affect older programmers, made worse by the fact that they're almost completely ignored in a youth-dominated industry, 55-year-old you might be less sanguine about the whole thing. Don't be quick to judge when the other person has been where you are and not vice versa.
- 0xdeadbeefbabe 6y agoPeople used to really hate farming too. How do I know this isn't more of the same?
- hpen 6y agoHave you ever worked as a manual laborer? I spent most of my life working as a lawn keeper, warehouse laborer, retail associate and construction worker. Building software is such a breath of fresh air. Even the bullshit that comes with it is still better than the day to day bullshit of any of those other jobs. It may not be perfect, but man is it better than what so many people do.
- eikenberry 6y agoYou sound super burnt out and taking a (possibly permanent) break sounds like just what you need. On the other hand I, at 50, am looking forward to another 25 years of programming with any luck. I think almost everything has improved since I first started with much improved processes (no more waterfall), new and interesting programming languages (with jobs using them), free software becoming firmly established, much better tooling, more interesting work (cloud and distributed systems have added much fun, including improving those distributed systems), enlightened views on testing and documentation being very important (I remember when simple unit tests were frowned upon as wasted time), nearly everything in the software process is automatable (CI, CD are great), etc. I obviously am at a different place than you but I don't think everyone who enjoys the work has Stockholm Syndrome and needs to be pitied. Some of us honestly enjoy it and I plan on working as long as possible as I really like the external supply of ideas to create. Though had my carrier taken a different path than it did I can easily see being as burnt out as you. I worked briefly at a large enterprise company (not software makers, think greek sneakers) which was so terrible.. if that sort of job was my only option I wouldn't have lasted a decade in this business. That place was seriously depressing.
- justinlloyd 6y agoI still build software. Every day. I delivered my first commercial product in 1978. I cannot recall a day that I've never written some form of code. Even if only a line or two. Made notes about writing code. Thought about how to solve a problem and the code involved. I don't think I've ever worked a day in my life. Well, not strictly true, I've had several jobs that start out with interesting problems to solve and then became "it's another CRUD app." I quickly left those jobs to find other work. I'm not cheap but then I'm not well compensated. I don't make FANGMAN income, but I am financially comfortable. I've found joy every day in my work, even if there are many days where the work in utter frustration, by simply seeking out the kind of work that makes me happy. With an interesting problem I will work all the hours my mind and body can muster. With a 9-to-5 "what's the point/what am I learning/this has been done eefore" regular work-a-day job there is no amount of money on this green Earth that could get me to focus or be happy. Well okay, there would be a certain amount, at which point, after 12 months, I'd quit, take the money and go do a different job that pays less but is more interesting. This course of action isn't for everyone, not everyone has the privilege of saying "F* it! I'm out." when they are doing something they don't find joy in. I've just made sure that I never put myself in a position where I couldn't choose that course of action. The road has been hard some days, and money has been tight more often than I want to recall, and I won't die a wealthy man, but I will have had adventures along the way that keep me still striving to build software every day. Footnote: My job last year consisted of writing kernel drivers to speed up SSDs. My job at the beginning of this year was control a radio controlled car from your cellphone. Then I built a dashboard for my home that tracks my phones and my cats and the weather. My job, right now, consists of building a stupid simple app (with a lot of screens and moving parts) on a mobile device that talks to OpenWRT to put a pretty and simplified user interface on what is a complex piece of software. I've never had to build a mobile app that tries to simplify a complex router interface before. It is a learning experience. But once I've learned that lesson, I won't be building another one. I'll go find something else to do. Life is what you make it.