10 ms·
The stack is to deep. Nothing is easy anymore. The technology count is staggering. I'm close to retirement. I'm looking forward to pursuing my personal program
by bungie4 7y ago
The stack is to deep. Nothing is easy anymore. The technology count is staggering. I'm close to retirement. I'm looking forward to pursuing my personal programming interests while I work some mundane, no responsibility, minimum wage job.
Programming is a ridiculous career path.
- deanmoriarty 7y agoIt is indeed ridiculous. I am in my early 30s and I am aggressively saving as much as I can while living very frugally, to hopefully retire multi-millionaire abroad or get a lower paid job that won't stress the life out of me before I turn 40. Hopefully I won't become unemployed before hitting my target, or die of a stress-related heart attack. I am not completely disappointed about my career choice because it allowed me to save a lot of money (see note), but boy, it is an insanely ridiculous career. Very frequently I wish I pursued something else, there is just way too much and fresh new crap keeps coming, every week. Can you believe 4 years ago almost nobody was talking about containers/Kubernetes? Just to name a random niche. Can you imagine what will happen in a couple years? They say "it's all the same, it's a cycle, you already learned it": that might be true if you are a manager or a PM and you just need a very superficial overview of the ecosystem, but if you are a senior engineer you need to master your craft, so even if a technology has been reinvented you need to spend hundreds of hours learning the details of this new incarnation, that's literally what your employer expects. Ask an engineer if being proficient with VMWare is enough to get up to speed with Kubernetes just because one is the sequel in the virtualization scene... exactly. Also add the effect of globalization: my company hires talent from Eastern Europe (not consultants, entire teams with local management, product, ...) who produce insanely high quality software products at a ridiculous pace, exquisitely documented. Those people are wicked smart and on top of that work 20 hours a day. I am surprised software engineers are still hired in the US, where working 10 hours a day is already considered unhealthy. I feel the same way as a brick and mortar store that's going to get pushed out of business because of the more efficient and cheaper Amazon. Note: It also helps that I choose to live in the super expensive Bay Area while not wanting kids, so I don't have the same spending requirements of people with kids and can bank the spread that most people would have to spend on schooling, nannies, good housing, ... I rent a studio for $2k in a ghetto-ish area, and that's 70% of my expenses. If I had a couple kids for whom I needed to provide good housing, nannies and private schools, I would be spending all I earn and there wouldn't even be an end in sight to this madness.
- balfirevic 7y ago> Those people are wicked smart and basically work 20 hours a day. What makes you think they work 20 hours a day?
- deanmoriarty 7y agoI don't think, I know it. I wake up in the morning (PDT timezone), and they have already produced and committed a massive amount of work, or tackled complex architectural design projects. On top of that, they stay pretty much active on Slack during my entire work day, until their local midnight/1am. By the time I go to sleep at midnight PDT, they are already committing code or following up in previous IM discussions (it's their ~7-8am). So, effectively they work twice my amount, and as I said they are very smart and motivated individuals, so they produce more than twice my amount. If I were to start a company in the future, rest assured I would do 100% of the engineering hiring over there, after having seen their work ethics and productivity levels. As an added bonus, they are really not in the mentality of profit sharing/equity compensation typically seen in the US, so you can get them with a cheap salary (think ~$50k/y), whereas a local senior engineer would cost you ~$250k + equity, and would demand a good work-life balance and probably resent you because your free lunch is not as good as FAANG's.
- devnonymous 7y ago> As an added bonus, they are really not in the mentality of profit sharing/equity compensation seen in the US, so you can typically get them with a very cheap salary (think ~$50k/y), where a local senior developer would cost you ~$250k + equity. ugh !!! yeah, you better be scared for your own job and good luck hiring those devs in the future...its more likely they'd be hiring you.
- azinman2 7y agoAt least one of those A’s doesn’t have a free lunch :(
- ridiculous_fish 7y ago
- devnonymous 7y agoNo. Your responsibility as a seasoned programmer is not to code ! I'm a 20+ yr experience programmer and still hold the title Sr. Software Programmer and no. I say no. Yes the stack is deep but it is unnecessarily so. Yes, there's layers and layers ...but it is your job to educate the less experienced why less is more and why there's is always a tradeoff to be made. Computer science hasn't moved a whole lot[1] in terms of problem solving since the 80s. Computers have just become faster. The best ideas we have today are still rooted in the principles of the 80s. They are just a abstraction level higher. So no. I refuse to accept the premise that Nothing is easy anymore. [1] when considering fundamental theories.
- ericmcer 7y agoEvery job sucks though, every job is ridiculous and riddled with inefficiency and bad management. You can view the need to constantly update your skill set as a negative or positive. It is almost a bit of a privilege that we cannot rest on our laurels if we want to stay relevant. Humans thrive on some stress, too much is bad, but none will also ruin you. Granted I am only 8 years in, but I still feel semi greatful that part of my job is exploration/learning.
- bsder 7y ago> Nothing is easy anymore. I don't agree with that completely. I do agree with the fact that the half-life of programming knowledge is far too short. We flip through languages, technologies, etc. before anybody actually gets truly proficient with them.
- james_s_tayler 7y agoSome advice that I heard awhile back that I'm glad I followed is to devote different percentages of your learning budget towards technologies with different half-lives. Stuff that has an incredibly long half life like SQL/Database internals, or OS fundamentals, networking fundamentals, CS fundamentals will serve you well basically your whole career. So even a little bit of time dedicated to these over the long run is time pretty well invested. A larger portion of learning goes on to the treadmill of technological churn, but that's either stuff you are learning now in order to get your next job working with it or are learning now as a result of getting a job that gave you the opportunity to work with it. The middle ground is getting deeply familiar with libraries/frameworks that have a medium term half life. Usually that's some form of data access.
- hackermailman 7y agoType 'research programmer' into google jobs or zip recruiter or something, go take a massive paycut to work for a cancer lab or other research area. No bullshit whatsoever, best job I had was as a 'Clinical Statistical Senior Programmer' in a lab with a bunch of doctors, paid barely more than a garbageman at $55k/year, but I actually enjoyed going to work where everyday you're digging into The Art of Computer Programming or reading some arxiv paper, you have no boss/CTO overlords pushing shitty abstractions like Kubernetes except 'this idea has to work, do whatever you want to make it work'.
- nsilvestri 7y agoI interned at an observatory as an undergrad, which was a similarly fun position. Plenty of opportunity to architect tons of smaller services or tools or contribute to open source astronomy libraries. Just about every facet of computer science was used in one way or another, and I got a taste for almost all of it. Databases, networking, front and back end, real-time computing, among others. The only thing I didn't really learn was how things work in the corporate world, with BAs and product owners and bureaucracy.
- dogcomplex 7y agoAmazing that it takes returning to the academic research world to get back to actual practical no-bullshit programming.
- remote_phone 7y agoIm 25 years into my career. Excerpt for a few years during the dot com bust, I’ve been loving it. I’m looking for a new job right now, have 6 onsites scheduled and 10 other companies I want to talk to if I don’t get an offer I like. I’m also lucky enough to favor jobs close to where I live. I feel very very lucky to have chosen programming as my career.
- somedudetbh 7y agoIt's so interesting to read different people's perspectives on here. I very rarely comment on here, but it's just wild to me how wildly different the conclusions we can all draw from looking at the same set of pretty simple factual data are. I've been working in this industry in a serious way for about 15 or 20 years? So not exactly close to retirement but I'm not straight out of school, either. > The stack is to deep. Nothing is easy anymore. The technology count is staggering. To me, it's insane how much easier literally everything is, and how wildly more productive people can be. I remember when I was young, first of all, it was impossible to just get access to technologies so you could learn them. Compilers cost money. Databases cost money. Operating systems cost money. It was hard to even get to the point where you could mess with stuff, for financial reasons. Now, to a first approximation, there isn't really a tier of basic software you'd want to develop on/with that you can't get essentially for free. It's not like they're running some totally different "production-grade" operating system or database at the big tech companies, or that the well-funded machine learning labs have access to some sort of special super computer with totally different characteristics than what you have access to. They basically have the same shit. That's bananas! Then, there's the utterly massive revolution in programmer productivity that has been caused by the internet + automatic memory management. In the olden days, there was very little code reuse, for several reasons, but one of the reasons was that it was too hard to pull in random libraries and start thinking about who would own the storage for the error string they wanted to return to you out of every single api. Everyone bitches about how javascript programmers think nothing of adding "left-pad" to a package.json along with twenty thousand other dependencies, but the fact that you can do it is nuts! And it makes everything SO MUCH FASTER AND EASIER. The other day I was just curious if I could point my webcam and my whiteboard and have it pull in the lines I drew on the board with a marker and save them as some sort of curve in the computer. I have no experience in computer vision or anything like that. I don't even really know Python. I was able to get this roughly working in like half an hour with Python + OpenCV + some driver that already made my camera work + some tutorial that came up in DDG. It's like being a freakin REAL LIFE WIZARD. Take building Android or iPhone apps. I remember trying to write apps for the Palm Pilot a thousand years ago. Just getting the toolchain to work at all could eat up a couple days. This is reminding me what it was like to try to write a win32 app w/ OWL or MFC, starting from the auto-generated code. Anyway, now, you get a tiny computer with shockingly powerful cpu+gpu+a zillion radios+gps+multiple cameras+gyros+compass+accelerometers+gigs of storage + gigs of memory + a super high rez touch screen. You can assume that to a first approximation, everyone in the high-GDP/capita countries has one of these, essentially everyone in the mid-tier, and the low-tier is growing at a shocking speed. Further, they are all exposed to your code through a more or less universal set of interfaces so you don't really need to worry about drivers and hardware support hardly at all. You want to run some code on here? Ok, you can distribute it for free over the air, and you can write your code in an automatically memory-managed language with a freaking gigantic standard library. Oh also the SDK is free. And there's an emulator that runs on x86. Oh and there's a visual multithread debugger that you can attach to the process...from your computer..remotely. Oh you don't need a dev sdk, all the normal units everyone has, those just work. But you want to build a network application? Something that needs to talk to some sort of service? Well the good news is you can get a database, an operating system, and incredibly powerful web servers and application servers, and they all cost nothing. In fact, they're already installed, on the computers that you can rent by the minute, and the lowest tier if you just want to mess around? It's free. Mainly what I feel like is extremely JEALOUS that I wasn't born later. Imagine all the cool fucking shit you could have built as a kid instead of wasting your life trying to find a cracked version of Borland Turbo C that worked right. Choosing between the horrendous performance / security / etc of perl cgi-bin vs. the unattainable per core licensing fees of a "application container" or whatever those special jvm things were called. Oh, here's one: DATABASE FREAKIN DRIVERS FOR JAVA. jdbc drivers used to cost money! And they sucked shit!!!! ahahahahhahaha. I agree that programming is a ridiculous career path because I can't believe ordinary-talent-level programmers in Silicon Valley get paid into the low seven figures a year to essentially work on their hobbies. This has to end at some point. I can't believe this is a real job. It's like your whole life, you love legos, and you're always trying to build bigger things out of legos, but you always run out of the pieces you need. And the someone comes along and says, "Ok kid, here's the new rules. Legos? Legos are free. Every single type of lego, in more or less unlimited quantities, you can just have those." What's the catch? "The catch is you get paid to play with the legos." Wow thats crazy but it must be like...a barely survivable wage. "No in fact total rubes who just graduated from school are gonna get paid 3x the median income for a family of four in their first year out of school. People who've been around for 10 or 20 years will make like a million bucks or so." But only in like weird big risky situations, right? "No that will be the deal if you work for the most stable boring companies where you get six weeks of vacation and all your meals taken care of etc." ??? How is this possible?!!?!
- davidgay 7y ago> Programming is a ridiculous career path. You have blinders on. Programming is a far better, far less risky career, and pays far better than many very popular career paths (architecture, teaching, sports, arts, research (be it science, computer science, or humanities). Context: - sports and arts are obvious - I did my stint in research, and programming (even at FAANGs) is far less stressful and far easier to find a good job in - my wife worked in architecture / works as a teacher
- mettamage 7y agoCoding school bootcamp instructor could be a thing. It's basically the same as a teacher. Or teacher at private schools also make more.
- dogcomplex 7y agoYeah, you might be right, but I fear this might just push the OP closer to utter devastation as he realizes the working world is fucked everywhere.
- rightbyte 7y agoThere are grades of grey.
- RickJWagner 7y ago30 years in professional programming for me. I agree, the stack has gotten so huge that it's impossible to master even most. But what a great career for constant learners! I'm glad it's the way it is.
- faanghacker 7y agoWhat's the point of the constant learning if it's going to be obsolete in 5 years? That's what I can't stand about the cult of "you get to learn so much at FAANG or a startup" -- at some point in life, you need to spend less time learning new things and start applying the things you have learned. I've been drinking from the proverbial water hose for 20 years. It's tiring now. At some point you need to be able to find the permanent things and reject the noise.
- CraneWorm 7y ago> What's the point of the constant learning if it's going to be obsolete in 5 years? Well... that's the point, really. If it didn't change then you'd be able to master it all. The constant change is the motivation for constant learning and (hopefully) improvement. There's no point in me trying to make a longer point of it. There's an sort of an eye-opening account from someone coding for years about how our situation as programmers has improved over time.
- artsyca 7y agoI thought we're not meant to call ourselves programmers If you're doing it for any reason other than to gain transcendetal enlightenment you're in the wrong space
- mettamage 7y agoSo what job is intellectually doable, people-based and has a high upside (eventually) and doesn't have crazy work requirements? I'd like to do that job, but last time I checked, there are none.
- jturpin 7y agoI've only been in the industry for 6 years, not counting my student programming job, and I've started to take tutorial-style notes for myself for all the technology jobs. For a part infrastructure, part software engineer person like myself, you're right there's a massive amount of tools you need to know and be a semi-expert in. There's no way I can hold it all in my head. I'm using mdbook and a very simple git workflow to build up a nice searchable notebook, so when I learn a new topic, I can learn it in a detailed way and take some notes that are tailored to how I re-learn. It's taken a huge burden off of me to constantly have every technology in my head.
- theamk 7y agoAre you in the web by any chance? There are plenty of things where the changes are slow, and 20 year old frameworks are still used up to today.
- cerberusss 7y agoIf you take deep stacks upon yourself, and then hate it, yes, that's a ridiculous career path. Personally, I took iOS development. The tech stack is actually quite shallow. And there's regularly new things to learn. Programming as a career brought me intense joy and wanting to go working.