Over the last decade, software development has undergone a continuous shifting in its nature.
Where developers once deeply studied a new tool, such as a library or language, to learn how it works and apply it, today developers work at "a higher level of abstraction," using hundreds of tools and skills instead of a few, said Joel Spolsky, CEO and co-founder of Stack Overflow, in an interview with CIO Dive.
"Imagine you have a Swiss army knife and I know how every single one of those little blades is supposed to be used," said Spolsky. "[We've moved] to this new world, where you just grab this Swiss army knife and you just start banging away at something and hope that it chips away without that much understanding."
Today, using a tool can be as simple as cutting and pasting code from online and running it. Many older workers lament this change, viewing it as a loss of skill that workers no longer take time to understand a problem in principle and "scour the manual," according to Spolsky.
The next problem ahead: Developing for the nondevelopers
When it came to building new tools for developers — in the form of three companies he co-founded, Trello, Fog Creek Software and Stack Overflow — Spolsky was never driven by the desire to have a business and be an entrepreneur. He needed a job as a developer and couldn't find a company where developers were treated well and creating end products for users.
So to work on the things he wanted to and create the culture he desired, he saw "no choice" but to start his own business. As an entrepreneur, being mission-driven will often lead to more success than individuals who just want to start their own company.
"In the second category, it's just really hard to get through the dark times and the difficult patches when you are not really, really driven to solve a particular problem," he said.
Even with the growing pool of entrepreneurs and technology startups, there are plenty of problems left in the software space to solve.
Right now, most businesses are glossing over large swathes of coders who aren't professional developers or full-time programmers. Developers are building tools for other developers, but these can be complicated and inaccessible for nonprofessionals, who make up the larger use case for software development, according to Spolsky.
According to government statistics of workers with the title of software developer or full-time programmers, there are around 20 million professional developers in the world, according to Spolsky. Stack Overflow receives around 50 million monthly visitors, so who are the extra 30 million, he asked.
"Some are students, but a lot of them are just people who want to build something or need to solve a problem. They might be accountants who need to use Excel to simplify some process, they might be scientists who need to analyze some data or massage some data into a format," said Spolsky.
For example, most developers will learn to use Git, an open-source version control systems — but it's complicated and hard to learn, Spolsky said.
The occasional and nonprofessional developers just need a simple version control system, like an undo button, The development of tools that solve simple functions like this is lagging in the enterprise — but full of opportunity for entrepreneurs.
Improving inclusivity
Opening up opportunities for all experience levels is important, and so is access to technical platforms.
Like other online communities, Stack Overflow battles inclusivity and is working to address it. An unwelcoming culture in professional platforms — like a global forum for developers — can have deep effects in the industry by putting up barriers against underrepresented groups like women and people of color.
Changing the culture of the platform isn't easy, but Stack Overflow is taking a two-pronged approach to mitigate the issues, including opening dialogues with users and moderators as well as tweaking the platform's software to shape behavior, according to Spolsky.
Changing software to affect behavior, especially reinforce good behavior, is a sublter way to influence users than handing down edicts to play nicer. More carrot, less stick.
For example, by relabeling questions that can't be answered — but may be redeemable — from "closed" to "on hold," Stack Overflow saw a doubling in the number of users who amended their question for clarification and had it reopened.
When it comes to changing something like culture, incremental, gradual changes can be more effective than sweeping overhauls.
"That's the dream, that we can over time we can start to change some of the ways that the functionality of the site works to successfully get the community to feel much more friendly," said Spolsky.