Should you specialize or generalize? Should designers learn to code?

Felipe Ceballos agile web developer wordpress maintenance

As the technical landscape continues to evolve and diversify, there are so many technical paths and career directions people can take. At a certain point, professionals may need to decide:

  • Should I specialize in a particular technology or stack?
  • Should I specialize in front-end or back-end development?
  • Should I be a full-stack developer?
  • Should I dive deep and master a particular language or framework?

For sure, people are coding earlier in life and living longer.  Nowadays, it wouldn’t surprise me if a kid started coding as early as 10 years old and then lived to be 90.  You could feasibly code for 80 years and a lot could happen over this lifetime.

Since I have been a professional, which has been over 30 years so far, I have seen entire programming language be born and become extinct.  I’ve seen entire careers become obsolete due to technology.  I have seen industries shrink to nothing due to emerging technology, automation, and artificial intelligence.

Sooner or later, whatever you know or have mastered, will likely be replaced by something.  And, the more you specialize in something, the more likely that something will evolve and become obsolete as well.

Take designers, for example.  It wasn’t too long ago that designers had a major role in the production of a new website.  But nowadays, there are so many pre-built themes, frameworks, and style guides that gorgeous websites can be produced without involving a single designer.  In fact, when I started inQbation in 2007 (ten years ago as of this writing), I employed more designers than developers and I wanted each client to be able to see and choose from at least three custom web designs before we made a decision to move forward with the website.  My ratio of designers to developers was like 3:1 but nowadays it is like 1:10 in the opposite direction.

That doesn’t mean we don’t need designers anymore, but we certainly don’t need a cadre of full-time designers. So, if designers want to survive, they need to learn how to code or contribute in other ways.

The same could be said for developers, particularly those working in agile on a scrum team.  When it comes to scrum, everybody on the team needs to roll up their sleeves and work regardless of whether or not the task they are working on is their specialty.  A front-end developer might have to help with DevOps.  A back-end developer might have to help with testing.

The more diverse your skills, the more versatile you are … the more valuable you are in the company, the more likely we will keep you in tough times, and the higher we will likely pay you in good times.

So, definitely master a skill.  Be great at something. Dive deeply into something.  But, be sure that you are open to doing and learning anything because at any given time, whatever your super power or secret sauce could be overcome by technology and made obsolete.