My Work Journal
A journal of Programming, Technology and Management notes
Saturday, July 11, 2026
A Manager's role
Monday, May 12, 2025
Tuesday, December 24, 2024
How great leaders inspire action
Sunday, August 25, 2024
Blogs I Follow
Popular blogs I follow and read regularly
- LinkedIn Engineering
- Meta Engineering
- Netflix Engineering
- AWS Engineering
- Uber Engineering
Friday, July 5, 2024
20 Things in my 20 Years
Justin Etheredge wrote a great article in 2021 on 20 things he learned as a Software Engineer. I can relate and still find a lot of these relevant today. Hoping it can be of use to you. You can read the full article here
1. I still don’t know very much.
Lifelong learning is essential in software as there are always new areas to explore, reducing imposter syndrome by embracing the learning process.
2. The hardest part of software is building the right thing.
Designing software requires understanding complex and often irrational environments to meet user needs effectively.
3. The best software engineers think like designers.
Great engineers focus on user experience and usability in all interfaces they create.
4. The best code is no code, or code you don’t have to maintain.
Prioritize solutions that minimize new code or leverage existing, maintainable code to avoid unnecessary complexity.
5. Software is a means to an end.
Delivering value should be the primary focus, not just creating software for its own sake.
6. Sometimes you have to stop sharpening the saw, and just start cutting shit.
Avoid analysis paralysis by setting deadlines and starting to implement solutions to learn and iterate quickly.
7. If you don’t have a good grasp of the universe of what’s possible, you can’t design a good system.
Staying updated with the latest developments in the field is crucial for designing effective systems.
8. Every system eventually sucks, get over it.
Continuous improvement and creating a livable system are more important than achieving perfection.
9. Nobody asks “why” enough.
Questioning assumptions and understanding the underlying goals is critical for effective problem-solving.
10. We should be far more focused on avoiding 0.1x programmers than finding 10x programmers.
Preventing underperforming team members is more crucial than seeking mythical super-performers.
11. One of the biggest differences between a senior engineer and a junior engineer is that they’ve formed opinions about the way things should be.
Senior engineers have strong, informed opinions on tools and methodologies, driving better decision-making.
12. People don’t really want innovation.
True innovation often faces resistance, as people prefer familiar, incremental improvements.
13. Your data is the most important part of your system.
Ensuring data integrity is crucial as it will likely outlast the codebase.
14. Look for technological sharks.
Established technologies that have stood the test of time are reliable and efficient choices.
15. Don’t mistake humility for ignorance.
Quiet team members can offer valuable insights and should be actively engaged for feedback.
16. Software engineers should write regularly.
Regular writing improves communication skills and helps in better problem articulation and solution documentation.
17. Keep your processes as lean as possible.
Avoid overcomplicating processes; focus on building, learning, and iterating in small chunks.
18. Software engineers, like all humans, need to feel ownership.
Ownership over the entire process from design to delivery increases engagement and quality of work.
19. Interviews are almost worthless for telling how good of a team member someone will be.
Focus interviews on understanding the candidate’s interest and fit rather than trying to predict their team performance.
20. Always strive to build a smaller system.
Building minimal viable systems allows for better learning and iteration, leading to more effective solutions.
Monday, July 1, 2024
Art of Delegating
Delegating is a powerful tool for team development. It took me a while to accept that sometimes, "done" is better than "perfect."
Early in my career, I found it challenging to delegate tasks since I knew the systems like the back of my hand. Since then, I have adapted to be more efficient and to trust my team.
I have used delegation frameworks similar to this one (https://blog.hptbydts.com/the-delegation-diamond) to categorize tasks and identify which ones to delegate. Giving team members stretch opportunities helps them perform at a higher level and fosters growth. #Leadership #ManagementTips
Monday, June 3, 2024
Side Hustle
Side gigs offer a valuable opportunity to diversify income generation and explore passions outside of your main career path. They allow you to pursue interests on your own schedule, whether it's freelancing, creating content, or offering services. Some of my favorite side hustles if you want to earn an extra buck
- Consulting: Offer your expertise to small businesses or startups in need of technical guidance or project management assistance. You can market your services on platforms like Upwork or Toptal.
- Online Courses: Develop and sell online courses or tutorials on software development, leadership, or project management. Platforms like Udemy or Coursera are popular for hosting such courses.
- Freelance Development: Take on freelance software development projects, either independently or through platforms like Upwork or Topta or Fiverr. Another one which is easy to do is use Canva to create your own design, use Printify to put that design on a product of choice and use Etsy to sell that item.
- Mentoring/Coaching: Offer coaching or mentoring services to aspiring software engineers or tech professionals looking to advance in their careers. You can advertise your services on platforms like LinkedIn or Coach.me.
- Market Research: Sites like Secret Shopper where you can be a Mystery Shopper for businesses in your area. Secret Shopper
- Podcasting: Host a podcast discussing topics related to software development, leadership, or the tech industry, and monetize through sponsorships or listener support. Platforms like Anchor make it easy to start and distribute your podcast