On this subject, here is an article about the new tech talent you need to succeed in digital: In today’s rapidly changing digital landscape, companies that understand their talent needs and know how to meet them have a competitive edge. Here’s how they do it.
While few would debate the importance of technology talent, its importance in successfully executing a digital transformation is often underappreciated. Over the next five years, large companies will invest, on average, hundreds of millions of dollars—and some more than a billion dollars—to transform their business to digital. And given that top engineering talent can, for example, be anywhere from three to ten times more productive than average engineers, acquiring top talent can yield double-digit investment savings by accelerating the transformation process by even 20 to 30 percent.
The new capabilities you need
Understanding what talent is necessary starts with understanding what capabilities digital businesses need. While those will vary by market and geography, successful digital businesses share some common traits: they’re focused on the customer, operate quickly, are responsive and agile, and can create proprietary insights. And given the rapid pace of change, companies will increasingly need to be able to engage with broader ecosystems encompassing a range of businesses and technologies as well as position themselves to take advantage of emerging artificial intelligence (AI) and the Internet of Things.
That requires IT systems that can process massive amounts of data, continuously deliver new infrastructure environments in minutes, be flexible enough to integrate with outside platforms and technologies, and deliver exceptional customer experiences—all while maintaining core legacy IT systems. This way of working is much more dependent on the collective skills and strengths of a multidisciplinary agile team rather than on the heroics or talents of any one individual. In short, this reality means people not only need to have strong technical skills but also to be able to function well in teams. Poor team dynamics can crush even the most talented individuals.
While there is a broad range of skills needed, this set should be part of any company’s tech-talent list:
- Scrum masters and agility coaches. “Agile development”—where software is rapidly developed in iterative cycles—is a core capability that drives the technology engine. Making the agile approach work relies on having “scrum masters” to manage teams during the development process. Scrum masters need great leadership and enabling skills, but also a deep understanding of technology and an ability to rapidly solve problems. As important as the scrum master is at the team level, to scale the agile culture across the broader organization, you need agility coaches. Think of them as Olympic trainers for the organization. They have strong communication and influencing skills, can create and roll out plans to support agile processes across the business, and put in place measurable key performance indicators (KPIs) and metrics to track progress.While it’s desirable for scrum masters to be certified, it’s more important that they understand the values and principles of agile (e.g., value-focused delivery, adapting to change, continuous improvement, et cetera) and have at least two to three years’ experience training, coaching and working to build high-performing agile teams. They are people leaders with the ability to deal with conflict, influence ideas, and have empathy. It is helpful for them to have baseline knowledge of software engineering best practices to appreciate what goes into building high-quality software.Strong agility coaches have deep experience working as change agents to transform how an organization thinks and works. To be successful, they need to be comfortable coaching people across different functions and levels of the organization, including senior executives. They are focused on impact and build organizational muscle around measuring progress.
In our experience, what separates a good from a great scrum master is the ability to be a great people leader. A good scrum master protects the team from distractions, but a great one finds the root cause of distractions and eliminates them. For an agility coach, it’s building capabilities to help an organization create sustainable change.
- Product owners. This role is often referred to as the mini-CEO of a digital product. Product owners clearly define the vision of a product or service, are fully empowered to make decisions that deliver high business value, and are laser focused on KPIs to track progress. The product owners work directly with developers, engineers, experience designers, and other stakeholders in the business on a daily basis. They need to understand technology and user-experience issues in order to make the right tradeoffs in deciding on the product or service features to develop.Product owners are not just proxies for the business-unit leader to manage the project. They need to be empowered to make product decisions. Product owner can often be the hardest job on an agile team, and those who do it typically require four key skills to be successful:
- Vision: they can establish strategic vision for a product and align the organization around a clear view of what’s required to achieve business success.
- Value focus: they possess a mini-CEO mind-set with a focus on delivering measurable business value, delighting the customer, and optimizing ROI.
- Decisiveness: they are natural problem solvers who make decisions and prioritize initiatives using data and facts rather than intuition and feeling.
- Product management: they typically have three to five years of strong product-management experience and a good sense for the intersection of business, user-experience design, and technology.
In our experience, what separates a good from a great product owner is someone who has a strong sense of the complete product or service vision (and doesn’t get lost in the details of its parts), the ability to inspire and influence people to deliver on the overall vision (not just his/her piece of the project), and is focused on enabling the team by, for example, helping it make the hard product decisions.
- Full-stack architects. These roles are particularly important in a more complex and rapidly changing technology landscape. The full-stack architect needs to be fluent across all technology components that include the web/mobile user interface, middleware microservices, and back-end databases, and have a “spike” (i.e., bring deep expertise) in one or more areas. As businesses increasingly engage with external ecosystems of technologies, full-stack architects can provide expertise in third-party packaged software, fluency in multiple best-of-breed technologies, and experience with multiple-technology integration strategies.Full-stack architects are generally hands-on developers with at least eight to ten years of software engineering experience and deep expertise with one to two core programming languages (e.g., Java, .NET, Node.js, et cetera). They also need to be knowledgeable and fluent across the different “stacks” of a large-scale software system (e.g., front-end user interface, middleware integration services, databases, et cetera). They are effective at linking the architectural vision with the business vision and building solutions that focus on business value, not just technical excellence. They have a deep understanding of how an architecture will need to evolve to meet changing business goals and like to produce working software as one of the best ways to illustrate a concept. In our experience, what separates a good from a great full-stack architect is not just the ability to provide technical excellence but also to embrace flexibility over building “bulletproof” systems. They are passionate learners who keep up with evolving technologies and techniques and are willing to experiment with them to test what would work for the business.
- Next-gen machine-learning engineers. As companies move toward machine learning, they need a new breed of software engineer who knows how to use data, can program in scalable computing environments (e.g., Cloud, Hadoop, et cetera), and understands how to refine the algorithms in their software code. They are fluent in distributed computing techniques, have experience using different machine-learning algorithms and applying them effectively (e.g., choosing the right model, deciding on learning procedures to fit the data, understanding different parameters that affect the learning, et cetera) and understanding the trade-offs with different approaches.They work closely with customer-data managers in particular, who use machine learning to collect and rationalize the massive amounts of data—from social media to purchase activities—to create comprehensive 3-D pictures of customers. They have a strong computer-science foundation to understand how to structure data and make efficient use of computing resources (e.g., memory, CPU, et cetera) when designing and implementing machine-learning algorithms. They also have a baseline knowledge of probability and statistics (e.g., regression, probability theory, et cetera) techniques as well as experience in data modeling and evaluating data sets for patterns, trends, and predictability. This capability is important since machine-learning algorithms rely on these data sets to learn and iterate.What really makes a great machine-learning engineer is the ability to understand how an idea goes from concept to delivered insight. Throughout this process, a great machine-learning engineer not only focuses on the technical solution but is also effectively a thought partner to the business on shaping the problem to be solved, the insights generated, and the continuous learning required to improve the solution.
- “DevOps” engineers. With the advancement of cloud computing and infrastructure as programmable software, infrastructure resources (e.g., networks, servers, storage, applications, and services) can now be rapidly provisioned, managed, and operated with minimal effort. To build and take advantage of these technology advancements, organizations need DevOps (the integration of development and operations) engineers who have the experience to navigate a rapidly changing development and cloud-infrastructure computing ecosystem. They can build out tools and automations that provide development teams with self-service and on-demand access and infrastructure resources at the click of a button (compared with today’s traditional multiweek and months-long process to provision similar resources).DevOps engineers are generally software engineers with a passion to apply the same craftsmanship to IT infrastructure and operations. They typically have five to eight years of software-engineering experience and have now ventured into infrastructure-automation technologies (e.g., Chef, Puppet, et cetera), cloud platforms (e.g., AWS, Azure, et cetera), and more advanced containerization technologies (e.g., Docker). Besides technical excellence, DevOps engineers understand how technology serves business goals and are flexible in adapting approaches to changing business needs. What separates a good from a great DevOps engineer is the ability to role model the collaborative DevOps culture, think about infrastructure, and partner with the business to link solutions to real business problems.
Finding and hiring the talent
[to continue, click HERE]