🌶 Just writing code doesn't make you a good Software Engineer! 🌶
Six habits beyond coding that turn a coder into a 10x product engineer, from focusing on the end-user and communicating well to documenting everything.
#HotTake #ProductEngineering
In my experience, just writing code doesn’t make you a good Software Engineer!
While being able to write code is an important skill for a software engineer, it is not the only factor that determines success in the field. In order to become a truly effective and valuable product engineer, it is important to develop a range of skills and habits beyond just coding.
Here are six strategies that can help you transform yourself from a mere coder into a 10x product engineer:
// 1. Focus on the end-user 🧑💻
Your primary focus should be on the end-user & how to deliver value by constantly asking questions like:
- What problem are we solving?
- How will the user benefit from this feature?
- How can we make this product more intuitive and easy to use for the end user?
By keeping the end-user at the forefront of your thinking, you can help to ensure that the product is designed and developed in a way that is most useful and valuable to its intended audience. This can help to improve the user experience and increase the chances of success for the product.
// 2. Build a deep understanding of the product 💼
You need to have a deep understanding of how the product works and how it fits into the larger ecosystem.
This involves investing time and effort into learning about the specific business domain the product operates in, the technical design and architecture of the product, and the experience of the user as they interact with the product. 🔀
Understanding these elements is crucial for effectively using and maximizing the potential of the product.
// 3. Learn to communicate effectively 💬
Effective communication is a key skill when working with a diverse group of stakeholders, such as engineers, designers, product managers, and end-users.
It is important to be able to clearly articulate your ideas and thoughts to these individuals, who may have different levels of technical expertise and backgrounds. In order to communicate effectively, it is helpful to avoid using technical jargon or language that may not be familiar to everyone. Instead, try to explain technical concepts in a simpler, more relatable manner that can be easily understood by all stakeholders.
Additionally, actively listen to and seek to understand the perspectives and needs of others, and be open to feedback and suggestions to improve communication and collaboration.
// 4. Be proactive ⚡️
A 10x product engineer is one who is proactive in finding and solving problems within the product and its development process.
This involves actively seeking out opportunities to improve the product and its performance, rather than simply reacting to issues as they arise. It also means coming up with creative and effective solutions to problems and taking ownership of projects and tasks, rather than waiting for others to assign them or taking a passive approach.
Being proactive in this way requires a strong sense of initiative and the ability to identify and address problems early on, which can help to prevent issues from becoming bigger and more difficult to solve later on.
// 5. Don’t be a brilliant jerk‼️
“Brilliant jerks” are individuals who are highly skilled and intelligent, but who also exhibit negative behaviors such as arrogance, disrespect, or a lack of consideration for others. Nobody likes working with them.
Learn to work in a collaborative environment. Product development is a team sport, so being able to work effectively with others is key. Also be open to feedback and constructive criticism that helps you grow in your craft.
// 6. Document. Everything. 📑
Documentation is an essential part of any successful product development process. By keeping thorough and up-to-date documentation, you can ensure that important information and knowledge is shared and easily accessible to all team members. This can include technical specifications, design plans, user guides, and explanations of new features or technical concepts.
As a product engineer, it is important to contribute to the documentation effort by adding your own explanations and insights as you learn and work on new features or technical concepts. This helps to build a comprehensive and accurate record of the product and its development, which can be invaluable for future reference and for onboarding new team members.
By making an effort to leave the documentation in a better state than you found it, you can help to set a high bar for the team and ensure that the documentation is a useful and reliable resource for everyone. ✨
If you find this helpful, you can follow me on @jatinkrmalik for more such nuggets.
Let me know some of your tips that help you stay on top of your game in comments below?
Keep reading
Job hunt 4.0: five weeks of senior and staff interviews, and what I got wrong
An offer pulled in the crypto winter, a warm-up in November 2021, about 40 companies in one Obsidian note, and my notes on every round I fumbled.
Two system design problems from my 2022 interviews, worked with real numbers
A photo pipeline for a fleet of 360-degree camera cars and an A/B split-testing service: requirements, capacity math, data model and the parts I'd tighten.
Interview prep, senior edition: a system design checklist, one backtracking template and what loops grade on
My 2022 prep notes for senior and staff interviews: a system design checklist, one Python DFS for seven backtracking problems, rubrics and a STAR story bank.
Leave a comment