Feb 16, 20254 min read

Software Engineering Is More Than Just Writing Code

Software Engineering Is More Than Just Writing Code

"Just write more code to grow as a software engineer"

Software Engineering Is More Than Just Writing Code

You've probably heard this advice before. While coding is important, writing more code alone won't be enough to grow as a software engineer. Software engineering is a team sport that requires more than just technical skills.

What Really Makes a Great Software Engineer?

Be a good human first!

  • Don't be rude to others
  • Stay Humble & be a Good listener
  • Be Open to feedback
  • Share your knowledge

🤝 Collaboration

You will not be working alone. Whether you are reviewing pull requests, pair programming, or working across teams, your ability to collaborate effectively with others will have a big impact on the success of the project.

🗣️ Communication

Coming up with brilliant ideas is great, but can you explain it and convince others? Can you document your decisions? Good communication in both written and verbal forms helps avoid misunderstandings and keeps teams aligned.

Also, it helps you share your knowledge, which helps others grow too.

Examples of how you can improve your communication skills:

  • If you are working solo, try to find a partner.
  • Do more presentations in front of your team/friends (start with small group)
  • Write blogs about your experiences and your work
  • Share your knowledge with others, it helps you reinforce your own knowledge and improve the way you explain things
  • Record yourself explaining a technical concept you know well, then watch it back. Look for things like clear explanation flow, filler words, or body language. While it feels awkward at first, you'll get more comfortable and identify areas to improve.

Choose the ways that align with your style and goals.

🌟 Making Your Skills Visible

Being good is not enough if no one knows about it. Here are examples of things you can do:

  • Share your experiences on social media or in your blog
  • Built useful products or tools? Document and SHARE them.
  • Contribute to open-source (one easy way is contributing to your favorite open-source projects or the ones you use)
  • Give technical talks at meetups, conferences, or online.

Don't Know What to build? Check out this article.

(You don't have to do all of them, but do what you like.)

📊 Prioritization and Customer-Centric Thinking

Not all tasks have the same level of importance. A great engineer understands how to prioritize work based on impact, business goals, and user needs.

🛠️ System Design and Decision-Making

Should you use a monolith or microservices? React or Next? A good engineer thinks carefully before making choices instead of just following trends.

Men in Black attention GIF

🧠 Be an Engineer, Not a Frameworker

While frameworks make development faster, they're just tools. What makes you a great engineer is understanding what happens under the hood. Here's why:

📚 Strong Fundamentals Matter

When frameworks break or you hit performance issues, understanding core concepts like memory management, threading, and system architecture becomes crucial. You can't optimize what you don't understand.

💻 Learn Low-Level Programming

Try building something in C. Working with low-level languages teaches you:

  • How memory actually works
  • Why certain operations are expensive
  • What your high-level code is really doing
  • How to write more efficient code in any language

🏗️ Think in Systems

Instead of asking "Which framework should I use?", ask:

  • How does the data flow?
  • What are the performance bottlenecks?
  • How will this scale?
  • What happens when things fail?

For example, building a simple web server in C++ will teach you more about HTTP than using Express.js ever will. Understanding memory allocation will help you write better JavaScript code, even though JS handles memory for you.

Remember: Frameworks are like power tools, they're useful, but knowing how to build things by hand makes you a better engineer.

📈 Continuous Learning

Technology evolves rapidly. Staying updated with new tools, frameworks, and industry trends ensures you remain productive and effective.

Oh no, Here We Go Again GIF

⚽ Software Engineering Is a Team Sport, Not Chess

Unlike chess, where you strategize alone, software engineering is more like playing on a football team. Your success depends not only on individual brilliance but also on teamwork, adaptability, and making the right decisions at the right time.

It's a long journey with no finish line. make it enjoyable, G 🫡

If you have any thoughts or questions, feel free to reach out to me on Twitter or LinkedIn.

PS: I'm still learning and sharing my thoughts.

Subscribe to Our Newsletter

Get notified when we publish new blog posts

Comments