Should I become a Full Stack Developer or specialist?
I have thought about this question quite alot recently...
I would class myself as a Full Stack Developer. So how would I define this title? I would class this type of role to be working in both the back and front end of an application. When working in either of these areas a wide number of technologies/languages will be used. As an example, let me give you some of the areas I work in regularly:
- Entity Framework
- Web Forms
This list is far from exhaustive, but gives you an idea of the wide number of areas I deal with on a daily basis.
Benefits of a Full Stack Role
I am the kind of person who gets bored easily. What I am getting at here is, I like the variety of using different technolgies and frameworks. Would I struggle with a more specialised role? Would a specialist role be limiting? Well I have no idea as I have only ever worked in a full stack role. Maybe you have the answers to those couple of questions, I would love to hear from you!
Every now and then I like to have a look at the latest developer job vacancies on offer. I would say more often than not, the roles are all what I would class as full stack and cover many, if not more of the technolgies I mentioned above. Clearly by having skills in multiple areas can only be beneficial in gaining employment as a developer. This is not to say there are not any more specialist roles, but we can talk about that shortly.
If you are anything like me, then you want to learn as much as possible in your chosen subject matter. Knowledge is power or so they say! I am naturally driven to learn as much as my brain can intake and as developers we will continually have the requirement to learn new frameworks and technologies as they are released, or at least try to keep up with the newest trends! Of course this attitude to learning can be useful to learn many technolgies or become an expert in a specific area.
Become an expert in your field
So why have I been thinking about Full Stack vs Specialist?
Well you have to ask yourself, how much skill/knowledge do I have in all of the different technologies/frameworks I work with. I believe the majority of full stack developers have the knowledge to get the job done. I certainly believe I can complete any task I am given to a high standard, but this doesn't mean I am an expert in a given field.
So how about becoming a true expert in a given area. I would focus purely on a single area of developement and become the go to person for all aspects of this technology. I really like this idea. First of all, knowing you are valued within your organisation as the person to consult with regarding this technology. Secondly, I would imagine it would be far more practical and possible to actually stay up to date with the latest versions and offering in that area. Currently as a full stack developer I do not feel it is remotely conceivable to stay up to date with all of the areas you work with on a daily basis. I would also like to think being a specialist would provide more opportunities and certainly not limit you as I have read in some other posts/comments related to this subject.
As I mentioned earlier, it seems as if the majority of job positions I see advertised want skills across multiple areas and some of these role even ask for 'experts' in these areas. So how realistic are employers being when they are requiring such broad skills to expert level? Well in my humble opinion, not very! How many developers do you know that are experts in multiple disciplines? I know some very capable developers but I would not call them experts across multiple technolgies, more realistic is they have expertise in one or two areas and are more than capable of getting the job done in others. Of course employers would love to have developers who can complete all of the work to the highest of standards without the need to invest in multiple specilists across the technology stack.
When I look at job requirements, I can perhaps tick off 75% of the skills and may have little or no experience in the remaining area. Would that stop me considering a role, hell no! I have enough experience in my career to know that potential employers do understand the majority of developers will need to pick up new skills in any role. If an employer does have an issue with this maybe you should consider if you would even want to work for that organisation, I am not sure I would think twice about it.
As I sit here writing this post, I am more than happy in my current role working with various technologies and frameworks. There seems to be a high demand for this type of role and it gives me the opportunity to constantly be working with something new providing plenty of variety, which I need and like.
I do have the desire to specialise in the not too distant future and will without a doubt seek out a more specialist role at some point in my career. The question now is what do I specialise in?
I would always wonder 'what if' I took that specialist role and that is enough for me to think seriously about a more specialised role in the not too ditant future. You have to take a few chances in your career and life for maximum gain.
This post is purely my definition of a full stack developer, heck I have read posts recently describing how full stack is not a real term. I am not sure I totally agree but the debate will always go on.
I would love to hear any of your feedback and perhaps even some real life experience in either type of role.
See you next time, whenever that will be!