TLDR; No - you can specialize. Just do it really, really well - and pick a complementary skill if possible. This doesn't have to be backend!
Our mentors are beginning to consistently answer questions on Quora (the popular question/answer site) in categories relating to web development, and we're starting to see an unexpected theme...
People asking "How can I become a frontend developer" or "What does it take to get into frontend development" and others responding "That's a bad idea, you should be full stack in 2019" or "You'll find it very difficult to get into a job being just frontend, you should learn backend too as most people know it nowadays."
So what's the deal? Is this truly the case?
No. There are hundreds of thousands of frontend job posts yearly - it is unequivocally not true. So please, don't be put off.
What is true, however, is that the frontend development market is becoming more saturated than it was - which is fantastic - this means learning frontend development is far more accessible than ever, and we can strive for further excellence in this field.
And don't get it confused - if you genuinely do enjoy the "full-stack" method - go ahead and learn backend. If you don't however - you don't need to. But, if you are going to stick in one lane, then make sure you strongly specialize within that lane so that employers will choose you, because you decided to double-down on that strength and develop it beyond the level your peers did.
So, how can you stand out as a frontend developer in a 2019 marketplace? We've got a few ideas for you;
One way to stand out is not only learning front-end code skills but complementary expertise alongside this - such as the ability to design and mockup good looking websites or web applications - or - become a user experience expert. This takes more time - but undoubtedly skyrockets your market value.
"UX Engineer" is a job role that is relatively fresh in the last couple of years and from what we can tell, seems to be a frontend role with UX elements mixed-in.
As software development becomes more sophisticated and the micro-skills become their own professions - these new roles begin to pop-up and allow you to specialize more than ever before. Emma Wedekind wrote a fantastic post here describing the UX Engineer role.
"Designer and Developer" has been a thing since the advent of the coding freelancer. It's something freelance frontends often do, and it involves having both a practical eye for design (this can be learned! Even if you are not a generally "creative" person - trust us. We'll make a writeup on that soon) and the ability to code those designs.
These skills will be a massive plus when it comes to applying for jobs and at interviews. Especially applying for jobs - because you can put "Designed and Developed" against really great looking screenshots of your projects.
Specializing in a popular JS framework and knowing the ins-and-outs of it through many months of study and example projects will make you highly favorable at interviews which want those frameworks - we're talking Vue, Angular and React specifically here as the "top dogs" in this industry.
A lot of developers see these frameworks as almost a crossover between backend and frontend because they are so logic-focused, they're not far from backend code. So it's not for everybody - but if you have the ability - you're going to be able to truly set yourself apart.
Beginners often overlook code quality - and this is not their fault. This is generally through either opinionated mentors who have their own ideas of how code should look against the consensus, or through sheer inexperience and not being aware of coding standards.
We call this a lack of "Code Branding" - in an ideal world, you want your code branding to echo modern quality & show that you've been highly considerate in terms of your symbol naming.
If any of that sounds like it might be right for you, we've compiled some helpful tips for keeping on top of your coding standards:
- Look at a CSS framework like Tailwind or Bootstrap and see how they lay out their CSS in the source files, how they specifically name their classes and how they separate their files - look to mimic this in your designs - or use something like BEM. Any standard will do - just follow something so your code has a consistent theme.
- Look at HTML examples of large HTML frameworks and look at how things are indented, named and structured - and try and mimic "good structure" - a lot of it is intuition and you'll need to spot patterns in how high-level developers write these things.
It's great that more front-end developers are entering the scene through bootcamps, online courses, and all other learning methods, and as we can build better products at a faster rate, competition goes up because the barrier to entry is so much lower than its ever been in the history of coding as a profession.
So the best thing you can do (and it's always been the case) is to truly set yourself apart from other developers by expanding your horizons. Hopefully, some of the suggestion above make it easier for you to do that!
You'll learn how to build a beautiful portfolio for yourself, and put it live on GitHub. We provide a professional design that you're able to customize and our lead mentor shows you the exact thought process he takes when building projects like this.
You'll also gain HTML & SCSS skills in order to create the front-end, and jQuery to call an email API for the contact form.
Does this course interest you? Head over to the Skill Pathway website and register your interest, so you can get immediate access on release day.