When Tandem was founded in 2011, we were young, scrappy, and eager to make an impact on the world of software consulting. Fast-forward 10 years: our original vision — to reimagine consulting as a partnership between consultants and clients, where we co-create business solutions that are fortified by software — has remained the same, but a decade of change has created a software industry (and a Tandem!) that looks a lot different than it did at our beginning.
From the rising use of non-relational databases, to the evolution of API tech, to the increasing adoption of Agile methodologies, the last ten years have brought changes that make software more secure, more intuitive, and more efficient. As we celebrate Tandem’s tenth year in business, we took a look back at a few of the most impactful shifts we’ve witnessed over this decade.
The Introduction of the React Web Framework
The spring of 2013 marked a paradigm shift in our industry with the launch of React. React is a library that allows developers to decompose a User Interface into small units of functionality called components. It allows developers to build more abstractions into large code bases, making them easier to extend and maintain.
At first, the React team toed the line between class components and declarative programming, but they committed to a declarative programming style with Hooks in 2019. This evolution led to an enhanced developer experience as code became more streamlined and easier to understand at a glance.
The concept of an Internet of Things (IOT) — a network of physical items connected digitally, constantly collecting data and communicating — is documented going all the way back to the 1930s. But the real turning point for ubiquitous IOT in everyday life came in the late 2000s: in 2011, Cisco published a whitepaper pinpointing 2009 as the moment when the number of internet-connected devices surpassed the number of people in the world.
Over the next ten years, the IOT continued to expand across all industries and consumer segments. Early adopters in varied industries — from manufacturing, to healthcare, to agriculture — began experimenting with connected devices to gather data and optimize processes. Consumer products also gained momentum: smart thermostats, refrigerators, and doorbells were integrated into homes, smartwatches and fitness trackers were strapped onto wrists, and smart home assistants from the likes of Amazon and Google were created to fulfill our every need.
Today’s software engineers aren’t just focused on the web. The Internet of Things requires skill sets for writing code that runs on devices, creating middleware, and designing web or app-based user interfaces. Development teams with skills in all three areas can open doors to give valuable and actionable real-time feedback to users. Moving forward, we see significant opportunity to optimize the IOT across all industries by harnessing the vast amounts of data devices can provide us.
The Growth of Mobile-First Development
The original iPhone entered the market in the summer of 2007, and by 2011, Apple was introducing the iPhone 4S, which featured a new voice assistant named Siri. The Pew Research Center conducted their first survey of smartphone ownership in 2011: at the time, 35 percent of Americans reported owning a smartphone. In the ten years since, that number has shot up to 81 percent (as of 2019, Pew’s most recent published data).
At first, when smartphones were only used by early adopters, designing websites for mobile devices was an afterthought (if it was thought of at all). But the rapid increase of smartphone users led to a boom in responsive design beginning around 2011. Developers now had to start thinking about media queries, testing on different viewports, and how to write, organize, and maintain our styles. The way engineers write CSS exploded: with so many screen sizes, we now write more CSS to handle all of our breakpoints. Tools like SASS and other preprocessing frameworks emerged to help developers write reusable styles that can more easily be extended and maintained.
This trend had major implications for our teammates in product design as well — we’ll dive into those in a future blog post.
The Rise of the Cloud
Though we still do some work with clients using on-prem environments, cloud computing has emerged as the new normal over the last decade. Prior to the widespread adoption of the cloud, companies who wanted to deploy code had to purchase physical servers and manually upload the code to those machines. It was a tedious, error-prone, and expensive endeavor.
The cloud has made current DevOps practices possible: now, we have automated pipelines that allow version control with continuous integration and continuous delivery (CI/CD). In the past, there were too many opportunities for discrepancies between your source control and the server. With automated CI/CD, the potential for human error is taken out of the equation. This means we can deploy well-tested code much faster.
The cloud has also brought improvements in data security, by abstracting many security functions into managed services. The care of the servers — from keeping them at the right temperature to applying security patches — is now managed at scale by the folks at AWS or Google Cloud, which offloads cognitive load on developers. Software engineers don’t want to spend a lot of time checking the servers — we want to focus on writing good code!
The Coding Bootcamp Boom…
Until 2011, most software engineers entered the industry in one of two ways: they either studied computer science at a traditional college or university, or they were self-taught. But in the year of Tandem’s founding, a new model emerged that would balloon to a $480.9 million dollar industry by 2020.
Coding bootcamps emerged to solve dual needs: technology companies were desperate for coding talent in a competitive employment market, and people emerging from the 2009 financial recession were eager to quickly learn coding skills – and land the lucrative jobs that many coding bootcamps promised their graduates. Over the next decade, bootcamps would transform tens of thousands of careers, and would provide access to the field for many people who were shut out of the industry by the cost, time commitment, and structural biases of traditional modes of access.
However, the quick success of the earliest bootcamps led to the emergence of predatory programs that preyed on students with malicious practices, like unethical payment contracts and low-quality curricula. Increased competition incentivized some bootcamps to cram many buzzed-about stacks into their programs and advertise themselves as ‘full stack’ — but graduates from these programs often received such a fast and surface-level introduction to each language, that they may as well have not attended the program at all. We hope to see these practices weeded out so aspiring coders can access the level of educational support they truly need.
As the bootcamp model continues to mature, we are optimistic about the opportunities they provide to create more equity within the technology field. Over time, we expect that our industry will respond to the limitations of bootcamps by increasing the amount of in-house training and development for early-career devs. Apprenticeship programs can serve as stepping-stones to bridge the gap between graduation from coding bootcamp and a full-time career as a software developer.
…and the Fall of the Rockstar Developer
It’s become a joke now, but 2011 job descriptions were full of requests for “rockstar developers” and “coding ninjas.” These winky descriptors quickly lost their charm as it became clear that they were typically shorthand for “you will be working 80-hour weeks under impossible expectations.” The rockstar mindset often created unhealthy workplace cultures where individual heroes clashed with their equally competitive colleagues, leading to burnout, toxicity, and often, lower-quality software.
Though the “rockstar” mindset persists in some pockets of the industry, far fewer companies are looking for individual heroes — which has led to a wider embrace of growth-oriented cultures instead of fixed-mindset cultures. In today’s coding culture, collaboration among teams is encouraged, and pair programming is no longer viewed as an extreme or niche practice. We’re pleased to see this shift: healthier workplace cultures create greater inclusivity within our field… which ultimately leads to stronger software products!
One Thing Hasn’t Changed: A Battle-Tested MVC Framework is as Valuable as Ever
While our industry experiences a lot of trends, good software design will always be paramount.
Model-view-controller (MVC) frameworks like Django and Rails were popular in Tandem’s beginning years. Ten years later, we still reach for MVC frameworks that allow us to move quickly and focus on the hard problems, leaving the easy problems to the framework.
Rather than spending our time and brainpower on setting up code, we like to get up and running fast so we can focus our expertise on solving our clients’ business problems. And that’s something that’s never going to change.
Software consulting is an invigorating, ever-evolving field — and we’re so grateful for Tandem’s place in that field over the last ten years. Though we have some guesses for what the next decade will bring, we’re humble enough to know that the future inevitably holds surprises that we can’t even imagine. As those innovations and new ways of thinking emerge, our team stands ready to harness them in service of our time-tested vision.