How do you get a brand new team to become productive within three months? This post describes the lessons and techniques from rapidly ramping up these teams. These tips should help new members become productive within 12 weeks.
This post describes a simple framework for evaluating career choices along three dimensions and helps you to choose what is most important to you.
You have two choices when new challenges emerge: Offer several reasons why things wouldn't workSeek growth opportunities from the challenge Let's talk about the latter option. Scenario Your team dances through complex rituals every month before it can successfully deploy a big batch of changes. Engineers dread the drain on developer productivity and attendant customer … Continue reading Taking on scary challenges
Excuses are easy, take ownership and drive for results
Are you working on the right problems? If no, then focus all your energies on identifying the right problem with the biggest impact.
How do you drive change across difficult environments? For example, presenting radical new ideas to an unreceptive audience or collaborating with parties with opposing interests
How to brilliantly deliver on seemingly impossible projects
Tips for making learning a habit and maximizing knowledge acquisition
One of the most underrated parts of working at any job is interacting with people. It is amazing how much humans achieve via collaboration and also how fast relationships can degenerate.
These are a few strategies I employ to be more efficient at work.
Habits die hard It is hard to focus in a fast-paced work environment: there can be live-site incidents out of the blue; bugs to fix and meetings to attend. I have always struggled with coping with incessant demands and distractions; the urge to drop whatever I am doing and hop on the next fire is hard … Continue reading Less Work, More Impact
There is more to software development than writing code. This post describes three of the most oft-repeated tasks I have been asked over the years. These are not strictly programming tasks but help magnify the impact.
Do you want to sleep well at night?
What do you do when you run into code that apparently serves no purpose? Do you immediately expunge the code? Also, what do you do if you have to follow some organizational process that appears to make no sense? Do you just eliminate the process?
Late in 2016, I made a conscious decision to become a full stack engineer. It was a tough decision for me because it meant a career reset and came with some risk. I would also have to learn a lot and fast too to be an effective contributor.
I used to read a lot in the past without practicing what I learnt; that exposed me to a variety of ideas and empowered me to discuss a lot of things. Over time, I found out that I mostly didn't 'know' what I thought I knew. Yeah I know it sounds somehow but it's really true. True understanding … Continue reading Reading is not enough
This post discusses the traits of the excellent engineers I have had the opportunity to work with over the years.
I recently transitioned into a full-stack role - I wanted to stretch myself and step out of my comfort zone. The biggest challenge was my struggle to quell the quite nagging voice in my mind screaming 'impostor!'.
Nearly everyone goes through moments wherein they doubt their capabilities.
Looking back on my time as a developer, there are a lot of things I would have avoided doing if I had as much knowledge and maturity as I did now.
I try to read a lot of books. Over the years, my 'taste' for books has been refined and some of my criteria are listed below.
I have made a couple of mistakes over the years and wanted to share those pitfalls so upcoming programmers know what to avoid and what works.
Looking back, I have learnt a couple of lessons the hard way and wanted to share some of these so that other engineers know what to avoid.
Effectiveness, (noun) : the degree to which something is successful in producing a desired result; success.