Learning a programming language is just part of becoming a software developer. These days, writing software involves an ecosystem of tools, from the programs that developers use to write their code to the cloud computing services that execute it. Choosing your tools is part of the job.
That’s changing amid an explosion in tools designed to make life easier for front-end developers. The new tools are a mixed blessing: More choice is good, but tools can fall in and out of favor quickly.
It’s also a challenge for employers that need to attract developers and ensure that the tools used to build their software are supported for years to come. “It’s like looking into a crystal ball,” says Matt Tucker, CEO and cofounder of Koan, which makes team-management software. “You’re making bets on what’s going to still be around years from now, balancing technical considerations with community considerations.”
Why Is It So Complicated?
The article was satirical, but the tools mentioned are real. The suggestions by Aguinaga’s fictional hipster are probably overkill, but many of the justifications for using those tools would make sense in larger projects. “The tools are getting more complicated because the software we’re building is more complicated,” Tucker says.
The turbulence may be exacerbated by other programming trends. Koan CTO Arend Naylor points to the growing popularity of “functional programming,” which essentially makes it harder for code in one part of a program to mess up code in another part of the same program. Facebook’s React is among the tools that offer support for functional programming, which is becoming more common as software becomes more complex.
Learning Skills for the Future
Nonetheless, libraries like React are becoming the norm, and there’s some agreement that they can save effort. Naylor says the Koan team won’t use libraries if they can easily reproduce their functionality in-house, but the team relies on React and related tools. CTOs and developers alike say that when choosing technologies, they look at the size of the community behind a project. A high-quality tool with only one developer who could be hit by a bus makes it hard to bet on a project.
But Aguinaga argues that just being versed in the fundamentals isn’t enough. He wants developers conversant with modern tools that require a different way of thinking, such as React. “I’ve ended up not hiring people who looked good on paper because they hadn’t touched React,” he says. “I need people who can be productive [using React] from day one.”
Even when hiring managers aren’t as strict as Aguinaga, developers can’t expect to rely on the same set of skills forever. The good news is that most developers won’t find themselves out of a job overnight. There are still lots of companies that have software built on Backbone, for example, and those companies will need developers to maintain that software for years. That provides time for developers to hone their skills in other tools.
The bad news is that developers typically must learn new things on their own time. “I don’t have many friends who are developers, and they don’t understand why I spend so much time at home learning on my own,” says Eleftheria Batsou, a front-end programmer in Thessaloniki, Greece.
“At first I wished there weren’t so many new things,” she says. But the constant change is part of what keeps the job interesting. “I like that things are evolving. Yes, it’s hard, but I really like it.”