The Seven Habits of Highly Effective Developers
If you are looking to maximize your productivity and impact as a modern developer, consider these seven habits shared by App Dev Manager Ketuan Baldwin.
Reaching your full potential as a developer requires you to be highly effective. In this blog, I will discuss some principles that are important for modern developers to be successful. The ideas generated from these principles are based on Steve Covey best-selling book, The 7 Habits of Highly Effective People. As developers, our primary goals is to make things easier and/or to create more engaging experiences for users. These seven principles look at a modern approach to achieving that primary goal.
1. Be Proactive with DevOps
a. Being reactive doesn’t allow you to be innovative. DevOps gives control over the process and tools for building, testing and releasing software applications. For many years and even today, some teams only release software on the weekend or in the middle of the night. This can be because developers and technology operations resources haven’t integrated or accepted a DevOps culture to embrace automating software delivery through continuous integration and deployment. Being Proactive with DevOps increases reliability of environment resources and can be helpful when automating repeatable task.
Check out Visual Studio Team Services for more information around Microsoft’s DevOps tools
2. Begin with Open Source in Mind
a. For a long time at Microsoft, we’ve believed that we could create all the products and tools that would solve any problem leveraging great dev teams and driving a widely adopted products. More recently, we have changed this type of thinking and embraced Open Source technologies and services as an integrated part in developing solutions for customers. Today’s effective developers realize that the .NET platform and Windows Server can work well for many solutions, but they are open to using Linux Server and other development platforms to solve problems.
Check out some of the story on How Microsoft has embraced Open Source tools and services like Kubernetes, Node.js,Chef, etc..
3. Put the Cloud First
a. It’s extremely important to consider a Cloud First approach in your app development. The Cloud helps remove barriers and creates flexibility, scalability, and availability for your applications’ services. A cloud first approach allows developers to focus on innovation and not managing networks, operating systems, and storage needs– allowing technology resources to focus on more strategic responsibilities and outcomes.
Check out this Developers Guide to help get you started in the Azure Cloud.
4. Think Containers/Serverless in your Architecture
a. Rethinking the way we design and architecture applications for a variety of platforms, devices, services and consumers can be challenging. When we understand the benefits of Containers and closely examine opportunities for serverless computing, we can transform monolithic legacy applications. Serverless applications helps to reduce code and speeds up the development process for scale. Effective developers use containers to maximize deployment flexibility and serverless as an option for integrate scaling, hosting, and monitoring easily.
Find out more about the Containers and Serverless feature in Azure.
5. Use Mobile to Understand, and AI to be Understood
a. Now that Mobile is a part of most users digital experience, it has an opportunity to empathically listen and understand customer needs. This can lead to a more powerful and engaging experience with Artificial Intelligence. Cognitive, Machine Learning and Bot Services give developers new, exciting, and unexpected way of understanding and interacting with data through voice, video, images and text.
See how to build these engaging Mobile and AI experiences with Microsoft platforms and tools
6. Synergize through Insights
a. We can gain Insights through various forms of telemetry. Independently each area will have limited value, but the synergy of all insights will lead to opportunities of new services and a deeper understanding of the customer experience for developers. When developers have complete visibility into applications this means they can monitor events, app performance, exceptions and session details to help diagnose issues for users across the entire solution stack.
Effective developers build, measure and learn with Application Insights.
7. Continue to Sharpen the Saw
a. Continue to invest in yourself and gain new relevant skills. Checkout some of the digital learning experiences for developers. Azure Cloud .NET Developers Azure Cloud AI Developer Microsoft Professional Program – Front End Development Microsoft Virtual Academy – DevOps for Developers
These new habits give us something to think about and work towards as we become more effective in our daily activities. Almost 10 years ago, a former colleague of mines, John Powell, wrote a blog on The 7 Habits of Highly Effective Developers that made sense for developers in 2008. While these principles can still be effective, there are a lot of new capabilities and opportunities to consider as a developer today.
Stay #Winning and keep developing amazing experiences my friends…
Premier Support for Developers provides strategic technology guidance, critical support coverage, and a range of essential services to help teams optimize development lifecycles and improve software quality. Contact your Application Development Manager (ADM) or email us to learn more about what we can do for you.