Hussaini Marsidi
Main page
9 December 20255 minutes read

The Unwritten Rules of Engineering - What I Wish I Knew

Honestly, I enjoy writing these days. I enjoy laying out my thoughts, sharing observation and trying to make sense of this chaotic industry. This topic is rather impromptu after I had chat with my little sister starting her own journey in software engineering career. True to form, as chatty as she is, she asked me a lot of questions about the industry and I tried to answer them as best as I can.

Let me be clear, this is not a comprehensive guide. This is a collection of things I wish I knew when I started my career. I do not see myself as the authority on this topic, but someone who would want you to be better than me and achieve so much more that I do.

So this is for you little sis, and hopefully it reaches to some other folks who may starting out in this journey and could benefit from reading this article (or use it as guide what not to do).

Absolute Minimum: Technical Non Negotiable

  1. Learn Git like really learn it. You don't have to be a pro, but you should know the basics and how to use it that you able to work with others and not be a bottleneck. Know how to commit, push, pull, fetch, merge, rebase and solve conflicts without panicking. Its the baseline for collaboration.
  2. Master the language like Javascript, Python or any language you want to be familiar with. Know how to use the language to build simple applications and understand the core concepts. You can be good at frameworks and libraries, but tools will change very quickly. Concepts like variables, functions, loops, conditionals, objects, arrays, event loops, async/await, promises, callbacks,
  3. Understand the basics of HTTP like request, response, status codes, headers, body, methods. Understand the basics of RESTful API and how to design a good API and what each of the error codes means.
  4. Pick one framework and learn it deeply. Don't try to be a jack of all trades, pick one framework and learn it deeply. This would be depending on your career path, but do not overthink the framework. Just make quick search on the internet, look for the ones that are hiring for the framework you are interested in and start learning it. Pick one project and build it. I started my career as Frontend Engineer, so I picked React and React Native. Just copy existing project, modify it into your liking, show that to the world and get feedback.
  5. Get comfortable with reading documentation. Stop relying solely on video tutorials. Your job will be 90% reading code/docs and 10% writing. Docs are the source of truth; they explain the why, which is far more valuable than the how-to.

The Human and Organization Skills

You have accumulate enough technical skills, now you got the job and become part of the team. Now code is the implementation level but in the end you are solving real problems for the business. You will need to learn to communicate with others, if you able to do so very quickly you will be a valuable asset to the team and in turn your career will grow faster.

  1. Learn Organisational Mechanics you live in business, so you need to understand how the business works. You need to understand the routines for every sprints, Jira tickets, standups, sprint planning, sprint reviews, sprint retrospectives and understand each of the roles in the team. Understand how the power dynamic works within the organisation.
  2. Learn to communicate with others you are not working alone. Miscommunication is the biggest enemy of a team. Always align with the team on the same page, if you are not sure, ask. Write documentations or ADR (Architecture Decision Records) to capture the decisions you made and why you made them. Your team will thank you for it.
  3. Find people who are better than you and learn from them. The fastest way to level up in working on code written by someone much smarter than you. They will review your pull request, if you are not sure about the code, ask them. You will do dumb things, that's normal. But if you are able to learn from it and not repeat the same mistake, you will be a better engineer. The feeling of stupid is actually the feeling of learning.
  4. After your learn something, share it with others something that you may find simple to you, may be a big deal to others. Share it with them, your skills will grow and it will give you a sense of accomplishment. You will understand the problem from different perspective and you will be able to see the bigger picture.
  5. Help your boss to help you your boss is not your enemy, they are the ones who will give you the resources you need to succeed and move forward in organisation. Make it easy for them to help and invest in you. Ask for specific feedback and clearly state your growth goals and demonstrate that you are reliable and accountable. They will spend their position to promote you in return.

Leveling up in the career

Now you are comfortable in your role, you are able to solve problems and you are able to communicate with others. You are now ready to level up in your career. You shall pickup more advance concepts and principles that will help you to build a strong foundation.

I would recommend to learn from best in class engineers in the industry. Read their blogs, watch their videos, read their books, follow them on social media. Learn from them and apply their principles to your own work. My go to sources are:

The Journey Continues And Embraze The Chaos

Being a beginner is the only time you get permission to ask the truly basic questions the ones that unlock a deep understanding of why things are the way they are. Don't rush past the confusion.

It’s a challenging but rewarding career, and it’s gonna be fine. You've got this.


© 2026 Hussaini Marsidi. Made in Malaysia 🇲🇾.