Hi There!
First off, I suppose I should introduce myself. I'm Ryan. No one cares about this stuff so I'll keep it short, but basically, I am a 7th-grade teacher looking to become a developer. I've wanted to get more hooked into the community because I am self-taught. That's been difficult to do since I have a family and another full-time job. There isn't much time to go out into the world and find people face to face. So, here I am!
The Things I Wasted My Time Learning (And why it made me a better developer)
It's a clickbait title in many ways, but in reality, as someone who is self-taught (essentially all within the last year or so) there are already things I look back on and think, "That was a huge waste." At the same time, I think it also made me better as a developer. Maybe I just need to work through some internal issues I have with the time I spent on these aspects of developing, but here are the things I found to be...not so useful given the amount of time I spent learning them.
1. Gulp
I remember spending something like 2 weeks doing all sorts of Gulp related tutorials on Treehouse.com. Have I ever used it? Nope. In fact, I think the only thing I actually got out of it was a few good laughs and relatability when listening to an episode of Syntax.fm when they were discussing it as something not really around anymore.
What can I take away from those weeks learning Gulp? It was good when it came around and it was an important stepping stone to other build tools that are more useful now, like Webpack. I can take away the lesson all developers know - things are constantly changing.
2. jQuery
I'm sure if there were a significant number of people reading this I would upset many people, but it seems for anyone building a modern web app these days, you wouldn't be reaching for jQuery. It seems like the vast majority of the jQuery features are now baked into vanilla JS, and I honestly think that even if it's easier to use jQuery, the better option is still to use vanilla JS.
That being said, I think it HAS made me a better developer to know how jQuery works because it's still everywhere. It's nice knowing the basics and being able to pick up a lot of API's that seem to be based on it, or function in a similar fashion. For example, a friend of mine was building his personal website using Wix, and he wanted some feature where there was text fading in and out. Easy enough. In to the Wix API I go (finding they don't just let you edit CSS directly...at all...) and I find it's structured very much like jQuery. So, that was a time having knowledge of jQuery was nice.
3. Bootstrap
It's everywhere. It makes the web all look the same. It's a pain to customize. Maybe my biggest waste of time. I would say learning Bootstrap was perhaps the biggest waste because it distracted me from spending time learning much better things that were already available, such as flexbox and grid. It also delayed me from learning how to simply set up my own naming conventions and create my own themes or layouts using good ole' CSS.
Why I am happy I learned this? Good question. Perhaps because the whole column system is still around many places, or perhaps just to get better ideas of how to name CSS classes for larger projects.
So, what's the point?
I suppose the main point of writing this is to look back and reflect on some of the things I have learned. Sure, maybe most of the time I find those things unapplicable to what I choose to do now, but it's helpful to realize that there are still applications where the knowledge of gulp, jquery, or bootstrap actually could benefit me. Maybe you stumble across this post and you're also just getting started with coding. Should you skip over these if you're blazing through the freecodecamp curriculum like I was? Maybe. Or maybe you should just know ahead of time it's not something you need to become a master at.
If there is one thing I know as a "developing developer," it's that you are always learning new things and putting aside other things you've learned. I've been doing this a year and that's already very well established. You need to have a growth mindset (as we say in teaching land) and a lot of grit. Looking back on my "useless learnings" has just taught me to continue learning even more. Every once in a while you might realize you spent time learning something that you don't use that often (or ever), but if you find yourself in that space, you can always look for the positives in how learning without using can make you a more resilient developer in the long run.
Top comments (6)
I'm not really full stack. Years ago I wrote cool stuff in Javascript (like a medical monitoring EKG) but in more recent years it's all been Python and other backend things. I did do a course on React last year, which was interesting but I haven't used it in production
Strikes me you will always be "wasting" your time learning a particular toolkit, library or system unless it is truely an industry standard
If you look at the Stackoverflow survey of tools for 2018, the top 3 are Node.js, Angular and React. So pick one of them and work your way out sideways
Right. Obviously, I don't really think that I wasted" time learning those things. There are always things I learned through the process that has helped me, even if just practicing what I already knew. Diving deep into understanding vanilla Js has been the biggest benefit to me. I am working almost exclusively in React these days, but it's wonderful to be able to look at Vue documentation or hop on any documentation and essentially get the gist of things because I understand how all of it is working from the get-go.
I almost cried when they announced that Google is discontinuing active development on Angular.js (v1.x). It felt like a slap on the face. This was because I had invested a whole year learning it and building one of my side projects with it. But regardless, it got me started on design patterns in web development (MVC) and that's one thing that I don't regret learn it.
Great post. I think it is a great idea to take a moment to go over the things one has learned. It can help in the times when you don't feel like you have made any progress and helps to reinforce the idea that there is always things to learn even when you are a professional with years of experience. The web is always changing and new things are always on the way. It is a great habit to have to continue learning.
Frameworks will always come and go but they're all based on the infamous web trilogy html, css and js. Generally speaking if you understand those then you'll know what's under the hood of all these glorious technologies constantly being rolled out. After that it's much easier to decide what's worth your time. Inevitably it takes time to learn what we need to learn. I have a huge scrap pile of projects that represents that curve. π
Don't be to hard on yourself. We all do / did this.
I don't think that there is such a thing as wasted time when it comes to coding (except maybe gulp...). I have started many projects in obscure languages and frameworks that went absolutely nowhere, but it made me the dev I am now.
First of all, you have become more careful when it comes to libraries and frameworks. Next time you'll be able to judge if you need it and why. You won't just grab the first thing you come across but you will fist examine who made it, if it's mature and if it will be around for long.
Secondly, you learn how to absorb knowledge. You learn to read and understand documentation and how to use that knowledge. The next framework you'll have to learn will go even quicker.
I personally don't think there is anything wrong with frameworks and they will always come and go. Next time however, you will ask yourself "do I really need it, and why?" And you are a better developer for it.