Essential Skills for Engineers to Thrive in the AI Era
- Gregor Ojstersek and John Crickett from Engineering Leadership <gregorojstersek@substack.com>
- Hidden Recipient <hidden@emailshot.io>
Hey, Gregor here 👋 This is a free edition of the Engineering Leadership newsletter. Every week, I share 2 articles → Wednesday’s paid edition and Sunday’s free edition, with a goal to make you a great engineering leader! Upgrade your account with 35% off Cyber Monday deal here (3 days left): Essential Skills for Engineers to Thrive in the AI EraCommunication, adaptability, continuous learning, and engineering fundamentals are more crucial than ever!This week’s newsletter is sponsored by Augment Code. Ship faster with context-aware AI. Augment Code is built for real engineering teams. It understands your codebase across 10M+ lines, 10k+ files, and every repo in your stack, so it can actually help: writing functions, fixing CI issues, triaging incidents, and reviewing PRs. All from your IDE or terminal. No vibes. Just progress. Thanks to Augment Code for sponsoring this newsletter, let’s get back to this week’s thought! IntroI recently had the pleasure of attending the TechLead conference in London, where I also gave a talk called: How AI is Impacting Engineering Leadership. And one specific thing has stood out to me, while meeting and speaking to other engineers/engineering leaders at the conference:
This has just confirmed what I am already hearing across the industry. Here is also a picture collage from the conference: I also had the pleasure to speak with John Crickett recently about the topic of how AI is impacting specifically engineers and his tips for thriving in the AI era. And John shared a LOT of interesting insights, which I am sharing with you today! Let’s introduce the guest author and get started. Introducing John CrickettJohn Crickett is a seasoned engineering professional with over 25 years of experience in the engineering industry. He has worked both as a senior IC (Staff+) and a senior manager (VP, Head of Software Development). He is also an author of Coding Challenges, where he regularly shares great ideas for projects and the process behind building real-world applications. My favorite → building a Redis CLI tool. Check out Coding Challenges and use my code ENGLEADER for 40% off. John is doing a paid workshop on December 12th at 17:00 GMT, and if you are a paid subscriber, you can attend that for free! Fun fact: John is also a guest author with the most appearances in the newsletter! This is our 6th collaboration, and you can check the 5 previous articles here:
My Full Conversation With JohnYou can watch/listen to the video below for the full conversation, or you can keep reading for the overview of our conversation. Let’s start! Core Skills that Engineers Should Prioritize TodayTo start off the conversation, I asked John to tell us what the core skills are that engineers should prioritize today. He mentioned that clear communication has always been very important and is just going to be more and more important as time goes on, especially since most interaction with AI is and will be written or spoken. As AI speeds up things like coding, documentation, and even parts of code reviews, we can spend more time focusing on the product itself. That makes skills like stakeholder management, project management, domain knowledge, and understanding what the business and users actually need even more valuable. Also important to mention is that now we have more tools and can be more productive, we also need to be more adaptable. We have to learn new tools quickly, absorb new domain knowledge, and adjust to changes faster. All of this relies on communication. Whether you’re using a chat interface to create documentation, a presentation, a PRD, or giving instructions to a coding agent, clear communication is the foundation for using AI effectively. I also added that pure human-related skills and overall problem-solving abilities will be more and more important as time goes on, and as tools for development get better and better. John also mentioned a quote from Albert Einstein:
That idea fits perfectly today. AI can generate solutions incredibly fast, so the real skill is defining the problem clearly. How do we understand the problem? How do we clarify what it is and what the constraints are? That’s where problem-solving skills are very important → more important than ever. And they’re closely connected to people skills, because questions like “What is the problem?”, “What are the constraints?” and “What does a good solution look like?” all require talking to product owners, users, and other stakeholders. Habits that Engineers Should Focus OnJohn mentioned that the main habit he keeps coming back to is curiosity. When you’re curious, you naturally ask better questions. You dig into things like:
That helps you gather the right information, define the real problem, and then use AI to generate solutions quickly and effectively. The second habit he mentioned is continuous learning. We’ve both been in this industry long enough to see how fast it changes. There’s always something new to learn. Sometimes it’s a fresh take on an old idea, sometimes it’s truly new, and sometimes it’s a dead end. But if you keep learning, you start to recognize patterns. You can tell what’s worth exploring and what isn’t. You also get better at connecting new ideas to what you already know. He also suggests building small routines for both. For curiosity, pause and ask one more question to make sure you really understand the problem. For learning, set aside 10–15 minutes a day → read a newsletter, pick up a book, explore a topic in your domain, or even read about areas like stakeholder management, consulting, or something else relevant to your work. Over time, those small habits add up and broaden your understanding far beyond just tech. Curiosity == Growth MindsetI also added that I like to connect curiosity with having a growth mindset. One of my favorite interview questions for engineers is: “What new things have you learned in the last six months?” The answer tells you a lot, not just what they have learned, but how they talk about it. Do they smile? Do they sound excited about learning? What resources do they use? What books are they reading? All of that matters. Some people may think this isn’t important, but in our industry it’s essential. If you’re not learning and growing, you’re falling behind, especially now, when things move so fast. Let’s next get into how to actually think about what is worth learning and what is not. The Mindset Behind Exploring AI ToolsJohn mentioned that while most AI tools are still early, it’s worth trying as many as you can. Companies building AI tools are taking different approaches, and people are still figuring out what these tools should become. And we shouldn’t limit ourselves to just coding tools like Cursor, Windsurf, Claude Code, etc. There are so many AI tools outside of pure software engineering that can be incredibly helpful. For example, chat interfaces can help you refine requirements, review documents, point out what’s missing, or help you iterate on ideas. Even the tool we’re using to record this conversation uses AI to edit, transcribe, and clean up audio, and it’s surprisingly accurate. Tools like this are often more useful in day-to-day work than coding agents. A lot of our jobs involve writing, researching, preparing content, and processing audio/video, not just writing code. As software engineers, we like to imagine we spend all day coding, but the reality is we have meetings, we write and update documents, we summarize notes, and we go through long docs to find the parts we actually need. AI can help with all of that. So don’t just experiment with coding agents. Look at how AI tools can reduce friction in all parts of your work and make the non-coding parts easier and faster, too. Use an AI Tool That Actually Helps You Be More Productive and Stick With ItI also added that A lot of people start using a new tool just because someone online says that a certain tool is great, or because a colleague recommended them, or because they saw a post on X. They make the jump too fast, without thinking about whether the tool actually helps their workflow. But the real point of using a tool is to make your work easier, faster, or better.
Every new tool means new onboarding, new shortcuts, new habits, and time spent figuring things out instead of doing your work. Use the tools that genuinely help you. If Cursor works for you, stick with it. If you prefer Claude Code, use that for a while. The goal isn’t to use a tool just for the sake of using it, or because everyone says how great it is. The goal is to choose the ones that make you better at what you do. John also added that it’s important to focus on your bottlenecks. He’s been in the industry for almost 30 years, and writing code usually isn’t the part that slows him down, though AI can still help and boost productivity in some cases. The point is that you don’t have to use AI in only one area. Look for all the places it can help. Let’s get into what to avoid when it comes to AI tools. Misusing AI → What to AvoidJohn mentioned 3 main examples:
Some people took the original idea too literally, they think it means giving the AI vague instructions like “build me a website that does X,” not checking the code, and just hoping it works. But the real point was never to avoid thinking. You still need clear requirements → without them, you won’t get good results.
That’s risky. Whether the code comes from AI, another engineer, or even your own hands, the rule is the same:
He’s written code that looked perfect at first glance, only to find an off-by-one error later. That’s why we write tests, get reviews, and double-check our own work.
We just saw Cloudflare go down, which took out access to many AI tools. If you depend on them completely, you’re stuck the moment they go offline. And outages aren’t the only risk, these companies burn huge amounts of money in a shaky economy. If one major player fails to raise funding, it could trigger a collapse across the industry. Tools might disappear, become too expensive, or shift to less accessible open-source setups that come with their own limitations. So it’s important to keep your skills sharp. You don’t want to face a 3 AM incident and be helpless because the AI is down. Keep practicing, write code yourself sometimes, and maintain your ability to solve problems without assistance. Addy Osmani recently mentioned in a podcast that he occasionally sets aside time to work without AI → maybe a day each week or each month. It’s a great habit: it keeps you capable even when the tools aren’t there to help. Engineers Starting Their Careers Today Have Weaker Fundamentals Than Engineers 10 Years AgoI also mentioned that engineers entering the industry now often have weaker engineering fundamentals because the tools keep getting better. The people who understand core engineering concepts deeply will have a real advantage going forward. It’s also the reason why junior engineers struggle to get roles: many haven’t built a strong foundation yet. Another common issue I see is engineers creating a PR without even checking the code. They just write a prompt, take the AI’s output, and submit it. That’s something you should absolutely avoid. It doesn’t make you a good engineer, and it’s not fair to your fellow engineers. You’re the one responsible for making sure your code works and behaves correctly. Now, shifting to careers. Areas That Will Become More Valuable in the Next 1–5 YearsJohn mentioned the following:
Roles like business analysts, product owners, or anyone who can talk to users and deeply understand the domain will become even more valuable. These people can figure out what customers actually need, why they need it, and what a good solution looks like. If you can capture requirements clearly and unambiguously, you can hand that off to a workflow where AI can generate a large part of the code. That skill is going to matter a lot more. So, make sure to focus on improving your product/business skills as an engineer, that’s going to be more and more important!
As we use more AI tools and integrate them into products, we’ll want to tune, train, and deploy models. That requires strong AI/ML skills, but even more importantly, it requires high-quality data. And the “dirty secret” of machine learning hasn’t changed: everything depends on the training data. You need large amounts of data, cleaned and structured well, labeled correctly, and stored in a usable way. That’s why data engineering has become so important over the last decade, and it will only get more important as companies try to build or train more models and work with more data. I also added that, especially with crafting requirements → strong writing skills are very important. Being able to clearly explain what you’re thinking, what you’re seeing, and what needs to happen. Writing isn’t going anywhere. In fact, it’s only becoming more important as time goes on. Now, let’s head on to the main tip on how to future-proof your career as a Software Engineer. Engineering Fundamentals Being the Key to Future-Proof CareersJohn believes that the most important thing is to focus on fundamentals. The core principles of software engineering still matter. The basics of problem-solving still matter. Computer science algorithms are really just structured problem-solving techniques. And the fundamentals of machine learning and AI haven’t changed in decades. LLMs are just very large neural networks, and neural networks have existed for 50 to 100 years. When you understand these fundamentals, you start seeing patterns. That makes it much easier to learn new technologies because you can connect them to ideas you already know. Computing also moves in cycles. We started with one big shared computer, then shifted to personal desktops, then back to central servers, then to distributed systems, then to mobile devices, and now a lot of things live on cloud SaaS platforms again. We keep repeating the same patterns for different reasons. If you understand why these shifts happened → the trade-offs, constraints, and design principles, you’ll be ready for whatever comes next. When engineering fundamentals are important, the key question is: How can junior engineers showcase that they can be valuable? Let’s get to that next. 2 Important Things to Do as a Junior EngineerJohn mentioned these 2 tips for jr. engineers:
Share what you figured out last year, or what you’re learning right now. Showing that you can explain things clearly is valuable. Communication is essential for working with AI and with other people. And if you share publicly, it demonstrates that you can teach, communicate, and break things down → even if you’re not an expert yet. You can also curate information, not just create it. For example, you could become the person in your city or community who shares tips and best practices about a tool like Windsurf. You could also interview 30 people about how they use a tool like Windsurf and publish a summary of the top 10 tips they shared. You don’t need deep expertise to do that, you just gather insights, learn along the way, and produce something genuinely useful. It shows your communication skills and creates value for others. Also, writing a newsletter is a great example, and it worked well for both of us (Gregor and John). Anyone can start one, even without a job.
Shipping a real project matters. Today, it’s easier than ever, you can deploy to Cloudflare, Vercel, or GitHub for free. No barriers, no cost. Find a small problem, even one of your own, and build a solution. It could be something as simple as Minesweeper, Pong, or a basic chess app, anything that proves you can build, deploy, and maintain a project. If you can ship something and get even a few users, you show that you understand product thinking. You show that you can identify a problem, build a solution, communicate with users, and keep improving it. Those are powerful signals. For a junior engineer, doing these two things, communicating openly and building real projects, will put you ahead of many people, including some seniors. And now, last but definitely not least, let’s get into a very important topic. What specific things would John focus on if he were to start his engineering career today. This Is What John Would Focus on if He Were to Start His Career TodayIf he were starting today, he’d focus heavily on the fundamentals first. Then he’d work on solving a real problem and proving that he can actually deliver something. He got into software engineering because he was interested in AI, and he wanted to build AI when he was nine years old, back in the 1980s. Of course, the computers and the state of AI back then made that impossible. Not long after, AI went through one of its famous “AI winters”, where investment dried up after big promises failed. It feels a bit similar to today, we’re in another hype cycle, and he thinks this bubble will burst too. But just like before, a lot of genuinely useful technology will survive.
Instead, stay curious. Solve a problem. Show publicly that you can solve that problem. At the same time, learn the practical tools companies hire for. Whether it’s FastAPI, Java, or “five years of experience” in something that hasn’t even existed that long, companies still use tool checklists as gatekeepers. So you do need to know some modern frameworks. Just make sure you combine them with strong fundamentals so you can actually build things. It will also become even more important to show commercial awareness and to lean into soft skills, communication, teamwork, stakeholder management, and requirements gathering. So to sum it up: focus on fundamentals and soft skills, plus a bit of whatever specific tools are in demand in the market you want to work in. Last wordsSpecial thanks to John for sharing his insights on this important topic with us! Make sure to check him out on LinkedIn, he is currently doing a series of posts called: Tips for AI-Assisted software development. This is a recent post he did about zero-shot prompts. And also, make sure to check out Coding Challenges → he’s doing a lot of cool stuff there. Liked this article? Make sure to 💙 click the like button. Feedback or addition? Make sure to 💬 comment. Know someone that would find this helpful? Make sure to 🔁 share this post. Whenever you are ready, here is how I can help you further
Get in touchYou can find me on LinkedIn, X, YouTube, Bluesky, Instagram or Threads. If you wish to make a request on particular topic you would like to read, you can send me an email to info@gregorojstersek.com. This newsletter is funded by paid subscriptions from readers like yourself. If you aren’t already, consider becoming a paid subscriber to receive the full experience! You are more than welcome to find whatever interests you here and try it out in your particular case. Let me know how it went! Topics are normally about all things engineering related, leadership, management, developing scalable products, building teams etc. You're currently a free subscriber to Engineering Leadership. For the full experience, upgrade your subscription. |
Similar newsletters
There are other similar shared emails that you might be interested in:









