Junior Developers, Don’t Start With Frameworks

Learning libraries doesn’t mean you can code

We’ve all been there before. You’re working on your latest project when you get an email from an old colleague, fellow developer or maybe a random inquiry through your website.

Hello, we’re looking for someone to update our website. It is a Wordpress template built with bootstrap and jQuery mobile. What do you say?

I say good day to you sir.

Libraries aren’t always the answer

Now before you unload on me with why <LibraryName> is amazing, please hear me out. Front-end libraries have given developers and designers a lot in the past few years. They have allowed us to rapidly prototype applications, quickly develop Wordpress websites and establish bulletproof scaffolding for an array of web work that can be built on in an infinite amount of ways.

The problem arises when a young developer starts making sites out of these libraries without fully understanding the brick and mortar processes of development.

What happens when you talk to a client of even your manager and they ask you to add functionality that isn’t included in your framework? Suddenly, you’re venturing into uncharted, often bloated code in order to make sense of the very thing you just built!

You don’t need it!

What I see happening more and more is developers using bloated frameworks to perform a simple function. To make a very flimsy analogy: It’s like buying a car because you need a windshield.

Start small, end small

The real answer is you go back to the beginning and decide exactly what you need and how you can achieve it. Ask more questions, dig past the glint and glamor of a flat interface and figure out what your function is doing. Hell, I’m pretty sure what you’re trying to do can be found on stackoverflow 99% of the time.

And here’s the big secret. Doing this will make you a better developer! Going back to your roots to build arrays and function (like we did back in the day) will help you understand the fundamentals of how this and future problems are solved.

I feel we’re at that point in the world where I shouldn’t have to mention how popular smart phones and tablets have become. Your users today are hooked on instant satisfaction, and in turn, developers have been trying to shave off every millisecond they can in order to match it.

The easiest way to avoid this pitfall is to understand what every line of code does in your website. Knowing what is essential and what isn’t can give you a quick baseline as to how your site is going to perform in the wild.

Take pride in what you do

I remember using a framework, which at this point, doesn’t exist anymore. Some hybrid IBM platform that was brutal to work with. After chipping away at .jsp files for weeks, I had finally managed to put our company colors in the header of this site. Everyone at work thought it was the bees knees and many handshakes were had.

But I felt empty. I wasn’t sure if I had actually figured out this platform and took it as far as I could. When you don’t really understand what you’re building, the end result is not fulfilling because you’re not 100% sure that you actually did something great.

The lesson to learn here is to know what you code and code what you know. Take pride in your accomplishments and have the understanding to stand by your development choices. I guarantee you will feel better and go further.