10 ms·
Amen. Modern software development is frankly kinda sucky. The old days pre-2000 were arguably a lot more enjoyable. Today it's just digital plumbing and dealing
by jb1991 6y ago
Amen. Modern software development is frankly kinda sucky. The old days pre-2000 were arguably a lot more enjoyable. Today it's just digital plumbing and dealing with all sorts of issues that are not creative. The sheer complexity is frankly absurd as well. I've thought about moving on from software many times, and I know many who have. Just because you can do something doesn't mean it's best way to spend your short life. Not to mention that sitting in front of a computer all day is not the best use of one's body.
- kossTKR 6y agoOkay so it seems most people here on HN hates their jobs? That's sad but i think its not unique. Web dev was especially insane during the IE era, more than today. Most people just hate their jobs, it's nothing unique to the tech sector and i would argue that tech is still a pretty comfortable niche to work in compared to most other fields. Doctors have extreme debt and work crazy hours, teachers get way too little, manual labor is very tough on the body, journalism is dead etc. - it seems to me that everyone i know just "has a hard time" because of information-overload, 24/7 connection, lowered real wages etc. I.e systemic issues at the core. That said i also want to get more zen, cut back, transition to more resilience - but tech is not uniquely bad, and while i also have dreams about transitioning to more entrepreneurial roles or "moving into nature" - i still can enjoy "the chaos" of modern development / design - and this really is the key i think: to accept the mess, the imperfection, that no one knows what the hell they are doing in most sectors. Drop the fake self imposed yuppie consumer self policing and perfectionism mindset and just accept that we live in a crazy part of history where everything is obsolete after 5 minutes, so just do what you find acceptable, try to scrape some money together and remember to appreciate the fact that at least you are in a sector where it's pretty easy to be an entrepreneur if you want to - compared to a lot of other people who have no idea about how to get started or jump ship. Years ago if everything went awry i would stress out, be afraid of angry clients, be angry at myself - today i relax, i am interested and laugh at the complexity, and if someones angry i don't care, the world is crazy, we are monkeys living in a world not made for our biology, it's future tech dystopia/utopia right now, no one is able to piece something together that works for a long time anyway, it's mostly not my fault, but i still try to do my best. This mindset has helped more than a lot.
- yoz-y 6y agoI think I wrote this somewhere else too but in my opinion one of the issues is that software development is one of very few jobs that can “not suck”. Many of us are pulled in for that promise and ultimately many will end up in plain boring jobs like everybody else.
- user5994461 6y agoDoctors have guaranteed work and income (the debt is only true in the US), they can walk into any hospital to get a job or open their own office, their status is protected and the job cannot be outsourced abroad. Have a look at what doctors make and what engineers make, the H1B salary data is a good sample, you will see that engineers are very pale in comparison. Teachers have guaranteed job, good income and many benefits. Salaries are usually set nationally not adjusted per location, it's not great to live in the most expensive tech hub but it's pretty good everywhere else in the country.
- someguydave 6y agoYes both teachers and doctors in the US are protected from competing with immigrants through licensing schemes. They are also protected from competition due to the fact that they can be paid mostly from government accounts.
- ChuckNorris89 6y agoYeah, this. As a doctor, the older you get, the more valuable you become(usually) while as a SW engineer the older you get ... well you know it already. You have no competition from abroad and no shortage for demand, like seriously, do you know any area that's lacking sick people? Not to mention status.
- aogaili 6y agoWell, the grass doesn't seem to be much greener elsewhere, and it seems most of folks here are confusing hobbies (things you do at your own pace for fun) with work (things you've to do for others, at their own terms, for money/material stuff). If you google "being doctor sucks", you will find very similar complaints (see link below), and it seems some doctors were envious of nurses, but I didn't bother googling "being a nurse sucks" because I know what to expect. https://www.google.com/search?q=being+doctor+sucks&oq=being+doctor+sucks&aqs=chrome..69i57.5642j0j4&sourceid=chrome&ie=UTF-8 https://www.google.com/search?q=being+doctor+sucks&oq=being+... and here is another one about being carpenter sucks http://www.bbcboards.net/showthread.php?t=828471 http://www.bbcboards.net/showthread.php?t=828471 and this one is about how hard is it make money from woodworking https://thewoodwhisperer.com/articles/why-i-dont-offer-woodworking-business-advice/ https://thewoodwhisperer.com/articles/why-i-dont-offer-woodw... here is an interesting take away from that last thread: "I have built maybe 6 pieces I really liked in the past 10yrs. Thats someting you’ll face in any craft business. Making crap you don’t like." Well, welcome to modern capitalism, adulthood and work. The underlying assumption here is life supposed to be fun and easy, it is not, it has never been and perhaps it will never be.
- busterarm 6y ago> The old days pre-2000 were arguably a lot more enjoyable. The existence of Dilbert says you're wrong.
- deleted 6y ago[deleted]
- bluebit 6y agoHonest question, what is a great career pivot for someone that's been in development all their life? It seems that nothing pays as well as building software, unless you go into management which most developers would enjoy even less than digital plumbing.
- kls 6y agoI have a cousin who is a travel welder, he is young and single. He is making over 100k but he has to relocate for work about every 6 months. It's a great gig for a young man, but ones lifestyle would have to fit how the work comes to them.
- kilbuz 6y agoPerhaps something software-adjacent, such as a statistician.
- niemandhier 6y agoMost programmers I met do not have the skills needed to be a statistician or a data scientist
- buddhiajuke 6y agoOr dentist.
- bart_spoon 6y agoAs a statistician now working as a machine learning engineer, my response is “definitely not”. It’s all the frustrations of software development, but on top of that you are now frequently dealing with clients/colleagues whose requests are now not simply impractical, but usually defy the laws of mathematics and probability, and an ever present pressure to put out work that amounts to fraud. Analytics have a lot of value to provide many organizations, but it requires planning, foresight, and a willingness to sacrifice a little now for the sake of a payoff in insights later, which very few organizations have, in my experience. So it essentially becomes a buzzword and people throw worthless data at you to wave a magic wand over so you can tell them what they want to hear. Doing so would essentially require lying, so instead, we would perform the awful, worthless analysis, it usually didn’t provide much insight, and we would include a litany of disclaimers about why the little insight it did provide wasn’t al that trustworthy, which would just disappoint and infuriate the people we were working with. We would also provide detailed guidance on how to execute moving forward to make the process much more valuable the next time around, which without fail went in one ear and out the other. So essentially we became figureheads. Our work rarely was used in any significant way or provided much value, but we were kept around because the company wanted to be able to tout its “data driven” culture. It was so bad that at one company I worked for, they had the data science/analytics department start putting on a yearly intracompany conference on analytics that became a huge deal. One year they got Stephen Levy, the author of Freakonomics, to be the keynote speaker. At one point he shared a story about how he was consulting with a company on their marketing, and they found that they had accidentally not been running ads in a particular metro area, and were able to leverage this to act as a control to assess the materials effectiveness. But when asked to intentionally do something similar moving forward, the company balked. It was so close to home that my colleagues and I wondered if the head of our department had fed him the need to talk about it. And yet, not a single thing changed at the company during my time there. I currently work in a role much closer to software engineering, and I have all of the same problems described by the person in the original post and that many are describing here. But I consider it a strict upgrade over my time working as a statistician.
- metafunctor 6y agoHaving been there per-2000, not really. It was not appreciably simpler, most of it was really plumbing (but maybe you were making up the pipes as you went along), and there were assholes abound.
- bigbizisverywyz 6y agoI also feel that back then demand massively outstripped supply which created its own kind of stress as I felt I was working a lot more with much less experienced devs who just got into it because it good paying work, but they didn't really enjoy it. Nowadays there seems to be a lot more software engineering skill around generally, and a big yay! to github and Stack overflow, and the thousands of developers who freely provide code/frameworks and knowledge to give all developers a leg-up. It's good to no longer be in the thrall of the large software vendors (sun/apple/MS) to provide frameworks, tools & documentation.
- rpastuszak 6y agoIn my experience gaming or playing with emerging tech is still fun--give it a shot!
- ChuckNorris89 6y ago>Not to mention that sitting in front of a computer all day is not the best use of one's body. You can say that about all desk jobs(even bus drivers) since they all sit on a chair the whole day but at least in some cases we get paid better and have more free time to take care of ourselves. And unlike the bus driver, I can leave work or take a coffee/toilet break whenever I want. And labor jobs that don't require sitting are usually even worse for your body long term(landscaping, plumbing, gardening) and sometimes pay worse as well. If I'm coding, I can constantly shift my body position if it gets uncomfortable while a plumber/gardner is just stuck in that straineous position until the job is done. Maybe athlete or personal fitness instructor is the only job I can think of where you earn money while staying in shape.
- bmj 6y agoAny work is going to break down your body. It's the nature of the beast.
- hdjdbtbgwjsn 6y agoPersonal trainer is fairly bad for your body and wellbeing as well. Its basically split shifts since clients want training either before or after their work. So sleep is an issue. If work was easy then we wouldn't need to be paid for it.
- httpne 6y ago>If work was easy then we wouldn't need to be paid for it. "work" in its natural sense is indistinguishable from play. Animals play as a way to practice "work". Lions etc play hunt. The problem is that "work" in modern times has little to do with what we are genetically-inclined to want to do.
- hdjdbtbgwjsn 6y agoYeah OK. But you see my point?
- ativzzz 6y ago
- x87678r 6y agoI remember fondly tasks like writing my own collections and logging pipelines. It wasn't as efficient as connecting libraries but it was more satisfying when you built your own way from the ground up.
- jordache 6y agoIf it pays well for as a job, what else can you ask for? Unless you are independently wealthy, how can one be so picky as to complain about the nuances of software development at the tooling/dependency management level? Sheesh Look at the broader job market. Compare the pros n' cons of any career against software development. Compare the barrier to entry, demand, and other market conditions. Software dev comes out pretty well.
- onion2k 6y agoI don't think it's unreasonable to want to be paid to solve software problems creatively. A lot of people get in to software for the creative challenges rather than (or as well as) the money. The problem is that most software isn't actually doing anyting new so it doesn't need much creativity to build. It just needs people to glue together the right combination of parts that have already been built to solve generic problems in order to solve the specific problem they're making software for. That's usually pretty boring.
- gridlockd 6y agoYou must be in your twenties. Software development can be a uniquely depressing kind of work. All the complexity, which can be compensated for with youthful vigor, can eventually become so overwhelming and exhausting that you will need a break. Money isn't everything. If you can do a job that pays less but doesn't depress you as much, you probably should go for it. You won't keep your job as a developer forever anyway, age discrimination is very real in the industry.
- jordache 6y ago>Money isn't everything At the top of the requirements list of any job, is How Well It Pays. Having comfortable amount of money frees you to to enjoy other aspects of life/personal passion/family building. That's how the global economy works, for the time being. For a job that doesn't require overtime, consistent schedule, a solid 9-5 type position. What is there to complain? Looking at the big picture, the economy is filled with people who are barely getting by, laid off due to pandemic, and working overtime or multiple jobs, to generate enough income in attempt to sustain life.
- misja111 6y agoPre-2000 it was also plumbing, the difference was that you were mostly plumbing someone else's homegrown cruft. Occasionally you got the chance of building some framework by yourself, probably to the dismay of the developer who had to maintain it after you left. I like today's plumbing better.
- lazyjones 6y agoIt can still be fun if you don't follow fads and have no feedback ticketing system/forum/e-mail.
- read_if_gay_ 6y ago> Today it's just digital plumbing and dealing with all sorts of issues that are not creative. The sheer complexity is frankly absurd as well. Is this not a contradiction to you?
- tonyarkles 6y agoTo me, no. A significant amount of the complexity that I generally deal with is “accidental complexity” caused by the current general approach of mixing up a ton of random dependencies of unknown quality or pedigree and the subtle flawed interactions between them. Coming up with ugly workarounds is creative I suppose, but ton in a sense that makes me at all happy.
- lowmagnet 6y agoIt's not a contradiction to me. Things can look like plumbing from the surface, require no creativity at all, and run some ML model below the surface that only a handful of mathematicians can understand. The upside: powerful tools that just need to plumb in place, the downside: god help you if it breaks.
- vbsteven 6y agoI feel the same way. The plumbing required has become so complex these last few years (if you use new technology). 10 years ago we uploaded the server/backend binary to a VM, installed postgres/mysql and configured nginx/haproxy as a reverse proxy/ssl termination. Now, if you want to deploy a modern SPA while using some buzzwords like k8s and devops you need: * complex frontend build process with things like webpack which have huge config files * Build docker images for all components (each microservice, frontend, etc) * Build zips for deploying your lambda functions * Configure docker repository for storing images * gitlab/bbpipelines/githubactions/whatever pipeline configuration for automating all this building * Setup a production-ready k8s cluster * Write the kubernetes yaml files for describing your services * Figure out how to hookup a cloud load balancer to your kubernetes ingress * Figure out letsencrypt certificate renewal and make your ingress aware * Figure out CDN configuration (and invalidation) because apparently we don't serve the frontend from the backend server anymore * Some network config so your lambdas can access the backend * Since we're using microservices we're going to need some service discovery, and depending on which SD solution we choose we might need to build this into each individual microservice (Consul) * And probably lots more as I haven't even touched service meshes, or JWT authentication, caching and cache invalidation
- protomyth 6y agoI think a lot of the pre-2000 programming was a bit more enjoyable because most of us were not programming for the web and actually using platforms that were designed for application development. The web is a very poor fit for what most people want designed.
- jnwatson 6y agoI‘ve been programming for over 35 years now and have mostly avoided doing web stuff. It is quite possible.
- lukaszkups 6y agohow? SAP/ERP consulting?
- lsaferite 6y agoI cannot tell if this is a joke or not. If it is not, there are entire industries out that that depend on software development that are NOT web related.
- ChuckNorris89 6y agoEmbedded programming i.e. automotive, industrial, aerospace. The problem is they pay poorly in comparison to web dev but are a lot more stable long term.
- vlovich123 6y agoI have done almost 0 web development at 3 of the FAANGs and am quite satisfied with the pay. I don’t think web would have paid better. I’ve done OS type work (system daemons, libraries etc), embedded, mobile, etc. Then there are people who work on compilers, image recognition, AI, browsers, server work of all kinds, etc etc. the variety, depth, and scale of work is much larger than web and can pay better as it can require a deeper level of expertise. I’m sure there exist web developers who make more than people who work in these spaces just as the converse is true. I don’t think it’s possible to say which pays more. Web dev may be an easier avenue to break into things with a low amount of experience though.
- shekharshan 6y agoI don't miss pre-2000 days when an admin would bounce the Linux servers and not bother to add a startup script for our JBoss or Tomcat servers in their service startup scripts. Our web servers would disappear for no reason from time to time and we would run around chasing the cause.
- christophilus 6y agoI was just starting pre 2000, but it was not much better. I had to deal with a legacy COBOL system. I had to write C++. VB6 was actually pretty great for doing quick plumbing. And C# + WinForms which succeeded it was also great. But in the end, I’m still solving problems today, just like I was back then. I still enjoy programming as much or more than I did then. Some super tedious things have gotten substantially easier, too, such as building telephony apps. I had to do things like that pre-Twillio, and I don’t miss it.
- knute 6y agoIn the early 1990s and early 2000s web development was a nightmare. Having to test not just in different browsers, but different versions of different browsers, because they had substantially different behaviors. There was no "Inspect element", JavaScript debuggers were entirely absent or incredibly crude. Getting a decent looking web page to render and function correctly across all the different browsers you supported was a real achievement. You spent most of your time fighting browsers, not making actual progress.
- gorbachev 6y agoIt was, but it was also much, much simpler. You couldn't shoot yourself in the foot as easy as you can now.
- christophilus 6y agoDefinitely. I generally wrote jscript and didn’t support non-IE. That aspect of things is miles better today.
- kemiller2002 6y agoI miss the old days from time to time. I will say though that everyone once in a while, you still get to do something "hardcore". It can still be fun, although it's not like it was. I do think we have as a field have done ourselves a disservices. Not to do the "back in my day," but I will say that with making many mundane tasks becoming easy, it's easy to slip into the mindset that there are no really complex things going on under the hood that sometimes you still need to tackle. A lot of people just starting out don't see this immediately and it is often too late in a project when it appears. This isn't their fault, and it's sad people outside of the field don't recognize this at all. I think it puts a lot of undo stress on new people when non-developers expect them to build things effortlessly and quickly all the time and when something doesn't work, the developers ultimately blame themselves, because they've been led to believe it was easy too.
- mouzogu 6y agoThis comment sums up exactly how I feel about my work and career at this point.
- johannes1234321 6y agoThere are still many many many good projects. Even with Web technologies. However in my observation Web stuff brings in a lot of people doing things they don't understand even fundamental things. Observing JavaScript or Node forums is generally a pain. Regularly there are people asking basic questions and all they want is the next library stick into their pile of things they don't understand. Sure, one doesn't have to be able to write an operating system from scratch and there is value in high level libraries not requiring to reinvent the wheel all the time, but basic understanding of HTTP or such should be there for web developers as well as basic understanding of data structures or algorithms (while computers are fast enough and data sets small enough that so many people get away without knowing for quite some time)
- goatinaboat 6y agoThe old days pre-2000 were arguably a lot more enjoyable. Yes. 1 monitor running the editor full screen, no constant interruptions from IM, documentation in books that actually was accurate, programming the actual machine not piecing together other people’s crapware libraries.
- criddell 6y ago> piecing together other people’s crapware libraries This is my biggest concern about the state of my profession. It might not be the right analogy, but it gives me a house-of-cards type vibe.
- selfhoster11 6y agoIt's digital plumbing, but it pays well. My parents did physical work, and frankly I'd rather earn my keep with a keyboard than with my hands.
- shrubble 6y agoWhat do you use to strike the keys on your keyboard?
- selfhoster11 6y agoMy fingers, of course. Are you seriously comparing hard physical labour to typing on a keyboard? One of those is back-breaking and seriously dangerous to personal health, depending on what you're lifting/operating. The other may earn you RSI or carpal tunnel syndrome if you're not careful. There's a whole world of difference between these two.
- cmrdporcupine 6y agoI don't recall it being any better pre-2000. Frankly the tools really sucked back then. Build systems and IDEs were awful. Just go play with an autotools-based C project sometime to remind/education yourself. Visual Studio 7, horrible. No mainstream refactoring IDEs to speak of. C++ compilers across multiple platforms were horrible at standards compliance consistency, and you could barely get a working STL, practically everyone wrote their own string and containers classes. CORBA -- some nice ideas, bad in practice. Java was a dumpster fire of EJB/J2EE heavyweight, with slow an d expensive application servers. Expensive Oracle installs dominated the database world, with the rest shored up by MySQL installs that were only partially ACID. No CSS HTML, pre-HTML5 so a mess of nested tables to make things lay out properly. Most sites were a pile of spaghetti code "type 1" JSPs or ASPs or really bad PHP sites making database calls and queries right in the page source, horrible to maintain. Then the serving or hardware infrastructure, in the world of web stuff... forget about cloud or even reasonably priced hosting services. Most shops, even small ones, I worked at ended up having their own sysadmin team managing an owned or rented fleet of expensive Sun server hardware, etc. Closets full of hot and pricey hardware etc. And as for languages... I learned Python in 95 or 96, back when it was pretty new. But almost no shop would have considered hiring me to work in it. Erlang, Python, OCaml, various Lisps, Smalltalk, all that good stuff all _existed_ but pretty much nobody would ever consider letting you write production code in such "weird stuff" until Ruby kinda broke the barrier. Perl was everywhere, but "serious" shops started to push Java, but Java was frankly awful back then around 2000. As I allude to above C++ was painful to work in at the time. C# didn't really exist yet. Visual Basic was all over the place, but was frowned on for "serious" stuff. I think people forget how dominant and awful "enterprise" development is/was. It's still out there, but HN in general doesn't seem as exposed to it. Back in the late 90s, early 2000s, the accepted "enterprise" stack was the aspirational crap _so_ many shops adopted... it was for that time what "microservices" and "bigdata" other dogma are today. People didn't need it, but they thought they did. Frankly, everything took longer to get done. Simple things are quicker to get done now. Nah, it wasn't a particularly good time to be doing software dev. I guess if you were employed in the right place, and were lucky, you would at least get to work on pioneering work building the tools and infrastructure that we now take for granted and complain about. Being at a Google building Bigtable etc. or Sun Microsystems working on the innards of Java etc. back then would have been a dream job. But the vast majority of us never got that chance. We were plumbers, too, just with really crappy pipes.
- eloisant 6y agoSome memories of pre-2000 that were not that enjoyable: - Most of the teams were not using SCM, but connecting to the same network drive and daily copying the whole folder as a backup. For those who did it was CVS (ugh). Even during the 2000's the best you got was SVN. - So many Visual Basic projects - For web projects: deploy by copying the files with FTP, getting shouted by a colleague because you override the hotfix he did using SSH and VI on the production file Now there were good projects back in the day, and there are good projects today. You just have to take control of your career and not just follow the flow of the first company who hired you in your area. Also remember that you can pivot within software development, there are so many different kind of software, you just have to accept to get out of your comfort zone.
- goto11 6y agoThere was a thread about what you learn when you get older. One thing I have learned is that nostalgia is bunk. It is just selection bias and bad memory. Music was not better back then, people were not any more polite, educated and rational, and trying to fix bug in some big-ball-of-mud visual basic codebase on a 640x480 screen without access to Google was not any more enjoyable than debugging an overdesigned React application is today. If you enjoy a challenge and have a great team in a well-run organization, developing is enjoyable, then and now.
- alkonaut 6y agoI’m in desktop development (not games, not cross platform - old school document based apps) and it’s bliss. I do 95% actual programming algorithm/data structures/domain problems and only a tiny bit of wrestling package managers, deployments and other plumbing.
- Recurecur 6y agoThis is a very narrow view. I've probably practiced software development longer than almost anyone on this thread - right at 40 years. I'm still a practicing software engineer, doing "enterprisey" software development in Java. Still interesting, lots of challenges, and yes, lots of complexity. That said, I've done a lot of other things over my career, and one reason it's stayed interesting is the variety. If I wanted a change right now I'd probably look at small embedded systems work. With all the AI, IOT, scientific, real time control, and robotics software being developed these days, I think there are a lot of interesting directions available! I'll add a shameless plug for Julia, which I think could become a major general purpose programming language, and which makes for some enjoyable development! (On the "best use of one's body", I have some sympathy there, but "balance in all things". Or just up your rates and work 32 hour weeks. heh)