Developers are hired for their coding skills, but often spend too much time on information-finding, setup tasks, and manual processes. To combat wasted time and effort, Discover® Financial Services championed a few initiatives to help developers get back to what they do best: developing. The result? More than 100,000 hours of developer toil have been automated or eliminated.

“A happy developer is one who’s writing code,” said Joe Mills, Director of Transformation Strategy and Automation at Discover. “So, we strive to create an inspiring culture and an exciting place to build your career. We want it to be easy to deliver value with the skillsets you have and to harness opportunities to refine your craft.”

Streamlining development through tools, knowledge, community

DevWorx is a program that simplifies the developer experience, streamlines work, and frees up time to innovate. Specifically, DevWorx is an online hub where developers across Discover can access prescriptive guidance for repetitive setup or deployment tasks, developer environments, self-service or automation tools, and a community of other developers to collaborate with.

“It’s basically a developer-driven community where we remove barriers to getting work done, focus on efficiency, and really enjoy coding as opposed to it feeling like a slog,” said Jonathan Stoyko, senior manager of strategic projects.

Developers can use DevWorx to standardize duplicate processes and reduce manual tasks. “If there’s a code structure that has to be reused every time you’re creating an application, that structure can be standardized as a template,” said Stoyko. “And we can store it in a common location so everybody has access to it and can contribute to it.”

Increasing productivity with step-by-step tutorials

Golden Paths are a key element of DevWorx. Golden Paths provide step-by-step tutorials for accomplishing specific development tasks within Discover. From making submissions, gathering approvals, and filling out prerequisite forms, Golden Paths covers the entire production lifecycle.

“If someone gets dropped into a new team, they can start coding within minutes and skip months of playing catchup,” said Andrew Duckett, senior principal application engineer and architect. “With Golden Paths, these processes are all codified and readily accessible.”

Developers are encouraged to contribute to existing paths and build new ones based on their own experiences.

Duckett continues: “We believe that it’s better to let the engineering community determine what works best for them, not to put a bunch of people in an ivory tower and dictate what is right. These developers are hired to innovate and solve problems, so we let them do that.”

Reducing manual tasks through automation

Automating manual tasks and repetitive processes is crucial for increasing developer efficiency. “Employing automation for tasks that many engineers face throughout their SDLC helps to shift focus towards human value-add activities. This also increases overall delivery throughput, with higher confidence in our development lifecycle, and produces consistent processes across teams that would otherwise be handled one-off and uniquely” said Joe Mills.

Developers can engage a team of automation experts to assess certain processes and tasks and help uncover automation opportunities. The team uses a hub-and-spoke model to scale their efforts across development teams at Discover and can help teams with robotic process automation, business automation, or code automation.

Reducing friction through consistent development practices

In addition to these initiatives, engineers at Discover adhere to a set of practices, internally called CraftWorx, that define and direct the agile development process. Aligning engineers across these practices reduces friction because engineers and developers are following the same development practices.

“If you’re trying to solve a problem and you think, ‘where’s the answer?’ CraftWorx aims to be that answer,” said Colin Petford, director of technology capability enablement at Discover. “It’s also constantly evolving along with our craft. It will never be finished because technology doesn’t sit still.”

Learn how Discover developers are using automation, Golden Paths, CraftWorx, and more.

Digital Transformation

About 20 years ago, during the “dot-com” era, technology impacted a relatively small portion of the enterprise, and very few would consider themselves tech companies. Today, every company needs to think and act like a software company to compete in our digital world.

As mainstream companies race to modernize their business and migrate to the cloud, keeping up with new technologies, training and upskilling workforces has become a business imperative. In fact, according to a Forrester report, 75% of IT and business executives say that their company’s ability to compete is directly related to their ability to release quality software quickly. But great software doesn’t magically appear — developers must build it. And that is getting more complex and challenging, even in a world where generative-AI is emerging.

