Post by Shadab Hassan

Senior Software Engineer at Google

Hey early engineers   This one is especially for you. I have been observing freshers/early engineers/students extensively using AI to write code, build applications at an unprecedented speed. And the end result is just a masterpiece. But are you a true master? Maybe, but to really be one, you should know the ins and outs of the masterpiece. Otherwise you are just falling into the "Black Box" trap.   The Black Box trap: We are using AI and relying heavily on it to solve everything. And we don't even know how it is building things for us. It's tempting to just copy-paste AI-generated solutions. But if you don't grasp the underlying principles – like problem-solving, data structures, algorithms, or system design – you're treating the code as a black box. What happens when it breaks? How do you debug or optimize something you don't truly understand? In the end, we’ll just end up frustrated, constantly searching for a magic spell or perfect prompt to solve everything for us.   So what's the problem? The problem is there could be multiple systems working in unison to keep the system running. AI can't always solve issues that are distributed across different systems. So your ability to think critically, solve problems, and understand complex systems becomes even more important. But to do that you need to build a strong foundation and understand the core concepts of computer science and develop problem solving skills.   Recently, I watched a junior dev ask AI to optimize a database query. The AI spat out something that looked good on the surface but would have absolutely murdered our system under load. Why? Because the AI doesn't understand that the table has 50 million records, or that this query runs 10000 tỉmes per minute.   In another scenario, I have seen an issue involving multi threaded application. And AI couldn't figure out the issue and the engineers had to go through thread dumps and also analyzing CPU usage. This all required detailed analysis before one could make a decision to kill a process or something else.   The Takeaway for Aspiring Engineers:  * Embrace AI, but don't outsource your brain.  * Double down on your fundamentals: Problem-solving, data structures, algorithms, distributed system, operating systems, networking. These are evergreen skills.  * Ask "Why?": Every time AI gives you a solution, ask yourself why it's the right solution.  * Code for understanding, not just for output. The future of software engineering will undoubtedly involve AI, but the most valuable engineers will be those who can expertly wield these tools, not be dictated by them. Let's build a future where AI empowers us to solve bigger problems, not just replace our basic thought processes or critical thinking.   I just hope in a race to build something like true human intelligence, humans don't lose intelligence.   #SoftwareEngineering #ComputerScience #GenerativeAI #Tech #Career #ProblemSolving #AI #Students #University #MS