Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What are those strategic skills to master for the next 5, 10 years?
69 points by baotrungtn on Jan 29, 2023 | hide | past | favorite | 82 comments
Hi folks, With all things happening with AI, Robots, autonomous cars, drones, etc. I feel like even software engineers can experience difficult time to find a decent job in the future. What do you think are those strategic skills to master for the next 5, 10 years to have an edge? Please give some specific technologies/skills (learning how to learn is nice but not so specific). Thanks!



Here's a non-technical one: I call it "screen politics".

In the workplaces of the past, talented knowledge workers had two ways of getting ahead: by their work product (docs, slides, code, papers, etc) and by their interpersonal skills in close quarters office environments. Lunches in the office. F2F presentations to the bosses. Water cooler chit chat. This was both wonderful and miserable, depending on whether you were good at it, liked to do it, and were in the in-groups where it could make a difference. (Sadly, not everyone was, but let's park that for another long thread.)

In the workplaces of today, you still havr the work product, but opportunities for face to face interaction in physical space are vastly reduced. You may think this is wonderful, and for many workers, it is, but it does make it much harder to get noticed and advance in your career. You are just a face on a Teams call. Your personable-ness is flattened by the intermediary screen and technology.

Your challenge, then, is to learn screen politics. How to come across well with a screen between you and progress in your career. I don't think we know collectively how to do this yet.


It's a form of networking.

If you focus on making friends instead of enemies (or at least people know they can rely on you, and are willing to say so to management), the word will get around, and in this disconnected environment, managers spend more time asking around about how other employees are doing.

Put another way - your reputation is a lot more important now than it used to be. It's a lot harder to schmooze the bosses than it was in person.


Are you sure? It's a lot of the same skills as your #2 above, however:

- wired LAN

- a soft key light

- a real camera (not a webcam, not the built in front-facing camera in your computer or display, but a camera with an HDMI output and an HDMI capture device on USB)

- real microphone, i.e. a wired headset that puts a mic close to your lips

These are cheap ways of quickly doubling your ability to convey information online.


For the microphone, I find the mic built in to the MacBook to be very good. You can use wireless headphones and then just set the input to the built in one.

You can also now use the iPhone as a webcam which gives exceptional video quality and they sell an accessory that sits it on the top of the screen.


How do you do eye contact with the separate camera?

Even clipping a $100 Logitech to the top of a 15-inch laptop at my standing desk, and dragging the video window of the person to be right below it, it doesn't look like I'm looking at the other person/people when I am.



I don't like it, but it would be less bothersome if everyone knew it was only doing causing "eye contact" to be perceived when it was actually being made. (Such that only when person A's gaze is looking at a display of person B, will B perceive A as looking at them.)

There's also cameras behind displays.

As an immediate practical matter, for a Linux desktop setup running open source with ordinary display and camera, I'm still wondering.


> wonderful and miserable

Strategic: Exploit new tech to generate the most attractive and personable virtual representation. Whomever wins Teams wins. Exploit tech to evaluate superiors and peers objective and subjective rankings based on video, audio and text. Stress analysis on superiors to identify actionable priorities.

Tactical: Know the buzzwords, flavors of the year, have enough skills to know where the breakage will be to avoid or to be taken advantage of. Identify the best peers to be leveraged when superiors come to you.

As the old guards passing is already accelerating, that’s where the most breakage will be, so invite them to mingle somewhere. That will work for the over 40. For the 30-somethings that may require other means.


> How to come across well with a screen between you and progress in your career.

i wish this isn't going to be the case (but i do suspect it is true).

What i want to see in the future is more software entrepreneurs selling a service to a client rather than being an employee. In such a scenario, your work product is your value, and screen politics is synonymous to sales/marketing.


This is a great point! (And kind of terrifying.)


Stop being an expert in something, and instead learn how to learn, and execute. Aim to become a polyglot (or even a polymorph!), and go with the flow, rather than spending all your time focusing on what's currently cool.

There is tremendous amount of value in working with people who can jump in and out of projects, with the associated cost. But more than that, it also helps you bring a different approach to problem solving, one gleaned from turning the problem over in multiple ways. This is an adjunct to critical thinking.


Here's a nice talk along these lines: https://www.youtube.com/watch?v=Z8KcCU-p8QA