Amid a period of tightened budgets, macroeconomic challenges, and labor skill shortages, upskilling and reskilling workers to meet the pace of tech complexity is critical. Organizations need to prioritize upskilling employees and leverage their “super powers” to not only retain valuable tech talent, but improve productivity and efficiency. Organizations that understand and implement modern application development processes will deliver higher quality, more secure code to production – at a consistent and rapid pace. This allows them to be more nimble in meeting evolving customer expectations and needs, and positions them to better compete in crowded markets.

Challenges facing upskilling efforts

In today’s tumultuous macroeconomic and industry landscape, not only is talent availability a concern, but developer skills (or lack thereof) are an issue as well. In-house expertise can help maximize investments in cloud and kubernetes migrations, for example, but many companies lack employees with these skills or have gaps as employees moved on to new roles during the “Great Resignation”.

According to a recent Gartner survey, IT executives see the talent shortage as the most significant adoption barrier to 64% of emerging technologies, compared with just 4% in 2020. A lack of talent availability was cited far more often than other barriers, such as implementation cost (29%) or security risk (7%). Now more than ever, upskilling programs are critical to ensure employees have an opportunity to grow in their roles, while equipping organizations with the skilled developers needed to undertake big modernization efforts.

And, as is increasingly common in today’s tightening labor market, a lack of skilled professionals adds yet another layer of difficulty. Workforce skills gaps paired with cost and regulations serve as barriers to modernization efforts, which is why it’s critical that organizations continue to build business cases that training initiatives generate a strong ROI while boosting productivity and innovation. Training aligned with emerging competencies can not only improve employee retention but also employee and business performance.

But organizations are also dealing with reduced budgets for upskilling opportunities. According to a recent report, nearly half of workers say their employers have reduced upskilling opportunities during the pandemic. Considering that for most companies, developer productivity now directly impacts both bottom-line and top-line growth, the need for skilled workers to build, manage and deploy mission critical apps has become a business imperative. Organizations must continue to make intentional investments to ensure skills are meeting the pace of technology innovation, regardless of the market in which they operate.

Smart companies are prioritizing upskilling planning

Despite knowing that upskilling is critical, the economic reality means organizations may not have budget allocated for these types of training. Organizations that are cloud smart plan ahead and think strategically about how to do more with less. They build an internal culture around embracing modern techniques for software development and these techniques to business outcomes.

Closing the skills gap doesn’t require organizations to completely rethink their training programs, rather it’s about updating and supplementing existing initiatives or skills and approaching them with a different mindset. For example, rethinking recruitment strategies can help bring new skills into enterprises. Today, many hiring managers today evaluate talent based on knowledge of specific software or languages, rather than soft skills or a demonstrated aptitude for learning. The practice of hiring or promoting employees based on soft skills and aptitude, and training them in new languages & development methods, can be a successful way to best fit organizational needs.

In addition, organizations can upskill workers with targeted learnings to help developer teams build technical proficiency that can drive the business forward. Professional training programs can improve IT workforce productivity, satisfaction, and career development. Even more experienced employees can benefit by expanding their existing skill set and potentially discovering new, better ways of working. Plus, by establishing a consistent and foundational cloud & modern application development training program, organizations can establish common terminology and best practices for modernization across the organization.

Meanwhile, cloud native technologies increasingly demand new skills sets and better cross collaboration with teams beyond IT. Creating a culture of learning and innovation in enterprises is key to meet the accelerated pace of digital transformation in all areas of business – from human resources, to customer support, to operations, sales and beyond. Because while technical skills can be learned, attitudes are difficult to change. Equipping developer teams with capable employees with the right aptitude and attitudes, rather than prioritizing historically required technical skills, positions you to execute long-term vision while delivering business value.

Establishing consistent and robust training practices and rethinking hiring practices across organizations can help bridge the existing skills gap, prevent costly setbacks and promote an agile and sustainable business.

To learn more, visit us here.

IT Leadership

Human-centric work is a growing movement that focuses on the needs of people, reaping business rewards in the process. As recent Gartner research shows, human-centric work practices leads to better employee performance, with workers 3.8 times more likely to be considered high performing in these environments. 

As some of your most valuable employees, software developers should be considered specifically in how to best apply these insights. In the software world, “developer experience” is a key aspect to work satisfaction — one that is not well understood by non-developers.

