I currently work as a software engineer at bravestudio Inc
Its been 2 years in this company, and after some really good advice from my CEO, serendipitous conversations with my seniors, and my own experiences, I stumbled upon a mental model that I follow while working on my tasks.
So, here it is.
1. Get aligned to the business objective of the project
I think the more we understand about the business objective, the better we can align our work with it, and the better we can deliver.
If everyone in the company works with the business objective in mind, I think it takes a huge chunk of the work done by the bosses, and they can actually focus on the bigger picture.
Ask the 5W1H questions
- What? - What is the problem, what is the product, what are its features?
- Who? - Who is the target audience?
- Why? - Why is this needed?
- Where? - Where is this used?
- When? - When is this needed?
- How? - How can we solve this - technical implementation?
Things to keep in mind:
2. Pseudo solve the hard parts
This step is more practical during the initial stages or the pre-development of the project.
Try to think about the technical implementation of the hard parts of the project, even if they aren’t assigned to you.
Talk to your team members/seniors and understand their thoughts on those features.
As everything is at the first brick stage, this might be also a good time to share your ideas with the team if you have any.
3. Task Execution
I don’t code a task right away, I make a mental plan of it, and think about the best way to implement it.
When mentally everything works, I execute it. When I do it this way, the execution happens fast, because the possible hiccups are already mentally sorted out.
This method makes it easier to delegate the execution to AI, since the roadmap is already well thought out.
After the task is done, I crosscheck with the requirements. Draft an informative PR and ask for a review.
4. Help others
I have found out that, it’s not just helping those who ask for it, but also checking in on them goes a long way. It’s all about creating good relationships with your team members.
I feel really good when a team tackles challenges together, and I get to be a part of it.
Currently this is working well for me, but it’s not set in stone.
I am always open to learning new and better ways to do things. So, will be modifying the model over time.