The Full-stack dilemma

The Full-stack dilemma

The juggling myths

We are back here one more time. Talking about, among other things, full-stack software engineering and tech stacks. An elaboration into what technologies we need to know and an overview as to why we indeed call this a dilemma; a crash waiting to happen.

Stacks: The talk of the town

Now, a stack is a set of tools and technologies used to build an application. What we combine in various proportions for a product. Well known in the software engineering environment, are:

  • MERN( MongoDB, express, react and node)
  • MEVN(MongoDB, express, vue and node)
  • MEAN(MongoDB, express, angular and node)
  • LAMP(Linux, Apache, MySQL, Pear/PHP/Python)
  • Serverless stack

These may be shifted accordingly to suit what works best. For instance, using PostgreSQL instead or using a frontend framework combined with, say a non-javascript-based language/framework for your backend. As well, there may be more tools depending on how strongly your organization or enterprise works with say, java(spring) or the .NET family. Heck, you might even have containerization (what would you possibly be doing without a container(s) for your apps right now?).

Now, back to the core business; ' I am a full-stack developer'

What this term has been warped to mean, is this:

"I can develop an application in the backend with any tool, or technology out there, create stunning designs and user experiences, implement these interfaces both on the web and mobile, create cross-platform desktop applications, run machine learning models and neural networks, image processing, and artificial intelligence ...."

I'll stop here before I find myself describing the internet.

juggling.jpg

While a developer might master one or two tools in combination, and this is highly encouraged, the grounded developer has more chances of sustainability. One might master a set of tools associated with say e-commerce development or a particular field. By all means, buckle them up, but have a reason as to why you have them under your belt.

We can learn absolutely anything we want, but we cannot learn everything.

Are you google?

Consider the masters of old, I love classical music, my favourite, Wolfgang Amadeus, composing masterpieces in the classical realm. So full-stack, would assume, afro beats, pop culture, rock, folk, jazz, and so on, just to mention but a few. Spreading over the place like butter. Would he have truly mastered composition in all these genres and still retained the accord?

So yes, you say you are full-stack; but can you design and build web interfaces and pleasant experiences that will make the user shudder with awe and still work with optimal database queries and or Kubernetes while analyzing user interaction with the site and build statistical models around this at once all with standard top-notch level performance in each with deadlines?

So where does data science fit in all of this? Is it a tech stack

Nope. Not at all. Don't mix up the words with what we talked about mix and match. This is a totally different career, separate from web development. To go in line with this so is web development and web design. These are in the same area but refer to different things.

Meet a developer, ask the right questions.

Are you a web developer? What is your tech stack? What do you have experience with?

Often we love defining ourselves as full-stack developers because we assume the other alternative would be a half-stack developer, and no one wants those, because it gives a half-baked rhyme. Use a tech stack, be specific with the tools you are familiar with in your description. In one minute, you'll make a really great API. An incredible masterpiece. Then somewhere along the line, start creating game engines. All learning is good, all learning is great, but it is not as focused.

All learning is good, all learning is great, but it is not as focused.

target-board.jpg

Photo by Immo Wegmann on Unsplash

When looking at your description, one would wonder,

'What was he/she trying to achieve? Were they just reading stuff?'

Get the gist?

Conclusion

Parting shot dear subscriber, choose your weapon or weapons, choose them wisely, choose them with purpose. So what say you? Do you choose a tech stack (s) or do you want to be a full-stack engineer?