Throughout my career as a software engineer/architect I’ve found that I often run into stressful situations. Software projects are often unpredictable in nature and more often than not are being run by people with little experience or knowledge of the complexities involved. As a software consultant I am often in the position of working with a team that needs help but doesn’t want to admit it. The fact that a consultant is present is a sign that at least some level of help is needed. A strong signal of a talented consultant is someone who can guide and educate a team without their knowledge of it. However, more often than not that is at the expense of the consultant’s sanity and stress levels. At least that seems to be the case with me.
What I’m trying to do now is find ways to channel the stress and anxiety of my job so that I can live a life outside of work. I have a hard time disconnecting from projects. I don’t know how to tell my brain to let go of something that was massively important only a few hours earlier. Long after I leave work I find my brain idling through many of the outstanding issues that the project is facing, searching for solutions, thinking about ways to better our success rate and give feedback for improvement. A lot of what I do is about people as much as it is about software. I have to listen to their ideas, understand their point of view, and then guide them towards an architecture or solution that will leave them in a better place moving forward. My success is often measured by my redundancy. Once I’m no longer needed then my job is complete. Ostensibly the team have learned enough to run projects by themselves.
During the journey of a project there are often three distinct phases. The first phase usually begins with a very rosy view of the world as a new project is defined and scoped. Many hours are spent in a manner that will seem quite inefficient as deadlines approach as developers, designers, and managers alike wax lyrical about the new masterpiece that is about to begin. Phase two is a learning phase where time seems to be spinning by at an alarming rate and the team is abuzz with process and methodology discussions. Meetings are held to discuss how time can be managed more effectively and how items can be tracked and monitored to give more visibility into the process. Sadly it is often during this phase that scope also expands as in the name of cutting features the first real look at the project occurs and the stakeholders realize that their original visions lacked many of their true needs. Phase three is where the rubber hits the road. The talk is now of deadlines and deliverables. Gone are the gay days of dreaming replaced instead by the machine of productivity. It is usually during this phase that the stress begins to well.
I’m currently navigating a particularly delicate phase three. The stress is mounting daily and I’m searching for ways to keep my cool and help the team reach their goals. Give me strength.