Visual Studio Live! Keynote: Developers Must be Artists
Businesses are under pressure to respond much faster to customer requirements and competitive threats.
The future is bright for skilled software developers, but they must become more adaptable to new forms of computing and be fluent in multiple programming environments. These requirements come amid a constantly changing industry that's now experiencing even more rapid changes.
As a result, developers need to start thinking more like artists rather than just scientists, said Gabriel Torok, CEO of PreEmptive Solutions. Torok gave the Wednesday keynote session called "The Developer of the Future" at the Visual Studio Live! conference, taking place this week in Brooklyn, N.Y. (The conference is produced by 1105 Media, the company that owns this Web site).
Joined by Justin Marks, Microsoft's senior product manager for the company's Team Foundation Server (TFS), the two outlined how developers must respond to these brisk shifts in computing, triggered by the consumerization of IT.
They said developers must also move beyond their core expertise even if their day jobs make that difficult. Furthermore, businesses are under pressure to respond much faster to customer requirements and competitive threats. Consequently, developers must be better able to exchange ideas with their line of business counterparts, including designers and those charged with bringing products and services to market.
"In the past, developers had to be scientists", Torok said. "You had your algorithms, you had to understand how much memory things were consuming, but that's waning. There's a richer set of APIs to take care of the plumbing and infrastructure for you. Really today, developers need to think more like craftsmen or artists in the sense that you have to imagine the quality of your product in the way it's being used."
Torok's advice to developers is to become "general experts," meaning they should find an area of expertise but leave room to have working knowledge of a broad set of adjacent technologies, languages and frameworks.
For example, a developer that specializes in building Web apps needs to connect to a growing number of potential back-end sources such as databases, remote services and perhaps multiple clouds, while also supporting various client devices and form factors. This means developers must be familiar with all those options and the different functional languages that might be involved throughout the process.
In order to maintain a successful career, it's critical for developers to gather a rich portfolio of activities on their resumes, Torok said. Employers seek developers who engage in side projects and contribute to open source communities such as GitHub, CodePlex or SourceForge, he said. In addition, developers should sell some of their personal work on the various app marketplaces.
"If you have passions and hobbies and things, get an app out in the marketplace. These app stores are great opportunities for developers, just like authors were empowered by blogs," Torok said. "Extra stuff is becoming important and almost a little bit expected."
In addition to widening their nets, developers should avoid the tendency to work on their team projects in isolation. That means communicating better with various stakeholders, said Microsoft's Marks. "It's about pure interaction with how people work with the software," he said. "Developers need to start thinking that way and interacting with different team members, interacting with customers and getting a true picture of what they are using."
Lack of clarity is a recipe for failure, Torok warned. Applications must be more intuitive and immersive than ever. He pointed to the now-defunct Google Wave as an example of an application that people were unable to understand. "It wasn't obvious, it wasn't intuitive, it didn't make sense and ultimately the product failed," he said. "Make sure you're clear about the customer problem you are trying to solve."
Torok called out another app, Clippy, the animated assistant introduced in Microsoft's Office 97 and discontinued in 2003 after users found it more intrusive than helpful. Developers can avoid such failures by engaging more with customers, he said.
At the same time, development teams must also avoid waiting too long to release a product. "Whatever you're trying to do, there are probably 20 products like it," he said. "If you're not out there quickly, you're probably not going to win." Not only is it important to get products out quickly, but shorter release cycles and engaging with customers for feedback is also essential.
"Get some version that works [and] get people looking at it and get the feedback," he said. "You are going to see this happen more over time. You are [also] going to see products continuously updated." He cited Google's Chrome Web browser as an example of a product that is continuously upgraded, yet those changes are transparent to users.
Design is also key. Noting that developers aren't known as good designers, engaging with them is more critical than ever. Marks talked up a feature in the TFS 11 beta that allows developers, designers and line of business owners to engage using the storyboarding capabilities of PowerPoint.
"Good design of course is the key to everything we do," Marks said. "Unfortunately for us as developers, we trust a lot of the design to our business analysts, the product owners [and] the people whose job is talking to customers and converting their requirements into something the development team can actually take action on.
"As developers," Marks continued, "We get really focused, we look at how quickly we can take a spec and make it into reality. Unfortunately along the way, a lot of the information is lost."
Andrew Brust, co-chair of the Visual Studio Live! conference and CEO of consultancy Blue Badge Insights, said developers must evolve as a result of the changing nature of how software is built and used today.
"We're obviously in a new chapter with software. There are new requirements of us with a new customer-centric focus," Brust said. "The question is how do you make that shift with tools we've long used for enterprise development and our consulting practices? There are new things in Visual Studio and Team Foundation Server to help make that become actionable and feasible."
Jeffrey Schwartz is editor of Redmond magazine and also covers cloud computing for Virtualization Review's Cloud Report. In addition, he writes the Channeling the Cloud column for Redmond Channel Partner. Follow him on Twitter @JeffreySchwartz.