Java 5 years of experience
I started using Java in my AP Computer Science class in high school (2011). A month or two into the class I began taking interest in Java development for applications. At the time I had begun playing Minecraft and, after realizing it was written in Java with a strong modding community, I dove into sparse documentation on how to make my own mod.
My first Minecraft mod, the Chaos Staff mod, was one I made with Evan Durfee in 2011. Basically, it wrecked havoc wherever you aimed it. You could turn a hillside to gold, smite monsters with lightning, or even plant them as saplings. In this project we started to learn Git, applied our in-class knowledge of Java, and we learned the basics on how to make a Minecraft mod.
My second mod, mcStats, I made myself in 2012. This one added RPG-style elements to the game so one could “level-up” their stats after performing an action enough times. These levels would then give bonuses after certain levels were reached. I maintained this mod much longer than the Chaos Staff and I learned a great deal more about how Java applications are developed. Primarily, I learned some basic design patterns and the essentials of OOP from just this project. After realizing how difficult maintaining this mod was becoming, I began to look for more sustainable application ideas.
In 2012, I began working with Jacob Ingalls on a Java game engine to support our friends’ ongoing idea of making a game. We named it Arc after Iron Man’s Arc Reactor. The library we set out to make was designed around the Lightweight Java Game Library (LWJGL), which was a Java OpenGL and OpenAL implementation for graphical and audio rendering. Although the game idea did not take off, the game engine library eventually became quite stable and we iterated on it for about two years.
After realizing Arc was becoming to complex for our simple understanding of graphical programming, Jacob and I decided to move on. We began brainstorming what sort of applications we had always wanted but the solution for which had not yet been designed. An early idea we came up with we call “Noonian” today. Though we decided to write the web app in Scala, most of our experience programming Arc in Java helped prepare us for making the leap.