Acquiring the very best development talent goes beyond having the best code developer. What skills should underpin this broadly applied term and how should one go about supporting the creative process of development
The “Hotshot” developer making a mark
The developer species that is winning is one that is altogether more sophisticated and people oriented than the stereotypical vision of the sandals wearing, t-shirt clad, pizza eating, socially dysfunctional coding geek, so regularly portrayed of developers in the last century and early this one.
The most highly sought after developers are those with an understanding of the business environment in which their customers operate. These developers are not simply marketing focused, as they realize that just adding features does not necessarily make the software better for their customer’s business. Instead, they look at the challenges of the business and how the software can enable the business to achieve competitive advantage. This species of developer focuses more on what can be delivered that is of value to the customer, whether that be internal to the business, its supplier and client ecosystem, or to the consumer market if that is their target audience.
Being business savvy is not the only prized skill for the “hotshot” developer. An ability to communicate and collaborate with peers as well as others underpins the ability to anticipate the right solution delivered in the right way. The sharing of knowledge and insight and acknowledging the value and importance of peer co-operation, marks well a desired developer or development team.
Viva la republic: democratization of the developer community
There are many different aspects to being a developer today, and a whole lot of different career paths to follow. The term “developer” covers a broad range of skills and role functions.
At one end of the spectrum there are those who can skillfully manipulate code at the server and network level. At the other, there are those that are considerably less skilled at configuring the underlying code, but who have domain expertise. The latter is able to leverage preconfigured platform or application components and services to deliver solutions specific to their needs.
The increasing variety of application and operational models, infrastructure architecture, programming platforms and digital technology has delivered a level of complexity that few can truly master in full. But then does anyone really need to, given the way that development process models, tooling platforms and middleware solutions have evolved?
Agile development and delivery processes promote more collaborative working practices that bring together individual skill sets and stakeholder roles, to work on delivering a working solution within a short managed time frame, that is more attuned to the customer’s expectations. This modular and iterative process means that many more people all with different skills and role functions can work on a solution which is more appropriate to the customer’s needs.
Middleware obfuscates much of the complexities of the underlying communication and connection coding, allowing developers to concentrate more on the business logic requirements and the service offering being delivered. In fact, unless you’re a developer working to deliver a new commercial software product or business application system, or adding new capabilities to an existing application platform, you’ll find that you are not often creating large amounts of new code. Once again, the focus will be on writing business logic for business systems or established application frameworks and platforms.
Today, application platforms allow many more people to build sophisticated solutions, with a lot less coding effort. The WordPress blog and website platform, along with many drag and drop solutions, demonstrate the lowering of the barriers to entry to the developer community that is passing through the market.
Tools serving the developer well
Of course, the production of code remains high on the task list for those delivering software applications and solutions. However, with the evolution of programming models, frameworks, libraries and tools that help to obfuscate both the tricky and the mundane aspects of coding, things have in general got a lot more productive for developers. The many different programming frameworks now available make the production of code a lot simpler. So too does technology shifts, such as Software-as-a-Service solutions that deliver managed development environment. They, along with established tools such as Compuware Uniface with its integration and productivity focus, enable developers to concentrate more at the business application level, developing business processes and services that are right. There are also sophisticated toolsets from the likes of Micro Focus and IBM Rational, that can not only provide tactical mainframe modernization support, but also significantly enhance the strategic options for modernization. They are options that allow an incremental approach, preservation of skills and retention of software assets, while still taking advantage of the benefits of modern software platforms for development and deployment.
All have added their weight to lowering the barrier of entry to the development skills required, and making developers more customer-oriented in their thinking and better placed to support the business directly by proposing improvements to processes and application features.