I have often felt proud to be called a Software Engineer. This field is creative, dynamic, and requires continual learning and personal development. As business needs change and technology progresses, we engineers must learn to adapt and acquire new skills in order to remain relevant.
However, this continual growth can become a double-edged sword. Personal development can be a wonderful experience. Yet, if we ever struggle with the use of new technologies or industry paradigm shifts, we can lose self-confidence and begin to encounter insecurity.
Recently, I had such an experience. For most of my 15 years as an engineer, I have worked with C# applications for Windows desktops and server API development. Web UI work has been an area I’ve avoided. Browsers are picky. CSS can make grown adults cry, and debugging browser code can be painful for those of us who are accustomed to more robust tools. Regardless, writing web front-ends is a critical part of modern development. Not being one to shy away from a challenge, I gladly accepted a Web UI project.
After doing a bit of application discovery, I found that the client’s front-end was deeply tied to Knockout.js. Knockout was a tool I had heard of, but had never explored. In preparation for this project, I researched the framework, followed some initial tutorials, and felt ready for the new opportunity.
My optimism, however, was met with continual road blocks. Personally, I found Knockout to be a bit non-intuitive. Maybe this would not be the case, if Knockout was the browser MVC tool I had personally chosen for a new project. But, since I was developing changes within an existing, complex application, the struggle was real. Oh. So. Real.
Over the years, I have learned that the solution to such a circumstance is rather simple, but often hard to embrace–be humble, and ask your fellow team members for help. This may seem obvious, but how many of us have embraced a “heroic†mindset? Specifically, we take on full ownership of a given responsibility (sometimes even beyond what is required) and relentlessly work independently to provide an exceptional solution for our customers.
Engineers can experience a near-addictive feeling of excitement when we come in under budget or provide a product that is better than expected. These feelings can be enhanced when we exercise autonomy in completing our projects. However, the excitement of independent heroic success can come at the expense of feelings of incompetence when the answers are unclear. This is the price we pay when we’ve come to solely rely on ourselves for problem-solving.
While working with Knockout, I was given a chance to either cling to a detrimental, heroic mindset of independence or embrace humility and seek assistance from our team at Clear Measure. Our supportive team was willing to assist me multiple times in finding bugs and solutions that I just could not solve, even when they ended up seeming obvious. Help may have cost a bit of personal pride, but the end result was a successful product completed within the customer’s budget.
Our teams don’t need another hero. If we all welcome the virtues of humility and honesty and allow ourselves to admit our occasional deficiencies, we can build an organization that is strong and supportive of its members. This growth mindset can be tough in such an independent field. But the benefits — better teams, better engineers and better results for our clients — are worth it.
If you’d like to chat about Azure DevOps Consulting Services to help build your team, or anything else, don’t hesitate to contact us.