By bringing together the insights of human-centric work and developer experience, IT leaders can create a work culture that builds and retains top performing developers. Here are seven ways to cultivate a developer-centric environment that will pay dividends.

1. Understand what developer experience is

The leader who understands what developer experience is and gets why it’s important to coders is ahead of the game.

At the most basic level, developer experience (DX) is about how it feels to use a tool or system when building software. It stretches from the very specific, like the difference in how languages handle functional programming, to the general, like the difference in how it “feels” to use different cloud platforms. DX doesn’t stop there, encompassing the culture and attitude of what it means to live the developer lifestyle. In this most broad sense, DX is a major feature of how developers, especially experienced ones, feel when working in an organization.

At the heart of the human-centric philosophy is the idea of autonomous accountability, which means giving people goals and holding them accountable for performance while giving them as much control over how they accomplish things as possible. The idea is that people know what is working and what isn’t, and they are best able to course correct in fast, iterable fashion. And it very much aligns with a valued developer experience.

2. Understand why DX matters

Developers have a self-referential relationship with developer experience: They often build the tools they use, appreciating the way things work and the creative engineering that goes into building the things they use. 

Artistry and appreciation drive the software community forward. Ever since the early days of shared mainframes developers have joined together to create and collaborate on projects that stimulate their minds. The interest and uptake of developers in tech projects has become a key element in determining what projects are funded and find their way into common usage. DX is what distinguishes these projects among developers, and it acts as a kind of indicator of evolutionary suitability.

Dan Moore, head of developer relations at FusionAuth, draws a useful distinction about DX, saying, “Developer experience can be split into internal and external developer experience. The former is about enabling internal teams to build in a more coherent, secure, faster way by providing building blocks and guardrails along with self-service tooling. The latter is for increasing sales and building a sticky platform for developers outside your organization.”

To ensure those results, IT leaders must continuously ask what it is like to be a developer at their organization and find ways to make that experience better.

3. From DevOps to ‘DevEx’ — and back again

The expansion of DevOps has empowered developers to be involved in the full product lifecycle and influence that lifecycle in a holistic fashion. If you haven’t already embraced DevOps, that is a good first move in the direction of developer-centric practices. 

DX takes DevOps to the next level. As Guillermo Rauch, CEO and founder of Vercel told me, “Organizations will move from DevOps to dev experience. Great developer experience leads to better developer productivity and improved developer velocity, directly improving your bottom line. Every organization should be thinking, ‘How do I empower my developers to spend more time on the application and product layer while spending minimal time on the backend and infrastructure layer?’”

Looked at this way, focusing on DX is a way to better enable developers to control how they work: Instead of figuring out what DevOps processes are best and then imposing them on teams, empower the team to devise processes and technology that best suits them. After all, empowered teams involved in processes firsthand can better design and build tools for their tasks in response to changing conditions. 

Put another way, good DevOps is a natural outcome of good DX, and vice versa.

4. Have someone own DX

Including developers and IT staff in discussions around what tools to use — and giving them purchasing influence — provides an invaluable feedback loop about what is and isn’t working. It also ensures developers feel they are being heard, making them more likely to be invested in the project

The key to nurturing benevolent cycles between the business and tech staff is finding and empowering the force magnifiers in the organization, those individuals who can help speak for the developer experience and provide a bridge to the business side. A great way to help here is to explicitly put someone, or several someones, in charge of DX. This might be part of someone’s responsibility or the sole focus of a group, depending on the scope of your organization.

Establishing an explicit focus on managing the health of DX and providing a way for those involved with DX to interface with the business will greatly contribute to the overall success of your DX efforts.

5. Don’t push developers to fail their second audience

Developers create software for two audiences: users and developers — that is, those developers who will work on the product. For users, product excellence is critical. But for developers, excellence inside the product is extremely important as well, and that has big implications for the business using the software. In this sense, DX is an indication of code quality, which says everything about the viability of software.

