Software development is a lauded career path. It promises ample opportunity and healthy compensation. Yet assuming that you can unlock all the potential of the career by merely showing up is a dangerous line of thought.
Part of the reason why software development as a career can promise the lifestyle that it does is because it’s hugely challenging. Between developing expertise in established areas and keeping up with every new technology to emerge, it’s not surprising that software developers may sometimes feel they’re being tugged in all directions.
At a certain point, even software developers have to accept that they’re human and can’t possibly do or know everything. Really, excelling in a software development career isn’t about knowing everything – it’s about knowing the right things.
Yet the question of what the ‘right’ thing to know in software development is contentious. What language should you focus on? What skill do you need? Is there any one skill that is more important than another? Can you possibly answer this question in a way that is general for a sector as multi-faceted, varied and ever-changing as technology?
Perhaps trying to establish some skills equivalent of a holy grail is the incorrect approach. What about, then, the skills you don’t need to succeed as a developer?
At the risk of discouraging the pursuit of knowledge, are there some skills that just aren’t necessary to succeed in today’s software developer landscape? According to Kieron Sambrook-Smith, chief commercial officer at Platform.sh, there are.
Platform.sh is in the platform-as-a-service business, serving in particular the booming e-commerce industry. The company delivers projects to agencies and enterprises to help them implement its platform. It was through this process, Sambrook-Smith explains, that he became aware of a key disconnect between what software developers are driven towards and what enterprise leaders actually seek.
“Everybody’s looking for faster, better, cheaper,” as Sambrook-Smith puts it, mentioning in particular the move away from virtual machines and towards its newer, shinier cousin, the container. Containers are more efficient in how they utilise servers because they are a more granular way of building applications and running them. To further amp up the efficiency and cost-effectiveness, business leaders want this all done in the cloud. “All of that’s really quite complex and difficult and therefore expensive … All this requires developers that continue learning.”
Perhaps this might encourage the developers today to flock towards beefing up their knowledge of infrastructure. But if anything, Sambrook-Smith argues, this is exactly what they should avoid. “[They don’t need] DevOps and systems administration. They don’t need to be cloud engineers [or] know low-level languages like Docker … it’s just not relevant [to] turning a business requirement into code.”
It’s worth noting, and Sambrook-Smith frequently points out, that he is coming from a purely business perspective. A person’s career is more than the sum of their ability to produce value for a particular employer. If you want to dive into DevOps, you absolutely should. But when Sambrook-Smith is hiring, it’s not his priority, and the reason for that has a lot to do with stretching the budget for a particular project as far as possible.
“With automated tools and platform-as-a-service and so on, you’re able to spend a lot more on what’s really important to your business and a lot less on the infrastructure management,” he explained. “You really want to spend your budget on things that are critical to your business.” For Sambrook-Smith, what’s critical is that a developer be able to translate ideas dreamed up by business people into clever applications that can run on a website.
“Developers, by their very nature, love technical problems. They love to learn new languages,” said Sambrook-Smith. He doesn’t necessarily think this is a bad thing – if anything, you’d be hard-pressed to find a good developer without these traits – but he argues that, from a business perspective, this isn’t the ideal way for developers to spend their time.
“What you really want your developers doing,” Sambrook-Smith continued, “is talking to the business and translating business requirements into code.”
At its core, this seems to be a question of communication and creativity. Take an abstract concept and figure out how it can be executed in the real world, and then figure out how best to achieve that aim. So perhaps the best thing a software developer can do when trying to ensure they’re attractive to future employers is to pick up a hobby that flexes your creativity instead of hunching over details about the latest developments in data infrastructure.
The post Developers may be wasting their time learning these tech skills appeared first on Silicon Republic.