Editorials

Full Stack Developer

What is a full stack developer? This seems to be a frequent request for job opportunities. Is it something you could respond to with confidence? Is there really such a skill set?

Let’s consider what full stack could mean in the Dot Net world.

  • You could use a windows Forms client, and talk directly to a database.
  • You could use a XAML client, and talk directly to a database.
  • You could use any user experience tool, and interact with the database through a WCF service or even a Web API service.
  • You could implement a RestFul service in WCF or Web Api.
  • You could use any number of ORM tools to separate data models from detailed knowledge of your database.
  • You could use an MVC or MVVM pattern for your user experience. Either of these patterns can be implemented in a number of ways.
  • On the Web side, you have so many options from which to choose. CSS and HTML. HTML 5. Bootstrap, Knockout, Angular, JavaScript, TypeScript, and oh so much more.

Of course, then there are tools like Xamarin to stir up the mix, allowing you to leverage code on multiple mobile platforms.

That’s just the tools with which I am familiar. There are literally thousands more, and many of them mainstream tools. Java, PHP, Ruby On Rails, Phython, Node.Js, etc.

The point is, there are a lot of folks with various degrees of proficiency with tools at the different tiers. However, there are few who excel in the entire stack. I’d have a hard time saying that someone with a life other than coding can be a full stack developer. They may be able to make an application work. However, they are often going to be week on presentation or weak on persistence. It’s really hard, in my opinion, to be really powerful in all aspects.

So, if a full stack developer means a person is a stand alone developer capable of writing performant software at all tiers, I’d say that’s a really tall order. It’s something for which I strive. But I think I’m falling behind faster than I’m catching up.

What’s your thought? Are you a full stack developer? Do we need to re-define or replace the term? Are we simply worrying about a bad job description? I’m looking forward to your comments.

Cheers,

Ben