Here, the importance to the business is two-fold. First, systems with good DX are easier to maintain and extend, with software quality a key differentiator between code that can grow and evolve and code that is doomed to degrade and decay. Second, when DX is high, developers — especially senior ones — are more likely to be satisfied with working on the project. Because of this, the importance of code quality shows why project velocity is not a metric to be seen in isolation as it often is. 

As the human experience of working on projects, DX is the most indicative characteristic of a project’s health. How it feels to work in the internals of a project is affected by everything from tooling to meeting tempo, and whether that feels pleasant or unpleasant says everything about how well things are going, how they will proceed, and whether people will want to continue working on it.

6. Provide opportunities to learn, teach, share

Learning, teaching, and sharing are major incentives for developers. And the more accomplished, passionate, and caring the developer, the more they typically matter. The ability to craft DX and help others see its value is essential. By inculcating a culture where everyone is participating in a larger journey that includes sharing, everyone finds a deeper well of inspiration.

Incorporating contribution to open-source projects is a great way to accomplish this.  Many software-oriented businesses include an open-source component for good reason.  It allows developers to express their creations, pulls in contributions from the wider world, and draws friendly attention to what’s being done in the organization.

Every developer’s experience is lifted up when their work feels a part of something greater.

7. Mitigate DX-killing red tape

The business longs for metrics and insights into what’s happening in the dark interior of software creation. But too much intrusion into developer workflow is a real DX killer. Instead, minimize unnecessary meetings and reporting, and keep an eye on what works most efficiently. Even just the sense that leadership is incorporating this factor into their strategizing will help.

The best software developers thrive in an environment where they can focus on what they do best — building software — and spend most of their time on activities that feel valuable.  They have honed and invested in what they are good at, and they want to spend as much time as possible on those tasks.

Reducing friction between teams and areas of ownership is also important. IT leaders are in the position to help break down silos of ownership and exclusivity. 

8. Automate (and de-stress) delivery

Recent research shows that 7 in 10 developers quit projects because of stress over delivery.  A million and one things go into the detailed activity of building software and when it is all bundled up into a single discrete thing that is to be delivered without problems, it’s very stressful. There is a sense of never really doing enough, despite your best efforts. 

The best way to address that is to build reliable automated systems. Continuous integration and delivery, automated testing and the like are becoming standard, must-have parts of dev processes these days, but they are only part of the story. A culture of support is just as necessary. How developers feel treated in their times of difficulty and uncertainty has a huge impact on DX. If successful organizations maintain a two-way street between business and IT, DX is the condition of the road. 

Hiring, Software Development, Staff Management

Human resources has long understood that money is an inadequate motivator. We know that because workers don’t simply operate according to market conditions, always favoring more money above all else.  Instead, people are looking for something more ephemeral, which we’ll call meaning. 

Developers are also looking for meaning, the sense that their work has purpose, but they have unique ways of finding it that may not always obvious.  If you yourself are not a coder, then much of what you think about the unique nature of development work may be incomplete.

There is, for example, far more creativity involved in building software than is typically imagined.  The programmer is driven by and dependent upon this creative aspect of coding.  As Dan Moore writes in his “Letters to a new Developer” blog, “Even as a new developer, you’re constantly making small creative decisions (naming a variable, for example). This is part of what makes software development so fulfilling and fun.”  It is also the aspect most often neglected in the care and feeding of developers.

Balancing the productive and creative drives is the key to long-term developer success, and it is the aspect most often neglected in the care and feeding of developers.

The following insights into the developer mindset, the dark secrets of what truly motivates (or demotivates developers), will help IT leaders find the balance the productive and creative drives that is key to long-term developer success.

Measure the right outputs

Nobody likes to be treated like a line item on the budget.  X amount of pay for Y amount of output and if the lines cross in the wrong direction you are out.  But it’s especially dangerous to look at coders this way because the output is very hard to quantify.  If you task a developer with building a widget, the time they spend fretting about how to make it reusable can net unpredictable benefits down the road.  The sudden insight they get in the shower when thinking about how the software components fit together is quite possibly more valuable than the thing you paid them to build.

