Everyone who works in tech or aspires to should read it.
I've had one job my entire career (31 years and counting.) It's very niche tech. I'm good at it. There are maybe 10 other people in the world who can do what I do. And they're all overworked.
The real value and security in tech is in the edges, not the mainstream.
For anyone else reading who is unhappy, uncertain or struggling, I hope you find the same for yourselves too. I probably don't know you, but there's complete strangers out there who want good things for you too. Don't give up.
Equally, yes, some folk rose up through the ranks at fang (or better yet fintech) and make mountains of loot. For each success there's a fair pile of failures though.
To rise up through those ranks, typically you need to make sacrifices. Long working hours, minimal time off, stand-by weekends, emails at night, and (imo) suffering the bs that comes with corporate jobs.
Building your own business are all those things too, but without the corporate bs.
The interesting thing about 500k though is asking what you can do on 500k, you can't do on 300. Or 200. Or in lots of the world, 50.
Time left for relationships, children, holidays, other interests and so on are important to me. So I'm prepared to balance those with raw income. I'm not making anything like 500k per year, but I've turned down fang recruiters because all the money in the world can't make up for what else it would cost me.
disagree. fewer jobs. less turnover. like yourself - 3 decades.
better go for the next big thing. whether AI, VR or something.
long as it has a barrier to entry. even just complexity.
The people on the edge create the next big thing
By the time most of today’s wannabe AI gurus are good enough to get a decent job offer - AI would not be such a big deal (best case scenario imo).
I didn’t notice any “obvious” changes in the game that weren’t there before.
For instance I don’t see anything different in requirements and comments of HRs reaching me.
JVM is still same jvm, bugs are still bugs, unit tests are still unit tests.
The fact that now instead of googling a problem you google and gpt it is a minor change in any real world complex engineering context that im aware of.
What exactly is obvious to you that im missing?
In general, I think you make your money in Tech at the ends.. Either bleeding edge or trailing edge. ATM, I'm working on Rust, serverless, playing with Pijul, keeping an eye on OpenTF, and pulumi.
For trailing edge stuff - I figure I'll be the worlds oldest COBOL coder by the time I retire and can use that to fund my retirement :-P
(And yes, COBOL will be with us for many years to come. In the next century, we'll probably be emulating IBM mainframes on quantum computers.)
The LLMs that we have today are amazing, but there is still plenty of room for improvement. Having to train it on a huge dataset is problematic for some uses; perhaps there is a related structure that can be trained more easily and more quickly. That would also reduce the effect of OpenAI's monopoly. LLMs also have specific weaknesses, like poor performance at arithmetic. At this stage, I wouldn't really feel comfortable feeding problems into an LLM and presenting users with the LLM's answers. It's still the Wild West in many aspects. There is always an improvement on the horizon, but it's hard to tell where it will come from and when it will come. Maybe we'll have LLMs that really start to resemble intelligence, or maybe we'll have a totally different structure that does everything LLMs can do plus more.
If ever, a GPT-like LLM/AGI ever exists where it can distill business requirements, understand modular designs and intelligently establish complex relationships between different systems and contexts, then 99% of all jobs will perish.
This will be an unprecedented disruption at a macro scale that humanity has never seen before. All of our current economic models will be instantly trash. How likely do you think this will happen? If it does, there's no real incentive to have these systems produce anything because no one can afford to buy anything. A global revolution would be inevitable.
My company already is doing a hiring freeze and we have a lot of work so having tools like OpenAI has been invaluable to help me with my daily work.
Can you elaborate on this? Very interested.
My solution in general terms is to go where competence isn’t ambiguous.
And you went into management?
Learning a very niche skill is harder. Finding jobs with very niche skills is harder. But once you've done that you become very hard yo replace. (Your job might go away, but there's seldom outright replacement. )
Plus of course some protection from offshoring.
It may protect you from offshoring because the stakeholders don't want to talk with people in third world countries and want to zoom with someone in a nice office paying 2k rent per month for a studio.
It won't save you from AI. We jokingly built a chatbot to write in the style of our product manager and engineering manager and it's shockingly accurate, especially if you consider both figures ask what the stakeholders want and technical feedback to engineers who knows what they're doing and meet the requirements.
- Using modern tools (ChatGPT, Phing, Copilot but also GH Actions, docker, etc.)
- Workflow improvement (Faster typing, how to use keyboard shortcuts, write scripts for automation)
- Debugging and measurement (Finding issues quickly, Analyse performance, etc.)
- Basic infrastructure understanding (Networking, Orchestration, Deployment, CI, etc.)
- Automated Testing (How to write Unit-Tests efficiently to save time ignoring all the TDD 95% coverage bullshit)
- Learning Markdown (How to write good technical documentation quickly)
- Learn concepts, not Frameworks[1] (tinker with other languages, command line, GUI, Web, etc.)
- Basic Operating System and Hardware understanding (Tanenbaum: Modern Operating Systems, drivers, etc.)
[1]: https://pilabor.com/blog/2021/05/learn-concepts-not-framewor...
We are moving from a period of time in which engineers were needed to do, essentially, day-to-day grunt work of software development (write this CRUD app, figure out this schema, implement these requirements) to a period of time where engineers will be needed to oversee, design, and manage relatively intelligent tooling that will do those things for us, and then be evaluated on its results.
Put another way: Engineers are currently like factory employees at the turn of the 20th century. Lots of manual tasks are needed to keep our "factories" running, tasks that, in the 21st century, robots can do just as well. But that doesn't mean no humans work in factories. Plenty of people do, but what they do are the things that the machines can't be trusted to do alone, or at least, can't be trusted to do alone sufficiently reliably for reasonable cost.
But even so, far fewer people work in factories now (as a proportion of the population) than did in the early days of the industrial revolution. It seems to me that engineering will likewise be winnowed down. That means that ultimately even the most valuable engineers won't be as valuable. You won't need as many of them to do the work, and you won't need to pay them as well.
If I choose to stay in engineering (which is by no means a guarantee), I think I will need to focus on moving from "day-to-day implementation" into "designing and monitoring the overall approach to systems." At most organizations, this means getting to and being successful in, at minimum, a staff engineering position, preferably higher (e. g. lead/principal). I am nearly there at my current organization, but I don't have the skills to perform at the next level yet. I can probably develop them, but that's also not for certain, and even if I do, I might not like that kind of work.
In that case, if I wish to remain in the workforce I will need to change career fields, and find one of the things that won't be automated away by LLMs or similar technology over the next 15-20 years. (For example, contrary to a lot of thinking currently, I think a premium will continue to be placed on genuine human creativity; I don't think AI will eliminate the desire for humans to consume art created by other humans. Any field which involves physically doing - such as the trades, or maybe some kinds of hardware engineering - would also be an okay bet.)
Or I could always coast on the coattails of my spouse, who is already in such a field. That might be easier :)
Like with AI, I've tried Copilot (in the free beta). I've poked around GPT both on the web and using the API. I've tried local LLM models and StableFusion.
Not going to go all-in on any of that, but I kinda know what's going on and where the tech is at.
Now if someone pays me to take a deeper interest, I already know where to start looking and who to ask for more information.
Also: look for the boring stuff. There's a ton of work in the uncool industries.
There's software in tractors, mining equipment, smart metering etc. It's not the cool whiz-bang stuff where you can rewrite everything in Rust, but on the other hand it's stable work where the software is just a part of the bigger machine and you're usually not writing code with a fire under your ass. Nobody expects 16 hour work days and there's actual work-life balance.
I've often found fundamentals to be just as important, or more important, than chasing the trends.
Much of my background is in product design, particularly sheetmetal enclosures. I grinded through a few different jobs in that space, picking up some skills in CAD Administration, PDM (think engineering document workflows), and programming (mostly VBA and Python). I saw myself moving away from product design/manufacturing into engineering automation... but I kept getting pulled back into designing widgets.
In my early career, designing widgets was fun and interesting. Even got some patents. But indecisive customers and overpromising salescritters made the experience extremely frustrating. Some people just love to quibble with designers over minutiae, resulting in delays and overruns. "Sure, the product is functional, but... it doesn't look like what we had in mind."
I got laid off this past summer, but lucked out with two competing employment offers. Company A needed a product designer, and they needed a CAD/PDM Administrator as well. Company B needed someone to reverse engineer existing CAD models and program mesh generation scripts for simulation software verification models. In comparing these, I realized I had an opportunity to pivot away from designing new manufactured products - and negotiate for more money in the process. So I picked Company B, even though my skills were probably a better fit for Company A.
Since starting my new job, I've found myself lately enjoying lots of downtime. In product development, I was always scrambling to produce and change designs to meet ever-evolving requirements. The design process often trends toward instability and complexity as requirements contradictions arise. In contrast, reverse-engineering naturally reaches a point of stability, and quickly. It's very satisfying doing well-defined modeling tasks and knowing that the tasks are DONE.
Future-proofing a tech career is often seen as an exercise in skill-building, focusing on what employers are trying to acquire in new hires. But I think tech workers really need to think about eliminating their career pain points as well. Reducing burnout can open your mind to new career possibilities.
As a coder since 2002 (when I was 12 years old), I feel like I got into tech at the right time. Nowadays the new hacker is the people that can amass a big audience doing interesting things. If I was 12 years old now, I probably wouldn't hack my way coding, I would do it through social media.
I chose finance, then the crises kept hitting. I don't regret it, because I'm still very employable and I did make some money. But to me it's a bit of a missed opportunity.
The point is: don't look at what is hype now, look at what could be good in a few years. My guess is that the next huge thing is robotics.
The focus is still on making products and live off them though, more than staying employable.
Staying employable is a nice side effect of training the "building products" muscle.
I don't think it will be too soon but at some point work done by humans will lose any meaning and we'll just divide in people with income/value generating assets and people without.
Better be rich by that point.
"AI" tools are at their heart productivity tools. Use them to be more productive so you can focus on higher value activities.
Although right now I don't have the energy to work on that stuff since I am scrambling to get the next crap Upwork contract.
If you are following the trend of the moment, your chance of success is low.
Everyone and their friend is "working on an AI business" right now. Some might make it. You might be one of them. Most will turn into nothing.
Again, with respect, jumping into AI now shows a lack of imagination. If you want to make something of value, you need to get outside the mainstream, be more creative, not something that's just riding the current hype wave.
I say this to be constructive. Not to insult.
I kind of asked to be disrespected by admitting that I am not having an easy life.
I got into generative AI awhile back when GPT-3 came out. A very significant portion of Silicon Valley also switched to AI related efforts. Not from a lack of imagination but because it was painfully obvious how powerful it was.
It's been enough to get by. It's definitely easier to get jobs on Upwork in a trending field.
Since I've been pursuing online business for over a decade and built many for others, I am quite aware of the odds of success.
What you actually informed me about was only your lack of respect.
None of the rest of it was even a tiny bit informative.
Perhaps to are projecting this as a way to defend against your poor ability to adapt.
It doesn’t matter how awesome you are, because in most cases employers are viewing the world as a bell curve and targeting the large population in the center. Being supremely awesome in your skills and capabilities moves you far away from the center of the bell curve.
Most employers realize many of the people in that swollen center seriously lack the fundamentals and adapt the environment accordingly, such as lowering barriers of entry and lowering minimally acceptable quality criteria. That is not the environment a top skilled developer will strive in.
My goal moving forward is to work in jobs with higher barriers of entry, preferably some manner of institutional barriers.
But more seriously, just keep learning stuff. New languages, systems, tools, whatever grabs your interest.
The future you can bet on is the one you create.