There's this paradox that you need to be as fast as possible when programming - just ship it they say. I'd like to argue the counter - perfect what you can, then ship it. It's important to get a MVP out there, but wha tis equally as important is making the MVP suitable enough for potential customers to want to remain on the platform. When I find a MVP, I make a point of spending 10 minutes on it - in 10 minutes if I don't understand the ultimate goal - or it's not possible to do as advertised within reason - it's lacking engineering, not features.

This goes hand in hand when you want to improve yourself, in order to understand yourself better - make yourself a MVP. You're the customer of your own skillset - how do you face a task? A question I strike often is, "if I showed up at your desk, gave you 20 things to do on your first day, and went 'oh by the way, I have a meeting so good luck see you tomorrow!', how would you react?" - You wouldn't be surprised how many hopefuls tell me, "I'd dive right in and get it all done to perfection before you get back in, I'd go the extra mile and ensure to ..." - Not the answer we've wanted to hear. Let's be real here, you're only going to get a few things done, personally, I'd spend the day introducing myself and getting to know everyone first, then get the tasks done the next day.

This is just one example out of many, I've often found that during interviews, the average person overstates their confidence and ability. I'd rather you aim high and miss, then to shoot low and hit. Tell me straight up with no sugarcoating your abilities, it won't mean you can't work - in fact, it shows you're willing to be honest with yourself. Everyone wants a 10 year junior developer, and unfortunately most people give into it, even if they have excellent experience.

My takeaway for all those who are seeking careers in computer science-related fields:

  1. No is a perfectly acceptable answer
  2. Find the right job for you, don't listen to the people around you - make the decision based on where you want to be in a few years down the road
  3. Don't jump ship because it's tough
  4. Be nice to everyone, despite their attitude towards you

Finally, to err is human - to blame others shows management potential./s

engineering

Mike

Senior Software Engineer, Labber, Sysadmin. I make things scale rapidly. Optimize everything.

Read More