My TL;DR (probably somewhat flawed since it's been awhile since I last watched it):

1. Use an iterative deepening approach to learning.

2. Keep a list of notable problems and also a list of notable solutions and think about how they might be applied in different areas (for instance...iterative deepening).


The ability to work well with others. People will always prefer relationships with other people over bots, even when they can functionally get everything they need from bots.


I think "working well with others" can be learned by AI. Also when everything is AI that really no longer matters?


From what I’ve seen, AI can appease others. It’s like the court advisor who only tells the king what he wants to hear.

For many, that is good collaboration. For best results, you need diversity of opinion.


I would have to disagree.

My opinion is the exact opposite of yours.


Being able to narrow your focus to the important big things.

Building for the long term.

Everyone wants to do things quickly. That’s hyperscale hangover. while you can make a decent whiskey in just a year or two, the really good stuff requires more time.

Practice saying “no” to good ideas that excite you.


I’m going to +1 this. I’ve been doing a lot of breadth stuff in my career to see what’s out there and see what I like. UI, backend, distributed systems, CS masters in ML, bunch of just random shit.

All I can say is now that I’ve seen a bit, I’m ready to kind of just focus on the fundamentals more. Everything is rooted from the fundamentals and as I learn more raw, low level stuff, the less daunting all the other crazy stuff seems


Both breadth and depth are useful. See my comment elsewhere here about learning with iterative deepening.


This is so true. However what are the important big things of the 2020s and 30s?

Most people won't persevere because they usually loose faith or lack perspective.


Have you ever gone surfing for an entire day?

Opportunities are like waves. They come in bunches, but a good set doesn't mean every wave is good. Sets are unpredictable, but you know when they're on you. You need to be ready to catch the wave, and sometimes it fails underneath you despite looking like a winner.

So not to be too vague, I would say the best adaptive skill is being able to recognize a wave, paddle hard into it, and cut out as soon as you realize it's not going to give you the ride you want. There may be patterns out there, but instead of predicting it's best to react with vigor.


We've all known the person who has the minimum amount of skill get promoted.

Skill does not matter. You need the minimum and no more. It doesn't hurt to be exceedingly competent, but not necessary if you want to climb the ladder. If you want to be a one single thing and not rise in the company, but only interested in increasing your particular skill, like programming, that's cool. But the rest of this doesn't apply to you.

Communications and being able to meet the right people in the company matter the most to climb the corporate ladder.

You didn't come out of the womb programming or doing double-entry accounting. You have to learn all those by an investment of time. In the same manner, you can learn interpersonal skills, but it is just as time-consuming as learning programming and one has to really work at it. But it can be learned. There are a ton of videos online.

There are tricks. Like when you first start a job, you do not make friends willy-nilly with the first person who talks to you. You take your time, figure out the power structure in a company - who the powerful people are. Then you set out step by step how to meet them. You can't go around your boss, so that is part of the game is to make yourself noticed in indirect ways. If your bosses bosses boss talks to you first, you are not going around the chain of command - you can't just not answer the person. Depending on how big the company is, it can take years to manuever up the chain. I'm not saying to do this in a dickish way where you backstab or even frontstab people. All you are doing is being sociable, seeing what has to be done, and are noticed by those who need to notice you.

Working where you bring dollars in the door is super important. Rainmakers are everyone's friend. So if you are a computer programmer, and can help the sales and marketing team become more effective to make more money, that's a winner.

It's amazing, when you meet the right people, they pluck you out of nowhere and zoom you right on up the ladder. It's happened to me a few times.

But you have to know how to be sociable, which means sociable to that person. If they are an introvert, you need to know and understand it and adjust yourself to that person, for example. That's what it means to be sociable. Not to be a braying jackass who wants to be the center of attention & holding court.

Of course, this is irrelevant if you work in a startup with 5 people.


Great comment.


Do not attempt to compete with AI. Rather seek to thoroughly understand fundamentals & lower levels in an area you're interested in. The more layers of abstraction we keep adding (e.g. in the compute space - AI running on containers, running on virtualization in infra, consuming data on top of various hosting, databases, storage and networking, crossing data centers globally), the larger the blast radius of infrastructure failures will be, and the more demand on the skills required to comprehend, fix, re-architect and rebuild such.

I also think that true SRE skills will further expand, way beyond for what Google designed such roles.

Security in all areas will also continue growing in human skills demand. Creativity in this space is crucial.


A common setup for cloud-hosted Kubernetes might have something like 7 layers of HTTP reverse proxies between the end-user and the actual code serving them HTML.

Figuring out which of those causes some rare problem is going to require dark wizardry.


Since this is an obvious next step of AI, build the dark wizardry


Here are a couple of stabs at boring answers for commodity developers, at the risk of being wildly wrong:

For the next 5 years, any team that is big enough to have a collection of multiple restful endpoints and services, GraphQL is just generally superior. Federated GraphQL is worth investigating as well. For performance, look into the various protocols that are superior to json over http.

For frontend, if we're looking at a 5-10 year timeframe, I think it's still the wild west. I still suspect that React, while a good evolution over what came before, is still something of a conceptual impedance mismatch. Whatever model is best for reconciling UI concerns with network communication data flow, I'm not sure we've really identified the right primitives to design on top of. We're still rewriting to find the lower-level approach that really fits.

For AI, we're really distracted. We're on this road to engineer more and more convincing simulations of intelligence without really tackling intelligence, and we're going to eventually realize it's asymptotic and will hit another dry spell. When we get back to focusing on not how to make computers smarter, but instead how to use them to make people and societies smarter, then we'll make fast progress again. But this will require some political realignments. I think this is more of a 20-25 year timeframe. You can make a lot of money in the next ten years if you get into AI with the intention of finding even more effective ways to trick or con people in the short term, but the overall impact will be damaging.

Finally, I have no experience in this arena, but I think VR/AR/MR is going to be absolutely huge. Developers are going to have much more opportunity to play with this stuff than with machine learning, which will be part of it but at the lower level of libraries and device firmware. Integrating that tech with development tools, end-user experience, etc - that will be massive.


I think GraphQL goes away in 5-10 years and we can place it next to the whole NoSQL craze and just move on, but that's me.

I've never seen it be anything but accidental complexity, but would love any concrete examples of where it's been worth the effort.


From the client perspective, I've always seen the main three benefits (compared to rest) as: avoiding overfetching, avoiding underfetching, and type safety. Ideal case is one query to get exactly what you want, and to know what you're getting.


I love GraphQL, it makes writing typed APIs for multiple clients very easy, since client code can basically be auto generated from the GraphQL schema. More concretely, it forces you to think about your data, unlike NoSQL where you can just chuck a JSON blob of whatever you want.


What are some of the protocols superior to json over http?


gRPC


Almost everything can be replaced by AI. I suggest for you to study politics. Politicians can be replaced by AI BUT there's a small time window before AI takes over where you can become a politician and make laws to ban AI, thereby saving your job.


The most accurate answer


Making it illegal will just push it underground, the end result being some kind of AI mafia.


1. Communication with and without brevity 2. Leadership 3. Pattern recognition 4. Filter & Focus (discernment of what matters to you) 5. Negotiation

The first three are general skills that are, what I consider, mandatory life skills. Some learn young, others once old regardless skills are not just to learn and apply but to maintain as well. The last two are largely added because I think we are in interesting times and the macro view is there will be opportunities. Some will be good and some will bad, within your individual control I think those two skills will be more important while you navigate the times you live in.


As for me, I don't think it's only that AI needs more training, but needs better trained users, or that we need to train at it to produce good results. I'm fast on becoming a pro-prompter and for that need to be trained on good requests. Anyone can dm me at /r/goldfeld and I'll take AI artwork commissions for real cheap, to train on real stuff.

I think prompting may become a general skill superior in status to the early divide between those who could and could not use a PC/the web(which I lived through in the 90's).


Every model will respond to prompts differently, and the "same" model might respond differently after retraining.

Google-fu was useful because there was consistent syntax and semantics that returned good search results. That's no longer the case, and that might have something to do with ML model integration with Google's search product.

I'm sure you could figure out a way to train models such that they share a common method/syntax to "summon" accurate answers from the ML oracles. I could see that being somewhat useful, but it looks like those that are commercializing AI products that interact with humans are looking for natural language interfaces, and not a specialized query grammar.


But even basic things that become intuitive may work rqually well fpr any model, like: I am being too specific about this part of my request? should I loosen up the constraints here to get better width at another part where I can be prosaic? should I be poetic? functional? phenomenological? A prompt is a work of pure composition and composition is always hard. I see much philosophy and existentialism for the future.


I think there was a period where "being good at searching" and using search engines was definetely a skill, but that time has mostly passed. I see the same thing happening with "prompt engineering", i cant see it being a long term skill as the models improve or just start assuming they know what you want.


Searching or prompting, there will always be more people who don't know exactly how they want what they want than people who do, so guessing those out will be a true breakthrough in psychology if AI does it!


They can train an AI to turn bad prompts into good prompts.


I agree. I actually had a good chuckle at an article I read recently calling for a DSL for prompt generation, since the current state is templating. Seems obvious to me that the solution is AI generated prompts. I even tested this with ChatGPT by feeding it some prompts from an awesome-prompts repo and it worked fairly well.


which article please?


I suspect that there is going to be a push to the extremes in dev work. You will either need to be effective as a generalist who uses AI powered tools to rapidly build systems out of current libraries, or you need to be a specialist who maintains and builds those libraries (or those AI tools). Not all libraries are equal of course - I think foundational libraries, e.g., sqlite will draw the specialists. But the "middleware" libraries? I wonder if the AI tools will obsolete those.


So, for starters, you're going to need a place to live. It needs to be defensible, and it needs a water supply. Ideally, it needs a stockpile of food, for you and every member of your household.

This means that you're probably looking at buying land. As an alternative, consider a camper van, modulo certain upgrades to security, or even a boat.

Get a ham radio operator's license and get comfortable with the relevant tech stack. Critically, buy or make an antenna, as big and as high-up as possible. (Note: consider this if/when evaluating land)

Now, get some solar panels, a nice good old fashioned gas genny, and, since you're throwing down money, a fancy big-ass battery pack, all to support your radio gear.

Boom. Now you've got a thing that's socially useful that you can do (comms), which should allow you to exchange labor for food (say).

You relay messages from survivors to their loved ones and announcements from any remaining governing body. You help coordinate rescues and play a role in reducing human suffering, although of course, by this point, you're so numbed by the endless grind of monotonically-increasing misery that this sort of consideration seems to date from another era entirely, back when you felt good about eating vegan and sorting your recycling. But those years are gone.

Imagine worrying about what it is good to do. The luxury. The sotted luxury.


cy·no·sure /ˈsīnəˌSHo͝or/

noun - a person or thing that is the center of attention or admiration.

---

had to google that one


Definition 2 is interesting as well:

1. An object that serves as a focal point of attention and admiration.

2. Something that serves to guide. [French, Ursa Minor (which contains the guiding star Polaris), from Latin cynosūra, from Greek kunosoura, dog's tail, Ursa Minor : kunos, genitive of kuōn, dog; see kwon- in Indo-European roots + ourā, tail; see ors- in Indo-European roots.]

(from thefreedictionary.com)

Personally, I love learning the occasional new word. "sinecure" is useful, as is "copacetic".


now I feel bad about editing it away :D

That's the problem with 'fun', obscure words. No matter how good they sound, the piece overall sounds better without them --- an instance (by no means the only) of the well-worn truism 'kill your darlings'.

Thinking about this specific instance carefully. There's a sort of tipping point and if words are on the too-fancy side of it, they (as it were) cost too much to bring in a good return-on-investment.

Better to sort of moneyball the smaller words, getting them 'cheap', and in quantity, to produce whatever overall effect you like. Don't carve boulders, shape concrete.


Get good at operating your own business, because the corporations need you less and less every day.

Get good at living on 10% of whatever your income is today.

Get good at welding, so you'll be better equipped to repair your shipping container.

Get good at some basic homesteading capabilities in case you have to exit the wider society and provide for yourself.

Get good at finding a way to go live somewhere that is 50-100 years behind wherever you are so you are hopefully able to ride out the remainder of your time here in relative comfort.


Shipping container?


Golden advice even in good times +1


I was wrapped up in pre-nft blockchain hype 2017-2019. It didn't work out. I learned that not every salient technology is ready for adoption or will leave a legacy.

My top few:

- practice reading code that is older you're comfortable working with, that you did not write and have no prior knowledge base for - designing systems that are easy to replace; no matter what tech comes along, new tech will come after, and we're not going to live in the world where X lasts for Y time, it will be Y/c (some fraction) - writing well, that's tailored to specific audiences, aided by whatever tools are available (spell check, grammerly, chatgpt, etc) - as far as tech itself goes, I'm hopeful about edge computing, where performance and power is near today's level, for an extended time

I see a lot of doomsdayism here. I recommend avoiding that, it's a tough and awful away to live.


Hard to go past learning to pick the right whippy sapling branch and how to affix a barbed rebar point to in order to spear fish.

There are some good pointers here [1].

[1] https://www.youtube.com/watch?v=7gmCX7R-W4c


As for AI and robots and such taking over the space, I will believe it when I see it. People are okay with toy demos and "oo neat" spectacles, but day in and day out, I see humanity as a whole consistently rejecting "data-driven" analysis and the ability of machines today to crunch numbers, produce models, forecast accurately, tell them how to do their job better, faster, stronger. At best I see these tools providing assistance / enhancement but nobody (at least in this generation) will get into a fully self driving car that was programmed by a bot.

As usual, the only 4 skills that truly matter in this world are:

* listening and empathy - being able to actually hear others in a way you can actually help them, and then having the capacity to do so

* critical thinking - being able to produce a real problem, understand a space with lots of ambiguity and subjectivity, overcome cognitive biases, identify and reject misinformation, and generally be logically thorough and adaptive to changes in information.

* creativity - seeking novelty, practicing self-expression, exhibiting curiosity, inventing, innovating, designing, dreaming.

* grit - perseverance in the face of failure, recasting failure as opportunities to enhance the skills above, being resolute in purpose, embracing change and uncertainty and risk.

From those spring our future.

Perhaps ironically these are the traits that will be the hardest behaviors to "emerge" from an AI, although they certainly have capacity to emulate these behaviors.


reversing a linked list probably good tbh


I've started moving hard into security looking at auditing or something like that.

I figure all that bureaucratic stuff that hasn't been replaced by code won't be able to be replaced with AI.


Just be brilliant at the basics. Be able to gather requirements, build a simple thing for clients quickly and confirm that it works. If there's one thing we can rely on SV for, it's hype, in the real world, there's still a massive set of legacy code and businesses that have boring crud jobs that need doing. Think like a plumber in this regard.

Also, I'm moving towards security stuff. After a while the above starts to get a big to granular, and I want to work at a more macro scale.


So much alarmism here


Whatever you're interested in, learn it deeply and then you'll have an edge to get paid for the thing you want to do.

"Skills" don't really give you an edge at anything. You're expected to learn those on the job. Nor does surface level knowledge of a trendy topic. You have to have a deep specialty if you want it to count for anything.


Learn how to grow some of your own food.

Build community with the people physically nearby.

Share knowledge and experience with said community.

Ask for help.


Distributed Systems.

Pretty broad term but if I had to guess, we’re gonna see an absolutely ginormous deluge of data and being able to build/operate/reason about distributed systems will continue to be important (as it has been for the past couple of decades or so).


Java


especially enterprise Java beans and xml!


I meant it seriously though. Unless you're a deep expert at something, most likely you're just going to use Java to hook into that thing's SDK or whatever.

OP didn't come across as someone who was trying to learn PhD-level knowledge about a topic. In which case, being good at Java is probably as good a skill as any.


lol


From the perspective that “AI will eat everything”, Tyler Cohen suggests that this will weed out the mediocre creatives (developers, artists, musicians, whatever). Put another way:

> The returns to factual knowledge are falling, continuing a trend that started with databases, search engines and Wikipedia. It is no longer so profitable to be a lawyer who knows a large amount of accumulated case law. Instead, the skills of synthesis and persuasion are more critical for success.[1]

As well as being simple “exceptional”, returns to being extroverted in the workplace will increase. Those who can show they’re distinguishable from bots will prosper.

Tl;dr: focus on interpersonal skills and persuasion.

[1] https://marginalrevolution.com/marginalrevolution/2022/12/wh...


Low code frameworks for real-time / batch data streaming, such as https://benthos.dev.

Disclaimer: I'm a contributor to it.


I think quantum computing will start to take shape in the next 10 years. We’ll need a whole lot of hardware and software engineering to go along with it.


People skills. Intelligent AI/ML might replace how things are built. But someone still has to determine what to build and how it’s designed.


Learn how to convince people of your point of view and learn how to know when you should not try to do that.


Skills follow from need. You don't know what you will need to learn.


The ability to ask the right questions!


But I feel an AI can be trained to do this as well.


Have you played around with Liza, the old school og chat bot? It asks the right questions, but without rapport, they are not actually helpful.

“How are you?” might be the right words, but the relationship between the speakers and timing determine if it’s the right question.


Duly diligent default denial.


Learn Spanish language.


Learn any foreign language! It can open up so many doors to you and offer you a life you didn't think was possible.

During the pandemic I started learning Spanish. After a year and a half of self-study, I went to Mexico City for a couple of months in order to practice. I had such an amazing time that I decided I wanted to spend more time in Latin America, and so I traveled to a few more cities over the course of half a year.

I've met such incredible people, have had amazing experiences, and, most importantly, my mind has been opened to many different ways of being and living. Being aware of those different ways allows you to be more conscious and intentional about how you choose to be and live, which, in my view, equates to more freedom, happiness, and fulfillment.


data engineering


honestly the only right answer


Please explain :)


AI is only as good as the input data.

Garbage In = Garbage Out

The data is more important than the model, and more data is not better than good data.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: