Tanner Byers

Learning Java for a Corporate Career

4 min read

How to Learn Java for a Corporate Career

A friend of mine from a corporate work env reached out for advice on learning Java.

I think there's at least one other person who could use this so I decided to make a post of my answer.

First thing I have say is, learning is about absorption and repetition. Don't stress the details while learning. You will fill them in as you create things and need to understand. It's way harder to read and reread the same information line by line (at least for me).

learning to code is all about repetition.



The second thing I need to say is Java is not the first language I would recommend learning. This is because it requires a lot of boilerplate, abstractions, and focus on OOP, which are all great for when they're needed but they're a lot to learn on top of practical coding.
These are great for corporate implementations (large teams, ownership transfer, verbose code leads to self documented code).

Funny meme about java not being good first language to learn

I want to point out that I did not make this meme so this is obviously a correct opinion. I also recommend python or javascript for first languages if you wanna make fun stuff really quickly.

Focus on Building

Remember, learning to code is best done through practical application. Instead of overwhelming yourself with the infinite things you can learn, concentrate on building projects and acquiring the necessary knowledge along the way.

If you're brand new to coding, I highly recommend you read this book I found (it's only 9 pages)
7 TIPS ON HOW TO THINK LIKE A PROGRAMMER

Steps to Learn Java

  1. Set Up Your Development Environment

    Ensure you know which version of Java is used in your target industry or company. Options can range from legacy Java 8 to the latest Java 22 (legacy now). Tailor your environment accordingly.

    Here's a comprehensive guide to setting up your Java development environment: How to Set Up a Java Development Environment

    Bookmark Essential Resources
    Keep handy references like the Java® Language Specification (JLS) for your chosen Java version. Bookmark resources like the Code Conventions and the JLS documentation (Java SE 8 JLS) for deeper understanding.
    If this sounds like gibberish, thats okay. Just save these in a resources folder in your browser and if you get stuck trying to do something, start searching on these and then stack overflow, and then google.

  2. Studying (dont spend more than a month here)

    Start by watching introductory videos like Learn Java in 14 Minutes on YouTube.
    Then, leverage free resources on:

    Focus on understanding, not remembering. It's impossible to remembering everything you learn. Just use then and repeat exposure till it sticks! Java fundamentals, syntax, variables, and control statements. Start there and try building something with the frameworks and toos below.

  3. Explore Frameworks and Tools

    Increase your Java productivity with tooling and frameworks like Spring, Spring Boot, Maven, and Gradle.

    Spring and Spring Boot

    Spring is a powerful framework for building enterprise-level Java applications. Begin by understanding the core concepts of Spring, such as dependency injection, Spring MVC, Spring Data, and Spring Security. These are used in a lot of professional Java-based corporate projects.

    Advice: Dive deep into the official Spring documentation to grasp the fundamental principles. While the documentation is dense, focus on understanding how Spring simplifies development tasks and promotes best practices.

    Once comfortable with Spring, transition to Spring Boot. Spring Boot streamlines the process of setting up and deploying Spring applications by providing auto-configurations. Saves you a lot of boilerplate.

    Familiarize yourself with Spring Boot starters.

    Tip: Explore real-world Spring Boot projects on GitHub to observe best practices and implementation patterns. You can use github filters to find most popular libraries whenever you're learning!

    Maven and Gradle

    Maven and Gradle are build automation tools essential for managing project dependencies and building Java applications. Both offer advantages, so understanding their nuances is crucial.

    Advice: Start with Maven due to its widespread adoption. Learn to structure projects, manage dependencies, and execute build lifecycles efficiently. Understanding Maven's POM (Project Object Model) is key to mastering its capabilities.

    Once comfortable with Maven, explore Gradle, especially if you encounter projects that utilize it.

    Tip: Practice creating custom build scripts and plugins in Gradle to tailor the build process to specific project requirements.

  4. Undertake Projects

    Apply your knowledge by working on practical projects. Start with small applications and don't worry if you don't finish them.
    We're building these to learn, not to deliver code complete projects.
    I've got a running list of application ideas here but I recommend you build whatever you're interested in! I have over 50+ dead projects just floating in Github

    meme of github dead repos

Remember to have fun along the way! Take your time, you're not getting paid to learn this (YET).

By following these steps, you'll be somewhat prepared to use Java at work!


Looking for more learning resources? Check out how I approach building scalable solutions. Want to discuss career growth in tech? Let's connect.