July 15th, 2019
Modern libraries like React solve problems that jQuery aims to solve, in addition to solving problems that jQuery currently has like state management.
In jQuery, you end up doing weird things like using DOM elements to be current states or data and writing ridiculously complex code to figure out what the previous, current, and next state of the DOM will be in addition to providing ways to appropriately transition to the upcoming states!
Something I haven't really mentioned much in my previous articles was staying fit. Now i'm not some professional trainer or anything, but I watched my body transform throughout the years and I witnessed first hand experience some of the terrible outcomes you can make happen if you ignore your health.
If you don't exercise, you risk developing many disturbing things that can happen to your body when you gain weight.
Some of these include:
The list is endless.
Your family and loved ones are important.
I often see people skipping unit tests for their web apps and that's perfectly fine--until an unexpected error happens to crash the app at some point. And that's when it becomes a huge problem because time and money can be at loss.
Having that said, just because your code is able to continue compiling without errors or just because the app works without the console complaining, it doesn't necessarily mean that the app should be ready for formal use.
The absence of any sort of tests might be fine for small apps, but when the app gets bigger and becomes harder to maintain, tests start to become increasingly important to integrate to the app because any changes you or other people make to the existing code can break another part of the app.
Want to save time in the future for huge projects? Integrating tests will help immensely.
I know and understand the temptations to start developing web apps immediately using the most popular libraries and frameworks like React, Vue, or Angular.
A separate job description requires these following "basic" requirements:
Writing clean code is what every developer must know and do in order to call themselves a professional developer. But it's also very convenient to start learning clean code practices early in your career. The earlier you start exposing yourself to these practices, the earlier you can develop the skills to write cleaner and more maintainable code.
One of the biggest mistakes I made in my career was getting started with projects that was planned to be big.
"What's wrong with that", you ask?
For one, if you're not a mid to senior level developer there's a pretty good chance you won't be able to finish this "big" project you have going on anytime soon. There's so many things to consider especially for apps to be stable if you aren't exposed to the best practices in writing cleaner code, writing tests, scalable architecture, etc. especially if you're still in the beginning stages.
So what happens when you're transitioning into your mid-level developer phase and realized that a lot of the code you had written needs to be refactored because you realized that the app isn't written correctly? The job market starts to become at ease for mid level developers, but you haven't gotten the chance to put any good projects to your portfolio yet because you've been keeping yourself too busy with this big project you planned awhile ago. Then you start to think to yourself if it is even worth it to continue with it while other developers are taking your glory in these job interviews. My recommended approach is to start with a bunch of small projects so that you can put them on paper!. Have something to show on your portfolio as soon as possible, you never know when an opportunity arrives.
Another problem with starting with big projects too soon is that if you aren't exposed to best practices and the right design patterns to build your features, you'll just end up writing a lot of code that you have to refactor or abandon when the time comes. At that point, it's probably best to just re-write the entire thing instead of having to go back and re-wire the mess you created. You might choose to just abandon it and put the current code on your resume or portfolio anyways. But they're going to look at the code and make some unpleasant judgments.
I personally think that learning them isn't really required in order to get your foot in the door into your career, but its good to expose yourself to some algorithms so you can have some understanding with computer programs and computation. Algorithms are the integral part of any kind of computation or computer program. In fact, these computer programs are just a bunch of algorithms that get combined with some fancy structured data, that's all ;)
And that concludes the end of this post! I hope you got something out of it and look out for more posts from me in the future!