To illustrate this another way, the worst possible way to think about developers is as typists: more words equals more value.  This understanding is completely wrong.  The minimal amount of code that accomplishes the requirements is the best.  The more distilled to the essence, the better.  But even worse, this way of thinking will alienate developers by supporting policies and decision-making that is anathema to their constitution.

In his classic book Code Complete, Steve McConnell describes the WIMP (Why Isn’t Mark Programming) principle.  It refers to the phenomenon of a coding leader (an Army colonel in the book’s example) wondering why the programmers don’t appear to be working. 

Of course, the industry has matured a lot since McConnell’s book was released in 2004, and everyone pretty much understands the need for the cogitating phase of software development. Many practices in the agile programming line of thinking explicitly incorporate design and planning into the lifecycle.  Most approaches these days benefit by pushing for tighter feedback loops that integrate thinking into the process, while avoiding waterfall-style flows. 

Allow space for innovation

Running a strong process that helps your developers perform is essential.  But beyond that there is a lot of room to cultivate developer excellence.  Matt Raible, developer advocate at Okta agrees, saying  “I think passion and opportunities to learn are a big deal to developers. Having the ability and space to innovate is awesome too.”

Passion and space to innovate.  It’s a curious truth about innovation that oftentimes the breakthroughs come not from directed, goal-oriented activity but something more akin to play or free-experimentation.  In turn, that breathing room, ability to think and work towards something beyond the immediate bottom line fuels the passion.  Passion and innovation exist in a positive feedback loop, a cycle that does not turn for an external purpose, but rather for the thing itself, the building and sharing of beautiful software.

Practical, even revolutionary applications can be seen as the byproduct of that more central process.  It can be hard to perceive it from the outside, but programmers see the elegant software systems as something worthy in themselves. 

And now I will immediately restrain myself with this caveat:  All virtue is in balance.  Developers are liable to go too far in the other direction, falling for the technologist’s classic blunder—building solely for the sake of building without returning to the utility of the thing. 

But likely I don’t need to tell you that, because you are looking at the budget and your mind is alive with the life of the business.  You don’t need to be reminded of the business side if you come from that camp; you need to be reminded that the way you get delight and gratification from a healthy running business, engineers get from healthy running software.

Creativity is its own motivation

Many developers (dare I say most) are highly motivated by the creative payoff.  This is part of the reason social coding is so popular.  Coders want to share their work, their expression, with others who can see and appreciate what’s worthwhile about the code itself, not just the end product, but the internal design.  Similarly, it’s gratifying to look at what others have done and be struck by the ingenuity of another person captured in the medium of code.

This positive, motivating feeling of coding is very similar to that of music and creative writing.  In all cases there are benefits to be had, but there is also something inherently worthwhile about the thing itself and in sharing it with others.  There is an artistic side to the endeavor, you could say.  Indeed, developers are as varied a bunch as anyone else, but in general they are part artist, part engineer.

“Development is a bit of a black box for those on the outside,” says Ryan Carniato, creator of SolidJS. “It’s easy to see it as an input/output machine. And because the range of what can be taken from conceptualization to implementation, it’s easy to see it as ideas in and results out.”

“I’ve never felt a lack of respect for my own creativity, just sometimes a lack of appreciation for what goes into designing and building something—and of course the need to occasionally remind people we create software, not results, says Carniato.

Tech culture has come a long way in acknowledging developer creativity as essential.  Still, this remains the critical gap between the developers and the business.  Probably because of the programmer’s medium—it seems so very hard-science-and-math, and yet is so ephemeral—we have to continually remember the creative, human side of it.

The leader who can help channel that creative drive towards the business ends, giving the sense of working towards a worthy cause, while nurturing the sense of possibility that feeds developer’s souls—that is the leader who will reap extraordinary returns from developers.

Developer, IT Leadership, IT Management

Business leaders increasingly understand that improving the developer experience is a competitive differentiator. At the core of the developer experience are the people and the applications they need to build. The longer it takes to progress an idea to actual code, the more hurdles an application team can expect to encounter, leading to missed business opportunities. This, coupled with a worldwide developer talent crunch and a challenging economic climate, is driving more organizations to invest in a developer experience (DevEx) strategy to improve business outcomes and productivity with their existing people and tech investments, while also enhancing recruitment and retention.

