When I began working at a startup, I remember feeling overwhelmed by the sense of responsibility. I was trusted and empowered to make a difference. Every contribution had potential to make a huge impact on such a small company. Talk about pressure.
Over the years, I have found these words of wisdom to be a useful tool for improving my perspective at work and helping onboard new startup engineers.
“It is better to beg forgiveness, than ask permission.” Grace Murray Hopper
This quote was shared with me by an amazing mentor and it dramatically changed the way I work.
In a startup, you can’t rely on your peers or superiors to officially sanction and bless every aspect of your work. As an employee in a startup, you are implicitly trusted to do your job and do it well.
Be transparent with the work you do and do not wait for someone else to create a TODO list for you.
“Talk may be cheap, but sometimes delays can be more costly than shipping something broken.” Me
The more time you’re talking, the less time you are coding.
If you need to have a meeting to make a decision, build a tangible prototype first. With a minimal investment of time, you can avoid the design by committee scenarios and focus the discussion on “what is needed to ship this real thing to production as soon as possible”.
These throwaway code prototypes are extremely cheap to create and share with coworkers thanks to tools like git for version control and ngrok to share local development environments.
“Perfect is the enemy of good” Voltaire
It is very common for new engineers to have some anxiety releasing changes to production fearing they may have overlooked something or may unexpectedly break something.
Engineering at a startup is fast paced, and when you are required to wear all the hats, it’s easy to feel like you’ve overlooked something. But given the limits of time and available QA resources, you must be comfortable with the risk of the unknown.
Balancing ideal state and functional state is tricky and the best advice is to document a list of laundry items for your team to ensure you have visibility into tasks that can be revisited at a later point.
“It is better to be wrong than undecided.” Me
Bugs will happen and you will overlook edge cases. It’s just a fact of life in a startup.
Shipping known functional code with unknown bugs still provides immense value to the company. At least you are learning something! Keep your focus on how to mitigate and minimize risk of said bugs.
Leverage automated systems for monitoring, notifications and continuous integration systems to help you keep your sanity and ensure that when problems do arise, you can detect and fix issues quickly.
“If you aren’t sure which way to do something, do it both ways and see which works better.” John Carmack
Always be open to experimentation and use data to make objective decisions for you instead of just listening to the loudest person in the room.
Develop a strong analytics foundation including A/B split testing and put it into practice throughout your daily programming practice. your codebase.
“Time is a startups most scarce resource. You never have enough of it. Invest it only in things that matter.” Me
At the end of the day, all of these quotes are restating a common theme: Avoid bottlenecks and focus on delivering real value in your job.
Good luck to all you engineers out there! Drop me a line with the quotes that have inspired you!