Ask HN: What is the skill worth investing for next 20 years?
With uncertainty in the role of software engineering because of current market and it potentially being automated, which field of computing is worth investing upon?
Are there even any field in software engineering/development where the core knowledge has remained true over the course of years? Designs and paradigm changes.
For example, basics of graphics are same over 50 years. But the way things are built have changed multiple times. Apparently, no one pays for someone who knows only the fundamentals. People need experience in practical aspects too.
Another example is AI is like a rat race going in circles and trying to catch up with the latest ideas. Contrary to hard engineering where basics remain true for a long time until we find new ways. But the basics of engineering a product or solutions translate no matter what.
So what do you think are skills that are going to be relevant no matter the hype? Sort of a meta answer: learning how to learn. It feels like the velocity of change is pretty high. So being able to pick up new skills quickly is important. I also agree with others that soft skills are incredibly important. As for fields of expertise, I am looking into many diverse topics such as urban planning, sociology, civil engineering, aerospace engineering, electricity production. I feel like at least in my environment there are a lot of problems that I could help solve if I had knowledge in some of these areas. Besides that I am doing a PhD and recently there has been a lot of emphasis on interdisciplinary research. Understanding the customer. Understanding the problems to be solved. Understanding systems. Being able to design and implement systems. Being able to communicate value to the customer. Ability to learn new things. Ability to adapt available solutions to particular circumstances. Ability to select appropriate technology for the problems at hand. Technology comes and goes, engineering fundamentals are still behind it all. How can one demonstrate this skill? When academics look for grades and HR looks for buzz word. Is there some keywords that people are missing which will help them demonstrate it? In the CV, make sure that the effects/outcomes of your work is described (not just the role/activities).
But on the CV screening stage one probably still needs to play the buzzword game. Tailor as well as you can to the role in question though. It is mostly at th interview stage that the above skills can be demonstrated. Most effective by showing that you know exactly what they do, what they need, and how hiring you will help get there. But remember that skill building and job seeking is quite different things. The latter is mostly about finding out what people want to hear/see, and communicating that. I guess only extensive experience will show that Maintenance of software created by gen ai. As companies delegate mode software dev to gen ai, they would lack the experience of developing software (or lack the budget). This means that there will be ton and ton of work for real developers who can do the last mile. I.e. there will be at least 100x more software to maintain and change. Most of the hype is generated by people who did not wrote a line of code in their life, and lack any understanding of software complexity. Soft skills if you want to work with people. Yes most SWE work more with people than computers. Strong fundamental CS skills (e.g. getting through MIT/Berkely CS core courses with all assignments and projects done properly) if you don't like working with people. (don't get me wrong, still has to work with other people, but you get to choose which people to work with) Sales. It's the go to skill if everything else becomes useless. It's the primary skill if you choose entrepreneurship. It's useful for freelancing should you have any secondary skill. It's not about all that sleazy sales stuff, leads, CRM ability. It's about 1. Knowing your product, who wants it, who is hurting because they don't have it. 2. Finding a way to reach out to the people who will benefit the most. Understanding sales/support channel. Cold calls and FB ads work for some things, but good sales people learn that there's plenty of other channels that work. 3. Explaining your product to the customer in a way that makes them go "shut up and take my money" There seems to be many people who thinks sales is the way to go. So does it mean that being a average engineer will have no value in substantial future? Sales is the low risk, medium returns option. Engineering is high risk, high returns. What skills have stayed the same over 20 years and provided the same standard of living over that entire period of time since we passed the industrial revolution? Nurses, doctors, pilots, have all needed to become competent with computers. Financial people needed to learn Excel. Farming requires more mechanical and chemical skill. That is not to mention entire categories of jobs that no longer exist (telephone operator, appliance repairperson, non-luxury travel agent, etc) or jobs that only came into existence in the past few years (social media director, devops engineer, prompt engineer). You also never know when a new technology will come along that disrupts everything. Being a cabbie used to require an incredible level of study and diligence to understand the roads of your city. That understanding is now worthless, as we all have the equivalent in our pockets. Somebody writes the weekly jobless claims articles at news agencies. A human won't be doing that in 5 years, if they are already. I am playing around with Midjourney and I can see a lot of lower level freelance work like logo design getting utterly annihilated by it. Spinning up basic web apps is pretty easy with ChatGPT, even if you don't know very much code either. So there is no skill I would be comfortable relying on to earn a living for 20 years. You might work for a company that doesn't update as quickly and get away with it as a result, but that is luck of them not firing you. The jobs that are the same as 20 years ago are the ones that do not require training or skill to do. I can imagine in the next 10 years, most of the programming will turn into typing something in ChatGPT to create cloud infrastructure and most basic code, in fact, my coworkers already using ChatGPT to create AWS Cloudfare scripts with relative success.
What is not going away anytime soon (in my opinion): system programming with hard constraints - formally verified software, numerical computing software, cryptographic software. We've been here before... when VB6 and Delphi were out and popular, it became possible for domain experts to build a passable application and get the job done. There was still a large demand for programmers to come in and clean things up, fix all the edge cases, etc. if it turned out to be useful, when there was a larger target to adapt it for. The current situation seems quite similar to me, tools to make code easier to write, but not easier to maintain. I think programming jobs are safe. People say our job is safe, but aren't we in similar position to the horses who got replaced by cars or telegraph operators who just vanished? I know AI is being better however after talking with a lot of my It friends they told me AI isn't that good for development. And If you don't understand programming you can't write any valuable code using ai. So I think you should refine your skills Not computing, business. I.e. solving customer needs. The tech is just the tool. I'm worried that the next skill to invest time in will be.. financials/investing. :( Seems super boring to me. Programming Languages. Not the syntax of individual languages, but the concepts underpinning all languages. Languages come and go, but the computer science and math underneath it all doesn't change all that much. Learning to leverage LLMs as part of software systems (distinct from LLMs for writing code, that'll be common soon as people catch on and it becomes acceptable to most). Public speaking. Sales. Being a good human. It's funny I get downvoted for things that'll outlast technology whims and fads. Learning how to communicate well, will serve you well no matter what industry you're in. Knowing how to sell will serve you well, and also solve problems for LOTS of businesses. Being a good human involves a hell of a lot more than just technology. We'd do ourselves well to get out of our collective tech bubble. There's a MUCH larger world out there than just we see on the screen. It seems as if there is perhaps a narrow-minded view here that assumes technological skills are the only ones worthwhile. Nothing could be further from the truth. ESPECIALLY in this era where folks are so paranoid about AI replacing people/jobs. Being more human will win. Those are skills absolutely worth investing in. I agree with public speaking. Whenever I see someone able to even create a video and upload with a face, I am in awe with their confidence. Public speaking just takes everything to the next level. How can people be so confident about themselves? For example some technical blogger post it like they own their posts. Going through that feels like the author is a all-knowing being. How does that even kick in within a person? Most public speaking relevant to technology is reading slides. Not exactly an awe-inspiring task. And some other kinds of public speaking (e.g. Trump’s or Biden’s speeches) are so bad that I sincerely believe any moderately intelligent person should be able to do better. Technical blogger videos are not public speaking - there is plenty of editing. Yep - for every minute of videos I upload there’s an hour of editing. And recording audio is full of retakes. How about learning how to listen ? lying > With uncertainty in the role of software engineering because of current market and it potentially being automated This is FAR from given. Super far. I'm sorry to say that you may have to study psychology to understand why in a way that makes you go "holy sh*". But I get the general reasons for the uncertainty, they are usually about "please welcome your exciting new replacement" concerns. Which _can_ be a thing in some cases, already have been, and so on. > Are there even any field in software engineering/development where the core knowledge has remained true over the course of years? Not to be disagreeable, but the core principles are generally always reliable (true|belief|etc I don't really go there with principles in tech especially) even if aspects have changed. It's still really applicable in sign painting which I do myself sometimes as a hobby. And then it's pretty wild but the same principles translate exactly into digital signage. > Apparently, no one pays for someone who knows only the fundamentals. No, BUT it's not a dichotomy: - Know the fundamentals only OR - Know the specific new hot practicals ...it's way more than that. You can still lean to the fundamentals side and get paid well! Part of doing that involves really interesting stuff, which can be described as "developing my/the new fundamentals." (Adding the "my" part because it also can just be scoped to what you need to know to be effective at your job, it doesn't have to be discovery of some universal fundamental, and you will get recognized more easily for focusing on $JOB's details anyway) A lot of people enjoy this part of their career in tech, and it helps them find a relatively peaceful psych-interface through which to be more OK with the ADHD-style new & changey particulars stuff. Also sometimes it's a matter of social interface. It may be a matter of describing yourself so that people understand what you're good at, and making sure not to focus on describing what you don't like, or hate, in your career. > Another example is AI is like a rat race going in circles and trying to catch up with the latest ideas. This is a good example of what I'm talking about. If you can just dissect your experience a little further, you might find that it can divide up into e.g. "stuff I personally think and like about AI" and "what everybody else does and thinks with it (rat race)". If you keep working on the former, you can eventually build some really cool community bridges and in ANY case, you'll still probably be way ahead of the people who want to pay you to interface with AI for them! Their fear of tech will never really end. Find those people. Tell them you get AI. Or whatever excites you. Get a job, get paid, enjoy. Just some ideas & good luck.