Introduction
You’ve reached the end of the scope of this course and should feel pretty good about your NodeJS skills. That doesn’t mean you should understand everything quite yet, but now you can build a NodeJS application with the kind of functionality which is actually useful in the real world. After all, you just built a social media site!
This isn’t the last course in the curriculum, as there is a Getting Hired course remaining. But you’re now at that period where you can consider yourself a “full stack” developer. You’ve learned how to write beautiful and intuitive front-ends for your applications and now back-end technologies to give those sites some cool features. Despite how far you’ve come, it’s up to you to keep building stuff, ask questions, and dig deeper into both NodeJS and best practices of software engineering in general.
Still, at this point you’ve got the NodeJS and Express building blocks. When you work your first six months on the job as a full stack JavaScript dev, you will learn as much information as you just did. Because the point of this course has been to instill these building blocks in you, you’re in a place to actually get that first job and build on what you know.
Next steps
This final lesson isn’t designed to explicitly teach new material, just point you in the right direction if you’d like to dig a bit deeper before moving on. Or maybe you’ll bookmark it and come back when you want to see where to head next in your NodeJS journey.
Node has a very expansive ecosystem and a lot of flexibility in how you write your code. For example, there’s a million-and-one tools and packages out there you could implement in an Express app. The best way to grow as a developer and immerse yourself in the ecosystem is to work for a company that works with NodeJS and pays you to learn. If that’s not an option, building your own stuff and reading on your own time can be a good substitute. There’s new information being created every day in blog posts, Stack Overflow posts, and podcasts.
A great first step is going through the NodeJS documentation and ExpressJS documentation and giving them a front-to-back read.
Security
As you start working on more public-facing applications, security will become more important. The ExpressJS documentation includes some advanced security best practices for more information.
Caching
Caching makes your application faster by reducing database calls. Check out this information on the ExpressJS documentation for more information. You may want to also introduce yourself to Redis if you see it in a lot of job postings in your area or resources you encounter on caching.
DevOps
Sometimes, having a little exposure to DevOps can help set you apart as a robust developer. There are various platforms out there you can start to learn from, Azure to Amazon Web Services, Heroku to Digital Ocean. While some of these offer free services, many of their services are unfortunately paid. That being said, this doesn’t prevent you from reading documentation or leveraging their free services to start getting some exposure. Heroku has extensive resources for you to dive into. Another popular provider, Digital Ocean, offers competing Droplets and their new App Platform services.
A platform we highly encourage you to begin looking into either way is Amazon Web Services. This is a platform you will likely see on job postings and on the job itself, and can be an invaluable skill to have in your arsenal.
Non-relational data
Now that you have exposure to relational databases with PostgreSQL, you might be considering what other types of databases exist; namely non-relational databases. Understanding both types of databases and when to use them can set you up for success down the road. After all, not every problem requires a hammer. MongoDB is a popular choice for non-relational databases. Resources like the Learn MongoDB website offer tutorials and documentation to get you started.
Other resources
Here are a few extra resources that will take you a bit deeper into software architecture, JavaScript and Node:
- Design Patterns: Elements of Reusable Object-Oriented Software
- Clean Code
- syntax.fm Podcast
- NodeJS Blog
If you find anything you think could go on this list, feel free to improve to this lesson in the TOP curriculum repository on GitHub!
Contributing
You know more than you think. Remember when we just said that you should keep building stuff? This curriculum is completely open source and needs your help to improve. We have a dedicated group of current and former students who help add features and proofread the curriculum. The best part is that it’s completely public and free so you can watch or participate at whatever level you’re comfortable.
It’s a great way to start learning about agile development methodologies and to start doing meaningful development work in a friendly and supportive environment. So check out the channel on our Discord to see what we’re up to. We’d love to have you get involved!
Conclusion
We want to emphasize again that the learning never really stops but also that you’ve come a long way. Keep up the good work, burn through the Getting Hired course, and get ready to start job hunting!
Additional resources
This section contains helpful links to related content. It isn’t required, so consider it supplemental.
- Additional frameworks built on Express that might be more suited to building certain types of applications.
- Explore more about APIs.
- 90 Days of DevOps is a great repo if you wish to explore more about DevOps.