Gartner’s Bill Swanton reveals six steps to develop the best software engineering talent
Amid ever-widening skills shortages, software engineering leaders are increasingly looking to hire talent with an already developed skill set. It becomes more difficult, though, when looking for candidates with advanced software developer skills – and those who can work on modern cloud architectures and digital initiatives, specifically. To overcome the developer skills shortage, therefore, software engineering leaders must upskill and reskill their existing employees and new hires. The focus should be on developing each employee’s skills ahead of demand so that they can play a broader range of roles and continue to enhance an organisation’s technical capabilities. At Gartner, we outlined six crucial steps to build out a credible talent development programme: Step 1: Identify software developer skills and competencies needed now and later First, identify and segment software developer skills that are essential to your success. For example, identify core skills relevant to the existing technological landscape and emerging skills that will be required in the near future. Software engineering leaders can identify their aging systems or digital services and anticipate future needs and the likely enhancements. They can collaborate with business leaders, product managers and solution architects to understand the future set of skills needed to modernise the product. Moreover, they can ask their HR learning and development department to create a skills matrix for software engineering.
Consider four aspects: - Competencies - Business acumen, design thinking, etc. - Working methodologies - Agile, Kanban, etc. - Architectures and design - SOA, MASA, cloud-native, data architecture, user experience, etc. - Technical skills - Specific programming languages, development platforms, tools, etc.
Step 2: Inventory current availability and maturity of developer skills Assess the skill sets and aptitudes of existing developers to identify gaps in the existing learning and development regime. Before surveying employees to evaluate their skills and competencies, communicate the purpose of the exercise is to evaluate the organisation’s capabilities, not compare employees. Employees should feel secure so that they don’t give prejudiced or biased responses. Also motivate developers to broaden their skills and roles by making reskilling and upskilling a part of the organisation’s culture. Software engineering leaders can lead the way by openly showing their liking for on-the-job learning. Employees should recognise the need to upgrade their software developer skills on an ongoing basis and without any hand-holding. Step 3: Show employees the career benefits of upskilling Shift the performance discussions from “What have you done?” to “What have you learned?” Software engineering leaders should instill the “drive to learn” in employees and encourage them to be self-starters. Employees should learn to identify and target skills (both technical and managerial) that will be game-changers. Three elements of motivation (based on Drive: The Surprising Truth About What Motivates Us by Daniel Pink) are key to talent development: Autonomy: Avoid excessive interference; let your teams figure out the best way to get the job done and remove the roadblocks to the progress of employees. Mastery: Ensure that employees receive recognition on mastering software developer skills — not just from managers, but also from peers. Purpose: Make sure employees associate a sense of purpose with their work — does their work positively impact the organisation’s growth and technological landscape? Step 4: Accept a base level of skills but plan for upskilling Upskill existing developers in tandem with your search for new hires. Finding highly proficient individuals may be challenging, so be willing to hire people with a base level of skills and immediately create learning opportunities to ensure they become valuable assets for the organisation. Prioritise qualities like collaborative mindset and adaptability when hiring entry-level employees. Once their core software developer skills are validated in the organisation, they can broaden their horizons and develop greater business acumen. Employees working in technical or customer support can also be considered for software developer roles, as they have a good understanding of products and customers and can learn new skills. Incorporate agile learning, which encourages iterative short bursts of skill development to achieve adjustable results. Agile learning also instills a growth mindset in employees so that they don’t just gain knowledge but apply it to produce significant business value. It facilitates an environment where people learn and grow together rather than in individual capacities to compound the benefits more widely across the organisation. Step 5: Create learning opportunities for developers When evaluating different development approaches, consider low-cost, less time-consuming on-the-job learning opportunities for developers. The idea is to put employees into dynamic environments where they can learn and apply new skills quickly. Peer connections and 360-degree feedback, along with group activities like hackathons, innovation labs, and lunch and learns, can build valuable knowledge sharing channels for new hires and old employees. Step 6: Dedicate time to learning Learning and development programmes should make the organisation more predictive in the long run, but for that to happen, you need to allocate time for learning amid a massive backlog of work. In a work week, a dedicated time window can be created for learning and cross-functional activities. The window may include master classes, instructor-led online coaching, mentoring programmes, proof-of-concept projects on new technologies and communities of practice.