Saturday, July 11, 2026

A Manager's role

I read this excerpt somewhere and could relate:

"A manager is not there to write code or be the smartest engineer in the room. A manager gives clarity, direction, support, and care. They grow the people on the team. They build the systems and environment that let other people do their best work and enjoy their job."

Has the approach changed in the AI world? Maybe...

Monday, May 12, 2025

Leadership Styles

From Goleman's book on emotional intelligence.

Tuesday, December 24, 2024

How great leaders inspire action

A great video from Simon Sinek on how o differentiate yourself as a leader when you are in charge of building products. Some key points:

  • Inspiration begins with belief: Leaders inspire by communicating "why" they do things, not just "what" or "how."
  • Lead with purpose: People follow those who align with their beliefs.
  • Emotion drives decisions: Appeal to feelings, not just facts.
  • Attract the right people: Success comes from those who share your vision, not just skillsets.
  • Authenticity wins loyalty: Focus on values over results.




  • Sunday, August 25, 2024

    Blogs I Follow

    Popular blogs I follow and read regularly

    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

    1. 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.
    2. 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.
    3. 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.
    4. 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.
    5. Market Research: Sites like Secret Shopper where you can be a Mystery Shopper for businesses in your area. Secret Shopper
    6. 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