After graduating from U.S. Naval Academy in 1981, Captain David Marquet spent a year studying USS Olympia — every pipe, switch, filter, etc. It was the submarine he was supposed to be in charge of. As a prospective commander, he realized that he wanted to be the person with more knowledge about the submarine than anybody else onboard. Though, he was later put in charge of USS Santa Fe —which was then ranked last in retention and operational standing. His rigor to learn helped him quickly catch-up with the new submarine. Along with his unique style of intent-based leadership, he and his crew went on to become the highest ranked crew in U.S Naval history.

Mediocrity kills software. Being a developer not just requires a considerable amount of technical skills, but also be exceptionally good at some of them. Great applications are built using great code. You can’t impress your customers with the applications that perform poorly even though your ideas are extraordinary. To deliver applications that excel, you need people who excel at writing those applications, people who master their craft. There’s one thing that’s common with all high-performing athletes — they are extremely good at doing ONE thing. They constantly learn, practice until they reach the level of being a master in their respective fields.

Software Development on other hand is a different ball game. There is a multitude of technologies, languages, libraries, frameworks that developers can learn and be good at. It is imperative to know and even be good at many technologies, but it is quintessential to be the master of at least ONE!

Let’s take Web Development for example. As a developer and technologist, it is essential to stay informed so that you can apply the knowledge when providing solutions and use the right set of technologies. But it is extremely hard to master all the libraries and frameworks that pop on the internet every day. It is simply not easy to catch-up. However, you gotta focus on one thing that matters the most to you and the market — let’s say React.js.

As a lead developer, your responsibility is to steer your project towards success and help your associates get up to speed with the technologies being used in your platform and help them understand it’s architecture. And to be able to do that you will have to master your craft. If you lead a group of front-end developers and use React.js (or any other framework or library) to build your applications in your current or upcoming project, your primary focus should be to master the craft and be the most knowledgeable person to stay ahead in the game. Invest time in reading, learning, coding and experimenting with it’s features, dig deep into the working principle of it’s architecture and understand it’s use cases. With our fast-paced agile nature of development, it is not easy as it sounds. However, your ability to churn, hone new skills and master newer technologies as the market demands will be higher provided you possess strong foundational knowledge of technologies such as HTML, CSS and JavaScript.

“Teaching is a lifelong art, that … involves continuous learning not just for the student but for the teacher as well.” — Mildred Katz and Joseph Henry

The process of mastering the craft is agnostic of technologies being used. Constant learning and helping people succeed are two major traits of an effective leader. When you master your craft through rigorous learning regime, you not just contribute to the success of your project, but also help others gain knowledge and produce more masters who eventually go on to lead other projects.