Have you ever had a job where you walked in each morning and had to drag yourself through the door? Perhaps you loved the work, but the culture and the way decisions are made eat away at you?
In this blog post, you'll learn five key concepts to stop doing to build a better culture and a better product. This blog post is for engineers and managers alike.
Care about the Quality
Quality, not quantity. This is a quote we've all heard in one way or another, for many reasons. Think about this for a second. Say you go out and buy a brand new car. It can be any car - Honda, Lexus, Toyota, or a Tesla. Regardless of the type of car you buy, you want it to be built properly, right? No one wants a car that has to be brought back to the shop every day.
So why would someone want your product if it's not built with quality?
Many organizations get tied up in the idea of getting things done quick, meeting mythical timelines that exist for a reason no one knows, and working their employees to the bone because it needs to get done for a reason no one really knows.
Slow down and think about the quality. Think about the effort that's going into the work and if you would want to buy it. If you wouldn't, chances are everyone will find out eventually that they don't want it either.
Care about Employees
The employees that work at an organization are the reason why the organization even exists in the first place. If that wasn't true, no organization would hire hundreds or thousands of people. Employees are the reason why the lights stay on. Respect them.
Time and time again, whether it's on a Reddit post, LinkedIn, or Twitter, we hear someone having a tough time at work. It typically is always because of one primary reason (unless they hate the work they're doing), and that's the fact that employers don't care about their employees. Don't be that employer. Don't be that manager. Make a difference and treat employees in a way that they want to stay, because there are a lot of companies out there and DevOps is in high demand.
Stop Spending All of Your Time Putting out Fires
The definition of insanity is doing the same thing over and over and expecting different results - Albert Einstein
The quote above is true for putting out fires. If every time you try to deploy a product, ship some software, or simply make an update and it breaks the environment, you're putting out fires. In reality, it's nearly impossible to stop every single fire that will ever occur. There's no way to predict everything. If your servers are on-prem, a hard disk may go bad. If your servers are in the cloud, the cloud provider you're using may be having an outage.
However, if you're constantly trying to deploy a product, it keeps failing, and it's 100% something you can fix but the employer doesn't want to spend the time to do it, that's on them. They will continue to incorporate a mess into the environment and engineers will have to clean up the mess. Don't be that employer. This goes back to the first tip - care about the quality.
Spend Time to Improve the Process
The previous section was about stopping fires from happening all of the time, which entails spending time to improve the process. Improving the process in-turn helps create a better quality product (see how these all tie in with each other?). Below are a few tips to improve the process.
- Schedule time each week to clean up technical debt.
- Figure out why a deployment failed or why something didn't go according to plan, then iron out the details.
- Stop pointing fingers - no one should be playing the blame game. Figure out the problem, but figure it out as a team. Blaming people is just wasted energy and I assure you that it won't get you closer to a resolution.
- Figure out where engineers, techs, and managers need assistance. Perhaps improving the process is as simple as a little training.
Respect Everyone's Time
Things happen. An unexpected occurrence will come up and you will have to spend 12+ hours working on it. In a lot of engineering roles, this is unavoidable. However, it should not be happening every day of every month of every year. If an employer expects every employee to work 12+ hours per day, every day, and work on weekends (yes, this does happen), that then employer needs to take a step back and realize what they're doing, which is burning out employees and driving them away.
People have loved ones, hobbies, interests, lives. Let them enjoy their life and I promise you, they will enjoy the life they have at the company as well as live a life.