Python Won't Make You a Good Software Engineer

Here's 6 things that will make you a good engineer, no matter what languages you use.

Python won’t make you a good software engineer.

Software engineering breaches well outside of knowing a programming language. At the end of the day, Python is just a tool. Same thing with other languages such as Java, Ruby, Rust, Scala, COBOL, Assembly, etc.

Programming languages are tools that provide syntax, features, paradigms for structuring logic, solving problems, and building software to solve business problems. Their ecosystems, performance trade-offs, and design philosophy impact how developers use them.

Here’s what makes an engineer an engineer

The skill set of an engineer breaches outside of knowing languages. Here’s what makes a software engineer a strong software engineer, in my opinion:

  1. They see everything as a system - they understand why they are coding and how it fits into the broader architecture.

  2. Curiosity can’t kill the cat - A great engineer doesn’t just memorize solutions (such how merge sort works); they constantly seek to understand the why.

  3. They master trade-offs - There is no perfect solution - there’s only trade-offs. The quicker you realize this, the quicker you can find a solution to fit the context.

  4. They realize that code is for humans too - Yet something else to realize as quick as possible: code is a communication tool. It’s used to communicate intent to future development work.

  5. They don’t overengineer - Done is better than perfect; focus on impact, not perfectionism. Editor’s note: I need to follow this more often.

  6. They communicate to the right audience - Communicating to the CEO about the software is a different ballgame than communicating to a junior developer.

For instance, if you’re switching from SQLite to PostgreSQL due to scaling issues, here’s how you may want to communicate the why:

  • Developers: “SQLite locks the entire database on writes, causing slowdowns. PostgreSQL supports concurrent writes and better indexing, so I made the switch. Also added connection pooling (pgbouncer) to handle more traffic. Let me know if you see any issues.”

  • Product Managers: The app slows down when too many users are active. We’re upgrading the database to handle more traffic and keep things fast. No changes needed on your end.

  • CEO/Upper Management: As we grow, our database is struggling with more users. We’re upgrading it to keep things fast and scalable without adding extra costs.

What other skills should software engineers have? What skills make a software engineer a good software engineer? Reply and let me know your opinion.

📧 Join the Python Snacks Newsletter! 🐍

Want even more Python-related content that’s useful? Here’s 3 reasons why you should subscribe the Python Snacks newsletter:

  1. Get Ahead in Python with bite-sized Python tips and tricks delivered straight to your inbox, like the one above.

  2. Exclusive Subscriber Perks: Receive a curated selection of up to 6 high-impact Python resources, tips, and exclusive insights with each email.

  3. Get Smarter with Python in under 5 minutes. Your next Python breakthrough could just an email away.

You can unsubscribe at any time.

Interested in starting a newsletter or a blog?

Do you have a wealth of knowledge and insights to share with the world? Starting your own newsletter or blog is an excellent way to establish yourself as an authority in your field, connect with a like-minded community, and open up new opportunities.

If TikTok, Twitter, Facebook, or other social media platforms were to get banned, you’d lose all your followers. This is why you should start a newsletter: you own your audience.

This article may contain affiliate links. Affiliate links come at no cost to you and support the costs of this blog. Should you purchase a product/service from an affiliate link, it will come at no additional cost to you.

Reply

or to participate.