6 Java language resources to get you started
Tags: java, beginners, codenewbie, webdev
Published: 2020-07-30 16:43:10

A few weeks ago, I made a post asking for resources to learn Java. The reasons for this are:
1. Applying for jobs, I first noticed that many roles at companies currently hiring called for Java developers. 
2. When I first started studying data structures and algos a few weeks ago, I noticed that certain concepts, that other languages must account for, were automated or abstracted in JavaScript.
3. After studying functional programming with JavaScript, it felt strange trying to adapt it to an OOP structure
4. I tried out Java and really loved it. As a high-level programming language, the syntax is extremely easy to read and the learning curve has not been has high as expected

In trying to find a Java community to complement my self-learning, I came across other beginners, who asked me to share the resources I've been using to make progress. After typing this out several times for several people, it maked more sense to write a quick blog post that can easily be shared as needed.

So here goes:

####My favorite (FREE) resources for learning Java:
1. [Codeacademy](https://www.codecademy.com/learn)
  - I initially started with the free intro to Java course. But the site is currently offering a scholarship which makes the pro version free for 3 months. Since then, I've started their [Build Basic Android Apps with Java](https://www.codecademy.com/learn/paths/introduction-to-android-with-java) track, which covers Intermediate Java concepts, as well
2. [Test Automation U](https://testautomationu.com/)
  - I came across this website through a tweet by [Angie Jones](https://twitter.com/techgirl1908?s=20), one of the lead instructors (and the first Black Woman to become a Java Champion)
  - As the name implies, the site is geared towards test automation, but the Java track moves pretty quickly. Initially, I found it too advanced, but after learning the basics through CodeCademy, it has a great Java track to pursue
3. [JetBrains Academy](https://www.jetbrains.com/academy/)
  - This is a great resources to use in conjunction with the IntelliJ IDE Edu. This version of IntelliJ allows you to learn Java directly in the IDE, which is more challenging than using the online Sandboxes. 
  - Doing this forces you to get familiar with using creating different classes, structuring your code properly, etc to make sure your Java code compiles.
4. [SoloLearn](https://www.sololearn.com/)
  - My first exposure to Java programming. During my commute (pre-COVID-19), I sometimes worked though the Java track on my phone. At the time, this was out of pure curiosity, but I found it easy enough to work through. 
  - The Sololearn Java track was a great intro to the Java language and to basic Java terms. Start here if you're not sure whether you would even like learning Java.
5. [freeCodeCamp](https://www.youtube.com/c/Freecodecamp/search?query=java)
  - There isn't a freeCodeCamp learning track (last I checked). But they do have a few videos directed at learning Java. See the playlist of Java videos at [this link](https://www.youtube.com/watch?v=GoXwIVyNvX0&list=PLWKjhJtqVAbnRT_hue-3zyiuIYj0OlpyG). 
  - I'm slowly making my way through the Spring Boot video for building APIS, but I still need to get more comfortable with Java project structures before really diving in. If you end up completing one of the tutorials, let me know! I would love to hear your feedback on the instruction quality.
6. [Java Programming MOOC](https://java-programming.mooc.fi/part-1)
  - This free massive open online course (MOOC) is offered by the University of Helsinki. I started the course and considered continuing, but the resources above were more than enough to assist my self-learning. But in the event that you're looking for something else, I hope this MOOC can be a great resource. 
  - The university is also offering 2 exams (beginner and intermediate Java) that you can complete and add to your resume.

This was a longer blog post for me. Though not keeping to my 1-2 minute reading time standard, I hope the information is helpful enough to warrant the number of words. With job searching, I haven't blogged as frequently. Taking an hour to jot this all down was a welcomed change of pace.

Also, if there are any resources you think should be on this list, let me know in the comments below!