CIO Don Anderson shares how he's leading a change in the way people perceive security.
CA Technologies CTO: Recruit and retain top developer talent with this approach
How do you win the talent wars? By creating an “internal software factory,” according to Otto Berkes, CTO of application development company CA Technologies. In an interview with The Enterprisers Project, Berkes explains CA’s strategy for recruiting and retaining top developer talent.
The Enterprisers Project (TEP): What advice do you have for CIOs who want to build an "internal software factory" but are having a hard time finding the right talent?
Otto Berkes: To attract and retain the talent you need to achieve your goals, you need to ensure that you’ve defined the right roles that will drive your overall capabilities forward. The business of building software experiences today is a radically different endeavor from classic, internally-focused IT.
When hiring, you need to go for both depth and breadth – the “T-shaped” employee with deep, domain-specific expertise who can also think broadly across multiple domains. Retention, which is critical for long-term success, will be enhanced by hiring candidates who can embrace change and thrive under uncertainty.
You’ll also be competing with start-ups and software-native companies for talent. Do you have the right environment to attract designers, architects, and developers? Are you enabling your teams to focus on your mission? Don’t fall into the trap of hiring against a list of technical specs that may become obsolete – that will only drive churn and turnover. Hire for where you’re going and people will want to go there with you.
TEP: "Internal software factory" implies that you have teams constantly turning out new software. Why is it important to keep new software coming?
Berkes: The “secret sauce” of your software factory involves building a well-defined, highly-automated process that allows for a constant flow of software releases designed to keep up with the pace of innovation.
Increasing the pace of delivery requires rethinking the sequencing and the serialization of work. In a traditional waterfall-style approach, deficiencies found toward the end of the development chain can be costly, time-consuming to fix, and could lead to animosity and finger-pointing between functional groups.
A potentially messier but faster and more efficient approach to software development is to integrate all aspects of software delivery as early into the development process as possible. In the DevOps model, everyone involved with developing, deploying, and operating a set of features is on the same team. Although there is a very well-defined process for delivering software, everyone on the team participates. When something doesn’t go as planned, it’s the team’s responsibility to address the problem; they’re in it together.
TEP: What advice would you give CIOs and CTOs about creating and maintaining an internal software factory?
Berkes: Accelerating the pace of your software delivery is vital for achieving a rapid flow of new value to your customers. There is no silver bullet, but there are some guidelines to apply and steps to take in building and optimizing your software factory.
First, integrate your teams. Modern software development is a team endeavor and requires a high degree of integration between people and processes. Next, build in quality. Ensuring software quality must be the responsibility of the entire software factory from design all the way through operations.
You should also automate everything. Customers care about the experience you deliver, so automation will require upfront investment but will deliver a downstream payoff. Finally, prioritize architecture. Balance near-term deliverables with long-term evolution. That way, your factory will never become obsolete or mired in its own legacy.