Full Stack Developers
A Full Stack developer commands a salary premium over any specialist, in any domain. Simply Hired is just one of the online real-world salary big-data dashboards that shows this to be true. The business benefit of full stack developers is also the driver of development and operations to DevOps: Developers who manage their own production environments and deployments to production are more effective at responding to problems discovered in production and reduce the overall time from product start to functional and profitable product in production, and command a salary premium. A collaborative team of these full stack developers is what the agile community often refers to as a cross functional team, and is the structure of a Scrum team.
In hardware, this means the team member can, at least at a basic practical level, 3d draw (CAD) parts, simulate stress test parts (FEA/CFD), machine or print parts, physically test parts (CMM and stress/strain gauge), and conduct basic shipping and receiving (ops).
In software, this means the team member can, at least at a basic practical level, architect a solution, script an automated test, write a function or similar, write a deployment or provisioning script, and write tickets based on a production environment dashboard.
In WIKISPEED Inc. we use color coded name tags:
A White stripe on our name tag means the person is able to design, machine, test, and ship aluminum parts well enough to put them on road-legal cars.
A Yellow stripe means the person is able to design, fabricate, test and deploy tubes and pipes for wet connections, such as cooling lines, fuel lines, and hydraulics.
A Blue stripe means the person is able to design, fabricate, test and deploy composite parts such as high performance carbon fiber structures.
A Green stripe means the person is able to write code for an Arduino circuit board, and wire it to read in a sensor and toggle a relay. This lets us fire airbags or set cruise control systems, and even our basic autonomous driving functionality.
A Brown stripe means the person is a Certified Scrum Professional.
A Black stripe is given to any person with all of the above stripes. We strive for all of our teams to be composed of 4 to 5 black stripes, we call these eXtreme Manufacturing Black Belts. This is a full stack team that can handle a wide variety of design and production challenges, and lets us simply direct the organization to whatever product has the highest business value without worrying if a specific discipline or soloed skill-set is being fully utilized.
If a team has no one with a green stripe, for example, they self organize to add a mission or goal to their backlog to trade a team member for a few sprints in order to bring in the needed skill. Through pairing and swarming we’ve found many team members can add a stripe in one work day, sometimes two stripes. Remember, the bar isn’t mastery of the domain, but functional at each step of design, analyze, build, test, deploy, well enough to put a part on a road legal car.