Right'in Code™

It's all about Right'in Code

The Value of a Full-Stack Developer

Several days ago, a colleague of mine gave an excellent talk about Full-Stack developers.  There were several points he made that I thought were interesting:

  • The definition of “Full-Stack” has evolved over the years
  • Based on his definition, to maintain the skills necessary to be a Full-Stack developer is extremely difficult or impossible
  • Given the maintenance difficulty, it is probably not worth the effort to do what is necessary to maintain/become a Full-Stack developer

For the most part, I agree with his assessment of the role Full-Stack developer.  As with all ideas and concepts, there are counterpoints, different opinions, and other perspectives.

We agree that the definition of the role of Full-Stack developer has evolved over the years.  Early in my career, “the stack” consisted of very few parts.  If you knew HTML, JavaScript, CSS, a server-side language (PHP/VB.NET/C#), and SQL and could put it all together to build a web application, you would be considered a Full-Stack developer.  Today, using what is considered a modern approach to building a web application, you would add to the previous list of technologies several client-side JavaScript libraries, additional tools to manage those libraries and other assets (version management/minification/bundling/etc.), new data transport and security tools/techniques, and custom back-end API’s to respond to client-side requests.  If are planning to support mobile, you just added even more complexity to the stack.  This evolution has increased the complexity of successfully delivering a web application by many orders of magnitude.

10 years ago, keeping up with the technologies required to successfully build a web application was a fairly easy task.  The pace of change was something one could truly mange within a typical work week and acceptable work/life balance.  Of course this is a personal preference but the frame of reference for my statement is a 40 hour work week.  Fast forward to today.  The pace of change is incredible.  As an individual developer, keeping up with changes in the technologies that are a part of “the stack” are impossible.  My colleague and I agree on this point.  One cannot master all the technologies and still be productive.  If you tried, you would spend all your time learning, never building, and a reasonable work/life balance (again personal definition) could not be achieved.

So is it worth the effort to maintain/become (or attempt to become) a Full-Stack developer?  This is where my colleague and I disagree.  It is my personal belief that striving to become or maintaining your role as a Full-Stack developer is definitely worth it.  I don’t believe that one could master all the parts of today’s modern technology “stack”  but I do believe you are much more valuable to an organization seeking solid contributors.  As a hiring manager, I am never impressed by how “deep” your knowledge of a specific technology or part of “the stack”.  The tools and technologies change constantly.  What I’m looking for is your ability and enthusiasm to solve problems with the appropriate tools and technologies.  Your ability to fearlessly and with an open mind explore the leading-edge of our profession is also more valuable in my opinion.

The Full-Stack developer may or may not exist today because it is 100% based on your definition.  But it is my genuine belief when reviewing your career as a professional software developer, the broader your knowledge maximizes your value and minimizes your risk.  Define what Full-Stack developer is to you, set your limits on work/life balance, and go capitalize on the incredible career of a software developer.




CodeStock 2015 Recap

Once again, I had the privilege of attending CodeStock in Knoxville, TN. last weekend.  The CodeStock team really knows how to put on a great conference.  In 2014, there were about 450 attendees.  This year, 900 attendees!  Yes, doubled in one year!  That should give you a good indication of the popularity and the quality of the conference.  Also, the conference relocated to the Knoxville Convention Center and I must say, the facilities were great.

This year it was our pleasure as attendees to hear from keynote speaker Scott Hanselman, @shanselman. (hanselman.com)  If you haven’t had the please of hearing Scott live, add it to your bucket list.  It was an absolute treat and he is hilarious.  I have a little something extra to say about Scott but I will save that for later.

CodeStock’s sessions were broken down into five categories: Design, Development, Entrepreneur, IT Pro, and other.  I mainly work on Web projects, so I focused on the Design and Development categories. (Although, I did attend a couple of Entrepreneur sessions given by some folks I respect.)  Day one for me consisted of talks on Dependency Injection by James Bender, @JamesBender, AngularJs by Dave Baskin, @dfbaskin, ASP.NET vnext by Sam Basu, @samidip , and An Honest Look at a Successfully Software Consultant by Jim Christopher, @beefarino .  All great talks by some of the best presenters out there. Day two was more of the same, Diving into Angular 2.0 by Josh Carroll, @jwcarroll , Deep Dive into ASP.NET 5, Jeff Fritz, @csharpfritz , and Web Application Security by Steve Brownell.  Again all great presentations!

CodeStock is a jewel of a conference.  Great talks, great attendees, great team, great value, and great price!  I have attended this conference for the past three years and it has only improved year after year.  The CodeStock team has earned my respect and support and I plan to continue to attend.  If you are looking for a great return on your conference dollars, CodeStock is a conference you should have on your list.

One last thing.  I was sitting in one of the conference rooms waiting for the next talk, actually looking down at my laptop, and Scott Hanselman stopped by and said hello.  Of course, I was a quite surprised when he said “hey, we follow each other on twitter, right?”  I don’t send 100 tweets per day, barely 10 per week but he recognized me out of his 130k+ followers.  I thought that was incredible given his popularity and just the number of people he comes in contact with.  He and I shared a 10 min conversation.  During our chat, he asked me what I was working on and even offered some advice. (invaluable advice)  I’m writing this because I have “mad” (great) respect for someone of his caliber that is genuinely attentive to the community.  As I said earlier, if you haven’t heard Scott @shanselman (hanselman.com) speak live, add it to your bucket list.  It will be a real treat.