When I was a kid, I played basketball. I played with the same group of girls for years. In the beginning, we learned the basics: dribbling, passing, layups. But as we grew a little older, our coach began to teach us the things that really made a difference. He explained that when we pass, we need to pass to where the other player was going to be, not where they are now. He taught us not just how to rebound, but how to position ourselves (as a group) so that only we could get the rebound. He taught us how to always watch where all our teammates were moving and anticipate openings for good shots. He taught us how to share the responsibilities of defense, working a solid zone rather than a crazy man-to-man. He also made us all play each other’s position so we’d get the feel of each. We never lost a game (ok maybe 1 or 2).
Just like with basketball, a software development team’s success is highly coupled to the ability of its members to execute as a trained team. The team's goal is to produce software to specifications without bugs and deliver on time and within budget. Oh, we have all kinds of tools, like Dev Ops and Agile, to help us with that goal. They are good tools, but they do not ensure success. So what is the “magic” that ensures success?
Enter the Full Stack Developer.
“Full Stack Developer” takes on a myriad of definitions these days. I like to think of a full stack developer as having these qualifications:
In the simplest of scenarios, a full stack developer works in a very small team, often building and testing the UI, backend, and data storage code themselves. That alone provides significant advantages. But the real payoff with full stack developers is in larger teams where the UI, backend, and database developers often exist as separate sub teams.
A full stack developer with all these skills can anticipate the needs of other team members. They usually understand the limitations of the processes used by the team and can jump in to fill the gaps. They “think” like the other team members and can anticipate and avoid obstacles. They can also move from the UI to the backend to database development like a sub off the bench who can play any position.
If you are a developer, I highly recommend rounding out your talents like this. It truly makes you invaluable to your employer. If you are seeking a software company for your next technology project, look for a company, like SDP, where most developers are “full stack forwards” and can shoot, pass, and defend any day of the week.
Let SDP become an extension of your team and create a competitive edge for your business. Contact the experts at Software Design Partners.
Karen is a Senior Software Engineer at Software Design Partners.