7 Simple Tricks To Guarantee Failure as a Software Engineer
This isn't you, right? Please, don't do these things. You're hurting yourself.
Does it make sense to define success as the opposite of failure?
Failure is the best teacher if you give it a chance.
Treat failure as a case-study. At least learn something from the ordeal.
Below are simple hacks and tricks to guarantee failure as a software engineer.
1. Paralyzed by contempt
Searching for the perfect code base or application is a fools errand.
Some are better than others and often beauty is in the eye of the beholder.
So then, what to do when encountering code or process that clashes with your style? Find a way to get the work done. Embrace the challenge. Consider it motivation to gain unconventional experience.
Failure is guaranteed when ego and opinion overrules action and results.
2. Be the super hero they need
Feeling like the smartest person in the room is often exactly that: a feeling.
Teammates catch that sentiment and reject it outright.
Having “all of the answers” and being “the only one who has a correct opinion” breeds contempt throughout the project.
Refactor entire modules on a whim. Denigrate others work. Be the gatekeeper for action.
Failure is guaranteed when the team is alienated through superiority.
3. Remain stuck in your ways
Longevity in software engineering is straight forward: adapt or die. Simple, not easy.
Early career success can be an anchor; holding you in-place for the next decade.
The grouchy tech lead that resists change will quickly alienate the incoming generation of software engineers.
Customers LOVE desktop applications.
Software on the web is TRENDY.
HTTP IS FOR HTML.
SPA's are for massages.
Hot takes rarely get you far. Instead, they make you look stale.
The stagnant software engineer will quickly find their skillset lacking when compared to market demands.
Failure is guaranteed the moment you rely exclusively on your existing knowledge.
4. Be a black box of productivity
Your team is a group of people that have their own needs, wants and desires.
“Team work” is where it all overlaps.
Black Box team members want to disappear with their work like a top secret submarine in the ocean. Emerging days or weeks later with their work.
There are sharp team members that get it done. But, getting useful info along the way is like trying to pull a tooth from a starving wolf. Good luck. Silly questions like “When will this get deployed?” are impossible to get answered.
Failure is guaranteed when teammates don’t understand what you’re doing or why you’re doing it.
5. Assume your team are robots
Avoid follow ups, check ins and action items. Who needs’em?
Team members are thought to be dumb if external accountability is required.
Barking orders at a team usually ends poorly.
Too often, even senior team members believe the team must follow instructions just because a task was mentioned.
Failure is guaranteed if your best attempt at leadership is commanding orders from the high ground.
6. Take ambiguous and open ended tasks
Accepting work with vague requirements and open ended requests is a recipe for disaster.
Software engineering is 99% “What the heck should this thing do?” and 1% writing the code. Figure out what you’re building and the code practically writes itself.
The dev team can code. The problem is never the code. The problem is always what should this code do?
Insert a wrench the size of New Jersey into your team by giving them long stretches of time to complete tasks that the product team has not yet figured out.
Failure is guaranteed when the dev team moonlights as the Figuring It Out Product team.
7. Push untested code
Make a name for yourself as the fastest developer on the team.
Squash bugs in record time.
Establish a blistering pace for pushes by using the build server as the first thing to compile your code.
No change too big. No change too small. Ain’t no way is he gonna test it all.
Failure is guaranteed when your pushes break Test and Production environments.