I asked my local tech community what does the quote “Instead of putting out today's fires, create tomorrow's fireproof doors” mean in regard to an aspiring developer learning new tech skills, a developer at a company, leader, or job interviewer? The following is a curated list of their answers:
Putting out today's fires only helps you return to status quo. Building a fireproof door is improving the status quo. Break-fix and putting out fires don't provide any value-add, they just halt value-loss. If you find yourself putting out too many fires then there is something underlying that needs to be improved so that you can stop doing so much fire fighting.
I'll add that you don't build a fire-proof door until you learn about door fires. You have to learn what catches fire and how it catches fire before you can make a properly fireproof door. You don't know what needs improvement if you don't see how it breaks.
This is a realization few teams and seemingly fewer leaders are able to see. I fight this every day in my day job and I'd consider my day job to be pretty awesome, even awesome people can fall into a pattern of firefighting. Breaking this pattern requires changing how multiple people interact with each other. It's hard. We did it at my day job because we have some awesome people that can have real, non business-speak conversations and learn about how to work better together. Can you have those conversations with your coworkers? If no, why not?
Maybe you don't want a fireproof door because it would be better to burn the thing down and build it again with the benefit of learning/hindsight
I think this is tough for a new developer. In my experience, fires have happened and I have learned from them. Then, next time I write code I have these fires that have been burned into my mind and my future code improves to handle previous fires. As an aspiring developer, it is good to try to put in some “fire catching” code, but inevitably you will run into a person, a situation, or a system that breaks some part of your code. From that, you learn from it and improve all future code to consider these things.
Noticing no mention of tech stacks, choice in cloud provider, nothing technical here. Not that they're not important but it seems the human elements are the ones that make the real difference.
Aspiring developers? This is hard, because you need a foundation before jumping into newer stuff (e.g. Vanilla JS before frameworks). I think once you have that, focusing on something that's ahead is a good thing. I would say that anyone at a company responsible for decisions regarding new features, technologies, etc. should be trying to find ways to build/include them in ways that help prevent future issues, sort of like preventative/proactive medicine vs reactive. I honestly don't know for Job Interviewers, other than have the postings written by the actual team that someone will be joining, not a clueless PR person.
Anyone can create fireproof doors by being prepared for the future today. A learner should add new skills and projects to your resume and portfolio as you learn/build them. This way you are not struggling to update something at the last minute. For the developer, add to your resume as you accomplish incredible things. When it's time to look for a new job or ask for a promotion, you are ready. A job interviewer can be fireproof tomorrow by properly documenting your journey. This helps you determine what tactics worked in the past so you can be used in the future.
One strategy that I think works well is that whenever a user reports an issue instead of just fixing the issue for that user try to prevent it from happening again. So in that scenario you would be putting out today's fires and then creating fireproof doors.
Take coding day by day, live through your mistakes. Don't take a broken line of code so personally, live and learn.
- Building a fireproof door is improving the status quo. It's important to learn how the fire happened. If there is a lot of fires then there is an underlying problem that need fixing.
- Breaking the pattern that start fire requires changing how multiple people interact with each other. It is the human element, not technical like tech stacks, that will make a real difference.
- It may be better to let the door burn down and build it again with the benefit of hindsight.
- The benefit of previous fires is it teaches developers how to write better code.
- Learners can fireproof their doors by constantly updating resumes and portfolios as they learn new skills. Developers can do the same by updating resumes after a work place accomplishment.
- Leaders should make decisions that include ways to prevent future issues.
- For aspiring developers, learning how to test and coding daily is the best way to learn how to create fireproof doors.
Please help others learn by leaving a comment on the quote "Instead of putting out today's fires, create tomorrow's fireproof doors" Thank You!!!
Cover Picture is by Stephen Radford from Unsplash.