DEV Community

Clara Maine
Clara Maine

Posted on

How to Prepare for the Future of Programming

Start a start-up? Scratch that. Call your mom. Go back to school? Don’t go back to school. Learn to code? Don’t learn to code. Forget coding. Only prompt engineering matters now. Actually, I heard it’s overrated. You think we’re gonna be prompting in 5 years? 2 years? Nonsense. All this hype is being blown so out of proportion. Have some healthy skepticism. Have a lot of healthy skepticism. Doubt. Believe. Move to the woods. Bury your laptop in the back yard. Get bored. Dig it up again. Coding is back, baby! Start another course, work on it for a few days. Lose motivation. Panic. Repeat.

You’re not alone. As a writer, I’m also panicking. Why read this when you could ask the same question to your LLM of choice and have a lively discussion perfectly tuned to be as broad or technical, long or short, playful or serious, as you want it to be? This thought has tormented me for days and this post remained a blank document. The only thing that saved me was remembering why I made this series in the first place.

Header says

I wanted to create a resource for learners to better understand programming within the context of our new AI world. I made a case for why it’s still worth learning to code, explored the psychology of beginner programmers, and discussed whether you should use AI at all. So, now what?

We know that programming will change – that programming has changed. But how exactly? And how much? What knowledge can we be sure will remain fundamental? What should we learn to prepare for the worlds to come?

There are a variety of answers depending on where you as the answerer stand. Is your net worth positively correlated with AI hype? Is your job too complicated, social, or important for AI? How is your relationship with risk? How do you feel about change? What do you believe about what the future needs?

Squiggly abstract divider banner

These are not questions anyone can answer for you. Not me, not a tech CEO, not your mom, and certainly not a chatbot. We live in a world with platforms and educational institutions jumping to answer “What can I learn?” (a small reminder to check out our catalog of free courses), but there are very few resources that will give good answers to questions like “What should I learn?”, “Can you really justify why?”, and “Can you promise me it will remain useful?”.

I can’t guarantee that anything you learn will remain useful in the years to come, but I am certain that learning will. On that subject, here are a few short recommendations on how to prepare for the future of programming.

Understand the flaws of your education

Are you in a large institution that is slow to adapt? Is AI use being discussed openly or banned from the classroom? Are you self-studying at your own pace, but lack any network of peers or mentors? Is your education giving you a broad overview of a field (a Bachelor’s degree) or is it leading you toward specialization and a specific job (bootcamp/internship)?

Both of these approaches are useful, they’re just working on different timelines. A broad overview can give you more options when the field changes, while a specialization can help you in the short term. Either way, try to compensate in the direction of your weaknesses so you’re not left either overqualified and underemployed, or unemployable when your only skill becomes redundant.

Abstract divider banner

📚 An exercise: Take 10 to 20 minutes to reflect on your education from a zoomed-out perspective. Think about what it did or is doing well and what gaps you might be left with at the end of it. Below you’ll find a few recommendations on how to fill those gaps, but feel free to brainstorm your own as well.

How to broaden your knowledge

If you’ve got practical skills but worry about their shelf life, now is the time to foster curiosity about the wider scope of your field. This will feel different than learning a practical skill, since there are fewer concrete ways to assess your progress. Instead, pay attention to the moments when ideas from different domains click together. This is a sign that you’re starting to expand your general knowledge and get a clearer view of the big picture.

Here are some practical ways to do this:

  • 🧑‍🎓 Follow short courses in other domains. Our knowledge map can help you visualize what subjects you might find interesting to explore, or you can even consider departing from computing altogether. Bringing technical expertise to a writing course might lead to great science fiction, or an interesting exercise in applied philosophy.
  • 🧰 Work on projects that use a broad skillset but don’t require professional excellence. Make a silly app that needs a little bit of frontend, a little bit of backend, knowledge of APIs, and even graphic design. It might be ugly and inefficient, the point is that you did it. Since motivation might be difficult to maintain on your own, find someone with a different skillset and swap roles.
  • 👯 If you consider yourself a “technical person”, focus especially on communication skills and critical thinking. These are particularly important in navigating the uncertain future we’re facing, since purely technical jobs are in many ways the easiest to automate away.

