Happy Coding

New tutorials

happy coding tutorials are awesome! But very basic and old technologies are explained (like jsp, servlet). I agree with you that it is very important to know the basics of everything. Today, there are technologies such as React, Spring, vue.js that make our work easier.I would love to learn these technologies from you and see them in your trainings.

1 Like

Thanks! This is valid feedback, and it’s something I think about a lot. Let me see if I can try to explain my thoughts out loud…

My Path

My path to learning web development (while building my old site, Static Void Games) was very unorganized. I started out doing everything in JSP, eventually learned more about JavaScript, then added Bootstrap on top of that. Somebody told me I should be using Spring instead of JSP, so I switched over to that. I was very confused and frustrated by Spring, and it wasn’t until I took a class in grad school where I learned about servlets that everything clicked into place for me.

Fundamentals

So like you mentioned, I think it’s super important to learn the fundamentals before you start using frameworks and getting into advanced topics. I wasted a lot of time being lost in Spring, because I didn’t understand the fundamentals of how everything fit together. In other words, I feel like I learned things in the wrong order: I learned Spring before servlets, when I should have learned servlets before Spring. That’s why Happy Coding’s Java server tutorials use servlets and JSP: because I think learning the fundamentals first is essential to really understanding what you’re doing.

Coding and Backpacking

And while I’m introspecting, I’ll also say that I think there’s merit in not going directly for a framework for everything. I see coding (especially coding as an individual and not on a team of full-time engineers) a little bit like backpacking, where everything you add has a weight. You wouldn’t want to hike 10 miles with the fridge from your kitchen strapped to your back. And I wouldn’t want to spend my weekend fighting with setting up a framework just to get a simple website up and running.

The Framework Trap

A trap I’ve seen a lot of folks fall into is skipping the fundamentals and learning a framework instead. I’ve done about 50 interviews at Google, and one of the more awkward scenarios is when somebody knows React, but doesn’t know what a request is, or how to debug JavaScript.

On the other hand, I will say that understanding the fundamentals has been crucial in helping me understand the frameworks I use at my day job. Google uses a bunch of proprietary, closed-source frameworks that you can’t find information about publicly, so it’s super important to understand what’s happening behind the scenes. Being able to say “oh this is just like JSP but with a slightly different syntax” has really helped me, in a way that I don’t think would work if I had skipped the fundamentals and tried diving straight into the deep end.

The Process

All of that said, I’m not saying people shouldn’t learn these frameworks. I just think they should learn the fundamentals first. If you want to learn Spring, cool, but I’d suggest learning servlets and JSP first, so that you understand what’s happening behind the scenes, and you appreciate what Spring is doing for you. That’s why the server tutorials currently end with learning about Struts, because I think that learning about frameworks is the logical next step after you learn the fundamentals.

So I see Happy Coding as a starting point. I want to show people the process of learning, researching, and playing around with code. To me, that’s more important than the syntax of any particular framework. And if after that they want to learn about Spring or React or whatever the hot new framework is these days, then they’ll be able to apply that process to learning anything they want.

The Future

Now all of that said, it’s not out of the question that I might write React / Spring / fill-in-the-blank tutorials someday. But it’s not going to be anytime soon: I’m currently updating the Java tutorial to use the latest Jakarta stuff. After that I’m (fingers crossed) going to be teaching an intro to web dev course, so that’s going to keep me busy through the middle of 2022. Then after that I feel like I need to dust off the Java tutorials, which will likely keep me busy until the end of 2022, assuming I don’t teach another course in the fall.

In the meantime, I like the idea of Happy Coding doing one thing well (or, at this point, 10 things pretty well) and not adding stuff just for the sake of adding stuff. Everything on Happy Coding was something that I learned for a specific reason. And right now, I’d just be learning React for the sake of adding tutorials, which isn’t really how this works for me. Someday I might have to learn React, and at that point I’ll add tutorials for it. But at this point, I’d rather leave the React tutorials to people who are already putting that work in, and I don’t think there’s much I could add that would improve what’s already out there.

Hopefully that makes sense and doesn’t come off as defensive. I think your question is valid, and obviously it’s something I find super interesting to think about.

If you do find a React / Spring / Vue / etc tutorial that you like, make sure you post a link to it so other people can check it out!

4 Likes

I have a lot to learn from you. I’m always following you.

1 Like

Ah thanks! Honestly I think we’re all learning from each other, so it works both ways!

Liking the ‘coding like backpacking’ thought. You’ll need those fundamentals when there is no trail – and eventually, you always get to a cross-country section.

1 Like

Ha! Funny how easily the backpacking metaphor came to me…