One of the challenges our customers often bring to our attention is the difficulty in filling lower level web production roles. It’s a problem that we can relate to at Curious Minds, as we face the same issue when on-ramping new developers on to our team.
Advertising a job opening for an entry-level front end developer will yield an endless and incredibly diverse group of applicants who have attended any number of 12-week coding bootcamps, each teaching some mix of React and MongoDB. It would seem that the curriculum of these courses has been engineered to appeal to hiring managers, and HR algorithms, but not to truly prepare the student to aid the organization after graduation.
This series of blog posts will examine why strong fundamentals are more important than ever, and answer the question of how can we create the valuable generalists who can code, debug, and work holistically.
Why is this an issue? Or, what happens when things don’t work
At Curious Minds, our front end developers are generalists, and we feel that this is the critical difference in how we add value for our clients. In our experience, a strong knowledge of fundamentals is critical to not just being able to solve issues for clients, but to solve them efficiently. In our trade, debugging skills are critical, and you can’t develop these skills without fundamentals. What are some of the fundamentals that an entry-level front end web developer needs in order to be successful? In no particular order, they are as follows:
HTML structures and tags
General CSS directives
HTTP verbs, and appropriate uses
Stateless vs. stateful protocols
Separation of concerns
Relational vs. Document-based Storage
Most development teams would consider these skills to be fundamental. It is stunning to see the blank stares from entry-level job applicants when asked questions about these areas. Consider a case we encounter often; the abject uselessness of a React boot camp graduate without robust knowledge of CSS directives, or HTTP verbs.
This lack of knowledge touches so many surfaces in the practice of web development, that it is hard to emphasize enough the importance of robust fundamentals. For the team leader, it’s seeing developers write thousands of lines of code to replace a simple CSS directive. For a project manager, it’s not getting the critical feedback from your development team about the true level of effort required to perform critical tasks. Lastly, but very worth mentioning; how do we develop these employees into mentoring roles when the prerequisite skills have never been addressed?
How to fix it: developing fundamentals
12 week boot camps are not producing the candidates with the skills we need. Colleges are not instilling real-word experience. The solution needs to be in the workplace. Development teams need to produce and maintain robust curriculums to quickly bring developers up to speed on fundamentals. Time needs to be devoted to continuing team education, and these all important fundamentals.
Here at Curious Minds, we’ve put in place the resources to bring new developers up to speed. We focus on independent study, along with close mentoring to bridge the fundamentals gap in our new hires. We encourage our clients to do the same with their in-house resources, and we share our knowledge with our team augmentation and consulting services. What skills do you consider fundamental? Let us know in the comments.