How to deepen your knowledge

Personally, I find it really hard to specialize. I jump between interests, rarely sticking with anything long enough to achieve mastery. This used to stress me out. How could I be good at my job if I couldn’t commit to one thing? But I’ve learned that the pressure to specialize is often about legibility, not capability. We like people who are easy to categorize. In practice, though, proficiency in one skill lends itself to an easier time with others.

Depth is what makes you adaptable. Surface-level knowledge can get outdated quickly. Understanding underlying principles like how systems actually work, not just how to use them, means you can transfer what you know to new tools and frameworks. When the landscape shifts, you’re not starting from scratch.

Abstract divider banner

You’ll have to choose your approach depending on the specific skill you want to master. Here’s how to do this:

  • 🧑‍🏫 Get advice from someone who’s done it before, ideally someone who can personally mentor you. To get started, there are plenty of “Things I wish I’d known before becoming x” videos, which might help you wade through what’s necessary and what’s not.
  • 💻 Regarding coding, our specializations courses provide very comprehensive and practical assignments in various domains.
  • 💯 If you, like me, quickly lose interest once the novelty wears off, I can recommend tailoring your media diet toward your target subject. Reading books and listening to stories of people talking about your subject on a high level helps you remember what sparked your interest in the first place. To start, you could check out our video essay on the history of Git!

Goodbye, AI world

You don’t need to understand tech to do things with it anymore. Now you can build apps, write code, or generate designs without understanding the underlying systems. There’s real value in that accessibility, but as a writer and coder, I worry about what we lose. If we go all-in on doing things, we might forget that developing deep knowledge and understanding can be fun and good for us. It might even be a requirement for our mental health and self-esteem. To not only be able to make an app, but to take pride in the fact that you learned how to.

This is the fourth and final post in our series How to Learn to Program in an AI World. If you missed it, check out the previous posts, Is It Still Worth Learning to Code?, Learning to Think in an AI World: 5 Lessons for Novice Programmers, and Should You use AI to Learn to Code?

Top comments (3)

Collapse
 
dclnbrght profile image
Declan Bright

great post, we've been thinking about career planning and upskilling for our teams too, we're coming to similar conclusions: broadening knowledge, being adaptable, pairing up specialist roles to share knowledge etc

My post here: Career Planning for a Future of Working with AI Agents

Collapse
 
andreas_mller_2fd27cf578 profile image
Andreas Müller

Really good post. One thing stood out for me: "But I’ve learned that the pressure to specialize is often about legibility, not capability. We like people who are easy to categorize. In practice, though, proficiency in one skill lends itself to an easier time with others."

There is truth to this, but there is also value to specialization beyond legibility. I kind of stumbled into Java development and along the way made a conscious choice to have a T-shaped knowledge base: Java as my basis, and then branching out into related tech as needed. Some people say a professional developer can pick up any language and be productive in a matter of days or weeks, but I would push back on that a little bit. Yes, as far as the language itself goes, certainly. But not as far as the ecosystem around the language goes. Nowadays you're not valuable as a dev because you know a language. You're valuable because you know the ecosystem around the language. For example, as a Java dev you need to know Spring and Spring Boot well enough to be productive with it. That's why when I had some time at the start of this year rather unexpectedly, I read a thousand page book about Spring 6 and Spring Boot 3, and it payed of handsomely now that I'm actually working with Spring and Spring Boot. While I didn't remember everything of course, I was familiar with the concepts and could easily look up the details, like how to implement configuration properties and stuff like that.

Also, I find as a Java dev you more often than not work for big corporations, and nowadays that means things like cloud, Docker, Kubernetes and the like. I think with AI now, the days of specializing in one thing are coming to an end. But it's exciting that now with AI we can learn things in entirely different ways. That's what I use it for primarily, to learn things and try them out quickly, and I would encourage everyone who reads this and is still going through formal education to use it primarily in that way. Not to let it do stuff for you, but to show you how to do stuff yourself. Because remember: You make the commit, you are responsible for it. You. Not the AI.

Collapse
 
mezieb profile image
Okoro chimezie bright

Thanks for sharing