Conquent: Without Limits
Conquent: Without Limits
Kristen Fife's Blog

Recent Coding Bootcamp Grads - You Probably Aren't "Full Stack" Engineers

2017-03-29 10:18:13
Shortcut URL: http://t.conquent.com/1000

I have often recruited for front-end engineers over my career. Web technologies are inarguably a great step into the world of software engineering. Learning flexible and scalable web languages is how a lot of developers start their careers.

But with the rise of coding bootcamps, I have seen a corresponding increase in bootcamp graduates that bill themselves as “full stack engineers”. Here’s the problem: a 12, or 16, or 20 week program is NOT going to prepare you for a “full stack engineering role”. I’m not saying this to be overly selective, or to try and screen out candidates, but for the simple fact that in the last 4-5 years when I have passed bootcamp grads to hiring teams for technical phone calls or even interviews, *none of them have passed muster because they don’t have strong computer science fundamentals.* Let me be clear: I generally work for technology companies that are involved in either e-commerce or actual software products/services. I am not referring to creative agencies, or small web development consulting companies which are often a great landing spot for bootcamp graduates. Yes, it *is* possible to learn full stack development “on the job” but the truth is that if my hiring manager is looking for someone with at least a theoretic/academic understanding of binary trees and data structures gleaned from a Computer Science program, spending 25% of the last two weeks of a bootcamp having “exposure” to computer science fundamentals isn’t going to make you qualified as a full stack software developer.

The main difference between Java, C#, C++ - compiled languages - and Python, Ruby, Javascript, Perl, PHP and other interpretive languages involves how your computer receives directions on what to do with the code. Compiled code can be executed directly by the CPU, while interpretive languages still need a translator or other vehicle for implementing the commands of the code; compiled code executes at a much faster rate than interpreted code. Interpretive code has its own advantages as well such as being platform-independent. Stack Overflow has a great overview of the differences and similarities between the two. (http://stackoverflow.com/questions/2657268/whats-the-difference-between-compiled-and-interpreted-language)

Computer Science as a discipline generally deals with learning not only compiling languages but also the mechanics, mathematics, and logic behind creating the entire ecosystem and bridge between hardware and software. “Software Engineering” as a career and discipline rely on a complete knowledge of those principles, which takes several years to learn. If you want to become a full stack developer, you need to understand and be able to implement coding concepts and solutions such as:

-Algorithms

-Binary trees

-Data structures

Typical coding questions will include specifics such as: reverse a linked list; reverse a string using a recursive algorithm; write a program to convert binary to decimal values; write a program to find the sum of the first 100 prime numbers. These questions are directed to EVERY full stack engineer, whether they are primarily being hired for a front end position or not.

Thanks to platforms like Coursera, Udacity, and other online tools it is possible to learn the fundamentals, but it still takes a huge time investment beyond what you have in a bootcamp. If you decide to go down this path, develop your software portfolio by working on public collaboration sites like Github or Stack Overflow. Be prolific, and include your project ID on your resume. Write a small game, or some sort of a tool independently. And remember, when you *are* interviewing, companies want to know about your singular and specific contributions to the projects you work on; they aren’t interested in what your team did as a whole. They are interviewing YOU and your talents, not your collaborators.

So please, if you aren’t ready to answer questions in-depth about binary trees, data structures, algorithms, and concurrency – please don’t try and tell me you are a “full stack engineer.”





Next
Tips for Transitioning Veterans
Previous
Resume Basics Redux


Comment on this blog
Your name:


Your email (will not be displayed):


Subject


Message



Enter the text above to help us filter spam:


This article also appears on
Human Resources