In 2012, Jeremy picked up Java as his first programming language. Since then, he has used the language in various capacities including personal projects, academia, and industry. In fact, he has been teaching introductory Java for over 3 years now.

In terms of skills, Jeremy is comfortable with many of the object-oriented programming features of Java including inheritance, abstract classes, interfaces, and generic types. In addition, he regularly uses JUnit for testing and Javadoc for documentation. For an example of his work, check out this Lisp Interpreter.

In general, Jeremy is most familiar with the “old style” of Java which predates features like streams and lambda functions (i.e. Java 8).

In 2014, git became Jeremy’s version control tool of choice. Since then, he has used the tool for over 40 projects on platforms like GitHub and BitBucket in both personal and enterprise settings.

In terms of project management, Jeremy prefers to use a simplified Gitflow Workflow. In other words, he tends to create a develop branch off of the main branch. From there, feature branches are branched from and merged into the develop branch. When the develop branch is stable, it’s merged into main.

In addition, Jeremy likes to leverage continuous integration (CI) tools like Travis CI when working on a project. As a result, many of his projects benefit from constant testing.

To see his preferred workflow in action, check out the Sample Programs repository which he currently maintains.

In 2017, Jeremy picked up Python for the second time. Back then, he was working at General Electric when he was asked to take some existing scripts and make them a bit more robust.

Since then, Jeremy has fallen in love with the language, and he currently recommends it to anyone looking to learn how to code. In addition, he has written over a dozen articles on common Python topics like:

In fact, some of these articles even have accompanying videos.

Likewise, he has had a lot of fun putting together small automation scripts. For instance, all of his featured images on his blog are generated using an image titling script. In addition, he wrote one script to automatically grade his students’ assignments and another script to generate a GitHub wiki for his Sample Programs project.