Still, although most organizations claim to have an existing DevEx strategy, only one in four leaders believes that their organization’s strategy is mature and delivering value, according to recent Forrester Research commissioned by VMware. The good news is that the research reveals that organizations are optimistic and realistic about the success of their DevEx efforts.

A good developer experience is both a destination and a journey that requires a measured approach and ongoing investment. Understanding the gaps in your organization’s DevEx is important, and so is acknowledging that it will be different across application teams and from your peers. Based on the app and the tooling ecosystem of that team, the path to improving DevEx will vary. Regardless of where you are on your DevEx journey, there are some immediate actions you can take now to understand your organization’s DevEx gap better.

Identify areas of complexity, examine tooling, and friction to guide investments

Some of the most important job factors for developers are the languages, frameworks, and other technologies they will use daily at work. One of the biggest challenges to developers’ productivity and experience comes down to cumbersome processes and their tools. With respondents indicating that the two most significant obstacles their developers have faced in the past year are legacy platforms/developer tools and the difficulty of integrating new tools. Leaving developers with a fragmented ecosystem of tools only presents learning and integration challenges.

To better understand what really happens in your software development lifecycle, create a value stream map to uncover speed bumps and where friction exists within the software delivery process.

Many organizations find that this friction starts at the underlying technologies used in modern software development. More than three in five respondents say that the complexity associated with managing open source, multi-cloud, Kubernetes, and cybersecurity tools inhibits their developers’ productivity and experience – in addition to the learning gap, yet these tools are essential to keep pace with modern business requirements.

In order to guide better investments in your DevEx strategy moving forward, it is imperative that leaders have an increased understanding of all those present complexities and roadblocks.

About 71% of responding business leaders concede that they need to better understand and support the application development and delivery process. This educational process can foster alignment between developers and business leaders and serve as a formative step toward improving DevEx.

From here, you can find a combination of process- and technology-related issues to create a baseline from which to improve. With a value stream map, you can create a strategy that focuses on the highest impact changes first.

Investments that can improve developer outcomes: training, self-service portals, app templates, and automation

Improving the developer experience is active work to improve the quality of the software being produced, the velocity at which it is happening, and overall profitability. While there is no single action or investment that will solve every possible concern, there are three increasingly popular strategies that have already improved DevEx for organizations particularly application deployment automation (59%), easy access to a trusted open source software (52%), and application templates (46%).

Developer portals are rising in popularity as a way to improve their experience and collaboration. By cataloging all of the applications, APIs, tools, and processes used in an organization, developers are able to search, browse, and consume these services and get started on their projects. Having this “single source of truth” can help developers move faster and enable your applications and teams to scale. Used in conjunction with collaborative communication tools and focused investment in training and education, these three elements can reduce frustration and improve overall productivity.

Automation in the form of DevOps tools and capabilities can significantly impact the reliability of software delivery and free up the developer’s time. Implementing a catalog of trusted open source software components, application templates, and shifting left your security guardrails help to reduce the churn many developers face in moving to the next step in the software development lifecycle. Automation of your software supply chain from builds to scanning creates a continuous flow of deployments and notifications when things are out of security compliance while removing this burden from your developers.

Creating the right DevEx strategy is imperative to business success

While many organizations are still in the early stages of their DevEx strategy, about half of the respondents have already seen revenue growth, enhanced developer productivity, and developer job satisfaction improvements from their DevEx investments.

Similarly, a McKinsey study found that companies with a higher developer velocity grew revenue four to five times faster than those with a lower developer velocity, have 60% higher total shareholder returns and 20% higher operating margins and were 55% more innovative.

It has become increasingly clear that the developer experience plays a central role in an organization’s ability to digitally transform and keep pace with modern business requirements, so it’s no surprise that over the next year, 91% of business leaders expect their organization to maintain or increase their DevEx investment.

When developers can understand and navigate their daily work easily, they are more likely to enjoy their work, and in turn, resulting in creativity for better apps and business outcomes.

To learn more, visit us here.

IT Leadership, Software Development