As a full stack developer I’ve had critiques about how I can’t be good enough at one thing if I do a lot of things. I totally agree to this and I’m not claiming to be a master of everything I do. Some will rather describe it as:
Jack of all trades and master of none
do I think of myself as this? No! From a reasonable point of view, I’m not trying to jump into VFX/FUI even though I may have an obsession for them but instead, I’m sticking to web development even as I know my programming skills can be of use in other fields and I’m very much willing to explore it for research purposes in those fields but professionally, I’ve chosen to be a web developer.
When people ask questions like:
What programming language do you write?
From earlier, I said I agree that I’m not good enough at all of these things but disagree that I’m a master of none. While I took majorly PHP projects and used frameworks that exposed me to proper use of Object-Oriented PHP, I kept realizing there was more to learn each time. I was a STUPID PHP programmer that was ready to learn to do things the right way. I read blog posts and skimmed through questions and answers on the PHP IRC channel. I was gradually becoming like one of the PHP specialists. I’d been doing a lot of front-end in-between and writing CSS code that I didn’t totally understand. I also followed Zed Shaw closely on learning python. Inadvertently, following the paths of a non-specialist like Zed I was becoming more like him.
Wait! That doesn’t make me Full-stack
While still doing most of my projects in PHP, I was working on some python projects that were either CLI or for desktops majorly because my orientation on Python didn’t make me think of it as a thing for the web. Trying out Django and Flask were just experimental and I didn’t use them for any real-life projects. After reading on ruby-on-rails I thought Ruby sounded like just what I needed to be the developer I imagine myself to be and it turned out I wasn’t wrong. After reading docs and various articles I dived into a client’s project using ruby-on-rails and I was lucky the client didn’t care to know my past experience with the technologies I was using. The project turned out successful and through it I’d learned a lot in Ruby and Rails but not all the good habits of Ruby-on-Rails developers. Test-Driven Development, Behavior-Driven Development, and Agile development were all alien to me and I gradually understood these things doing more project because I wanted to know them and roll with some of the best in the industry.
From my story, obviously it all just didn’t come once and the fact that I had time to spend with each technology makes me able to say I might have mastered some of it.
A seemingly interesting article I found tackles the use of the word full-stack but the author made an interesting point by saying some of the so-called full-stack developers just have an ability to learn new things which is an entirely different thing. He further mentioned that such people know what is required on various layers to achieve given tasks even if they do not understand the whole of those layers. If I’m to go through the tests as he had mentioned in the article, I will have some branches where I’ll almost be hitting 100 and some others at 70.
The risk of hiring full stack
I’ve made it sound cool to be a full stack developer from the start but if I was a recruiter I will hire more specialists than full-stack developers and for that reason I pose to recruiters like I’m a specialist. My reason for this is because I’ve been in a position where I had to work closely with HR to see how the sharp-mouthed so-called full-stack developers failed at little tests where the specialists knew their thing and did it right.
Why I think you should hire a full stack developer
Being a freelance developer that mostly works solely I structure my database and back-end based on the design I have and also vice versa. While this may be the same for teams with different specialists, the edge here is I can make comparisons right in my head without having an actual structure. This helps for proper prototyping. Someone described it as having a bird eye to see through the whole of the forest.
The chances of getting a good full-stack developer are slim but if you find an original full-stack developer they’ll be of great use especially to small companies and start-ups.