ethan5191@hotmail.com

Ethan G Vanderbur

812-701-6110

I've updated my portfolio! Check out the latest version here: My Updated Portfolio

Home

Graduated from IUS...
College Studies...
Started at TSO...
Why I do this...
I graduated from Indiana University Southeast in 2014 with a Bachelor's degree in Informatics. I chose informatics over computer science because at the time I thought I would prefer a role as a product owner instead of a developer. Over the years of working as a developer though, I have come to realize that I am much more comfortable as a developer and enjoy being a developer a lot more than I would ever enjoy being a product owner.
My college studies had me learning to work with Java, C, C#, PHP, HTML, and CSS. For my capstone project I was the developer on a three-person team that created a new website for the New Albany fire department. For this project I learned to use Joomla and created an interactive calendar in PHP. We created a basic HTML admin suite as well which allowed the admins to make specific changes to the way that the calendars rules were enforced. The database for this application was a MySql database run through PhpMyadmin. It was in this capstone project that I realized how much I enjoyed the challenges that working with code can present.
I joined the United States Marine Corps working at the TSO in July 2015 as a contractor. A year later I had progressed enough to earn a spot as a federal civilian as part of the USMC. I have grown from a new developer to a seasoned Java developer who can comfortably lead a development team. I have been lucky enough to work with some great people during my time at TSO. My product owner, supervisor, and numerous former team members have all made working on MROWS an absolute pleasure. My time at TSO has taught me to become more detailed in my coding technique. As a consequence of this, I have encouraged my young developers to also try to be as detail oriented as possible.
The short answer of why I do this is because my wife and daughter depend on me to do it, to provide for them. Outside of that I enjoy working with code and solving problems using code. Growing up I always wanted to build stuff like my friends who were good with wood working, but I didn't have the skills to do so. With code, I am able to 'create' stuff. It's not the same as wood working for instance, but it's close enough, and I enjoy it. Plus it's nice being able to work with code and do simple things like auto login to an app, or easily track your families finances with just a single click.

My current role

  • I am the development team lead on the team that supports MROWS, MCPDT, and MCSOR. (Mcsor hasn’t had any actual content changes since 2018, other than a log4j update). I have been the team lead since the fall of 2019.
  • Our team is made up of 5 developers, 1 scrum master, 2 product owners and 2 help desk individuals for MROWS, and 1 product owner and 1 help desk individual for MCPDT.
  • We operate in 3-week sprints, typically 15 working days. Our sprints start with a sprint planning, usually have 2 backlog refinements throughout the sprint, and end with a sprint review and retrospective. We are an agile development team, as agile as federal policy allows anyway.
  • My day-to-day tech stack contains Java 8, Oracle SQL, HTML, CSS, JavaScript, Jquery, Spring 5+, Struts 1 and Fortify.
  • My day-to-day work has me using IntelliJ, Pl/Sql, Tortoise SVN, Maven, Jenkins, Atlassian JIRA, and Weblogic.
  • As team lead I:
    am the first one contacted should there be any potential production issues.
    am also the one contacted should any new users require access to MCPDT. New user’s for MCDPT require having there info added into the database via a one time script before they can actually access the app.
    handle all final builds using Jenkins, and I am on all release calls to ensure our database changes are properly deployed to production. Our organization has its own branch that handles doing deployments, so I am not hands-on in that regard.
    am the one that is on the audit calls whenever we have audit meetings. I also handle any audit requests for queries from the database or screenshots of the code.
    mentor young developers from different backgrounds to get them up to speed on the applications. I also work closely with them individually to ensure that they are progressing there development skill set.
    do final code reviews and fortify scans before the final production build. I do this to ensure that we are following best coding practices and to ensure we are not adding fortify findings.
  • I strive to have no production issues for all the applications my team supports. I take it as a personal failure when one of our applications has to have an emergency release to fix a production issue, regardless of who committed the change. As team lead I expect to catch any issues that my less experienced developers might miss.
  • All the developers on my team are full stack Java developers. Each of us is expected to work on both front-end and back-end parts of the applications.
  • We use Jira’s X-Ray for manual testing and use Confluence for our design documents and any other important documents.

Tech stack used
Java 8
Struts 1
Spring 5+
Oracle SQL
JSP, HTML, CSS
JavaScript (Jquery)
Hp Fortify (MicroFocus)
Weblogic
Jenkins
Soap Web services
MROWS Web application
  • Marine Resource Order Writing Service (MROWS)
  • Monolithic web application.
  • Java Backend.
  • Basic HTML, CSS, JSP, with a little JavaScript and JQuery for the UI.
  • Weblogic servers.
  • Oracle Database.
  • Struts 1 application that is slowly been migrated to Spring MVC.
  • MROWS is used to create orders on reserve Marines. These orders can be for training, school, activation, or other things. The orders instruct the Marine where to go, when they are traveling, how they are traveling, who is paying for it, and how much they are estimated to get paid. Specific orders that are PCS will get sent to MCPDT for their per diem and funding lines.

Personal MROWS accomplishments (June 2015 - Present)

Reserve Travel Module
Working with another dev team we created a Soap web service between MROWS and DTMS. This web service allowed Marines to complete and submit a travel claim electronically after finishing their orders. This resulted in the Marine getting paid in hours instead of weeks. I worked closely with my team lead to design the database structure for the travel claims. We also created the Soap web service call to DTMS, and created two web services in MROWS that allowed DTMS to send us either reject or recon claim information.
DAI Initiative
The DAI initiative was the USMC wide transition from the SABRS accounting system to the DAI accounting system. This involved determining which orders in MROWS needed to go to DAI, populating the newly created DAI tables, and building the process to create the XML file that was sent to DAI. The team also created a process to receive and parse DAI acknowledgement files so that we could track the status of the orders we had sent to DAI.
HP Fortify
Our team was one of the first teams to get HP fortify setup. As a result, we lead the charge in creating common solutions for the rest of our division to use to remove findings across the division. Over the span of about 3 months we worked to remove almost 5000 security findings that existed in MROWS and other applications within the division.
Hudson to Jenkins
I worked closely with an experienced engineer to get the MROWS build process moved over to Jenkins. This involved creating a JenkinsFile and setting up the different jobs for test and production builds. The result was a faster build process that is now 100% auditable. The Jenkins process does the entire production build process. It merges the release branch into trunk, creates a tag, does the fortify scan, and creates and stages the MROWS war to that is to be deployed.
Spring Migration
In 2018 the team began the long process of learning to use Spring MVC and migrating MROWS from Struts 1 to Spring 5 using the MVC architecture. I took the lead on this project and created the blueprint for converting two of the bigger areas of the application. This process involved converting our old action classes to Spring controllers and services. We also had to remove the old struts html tags and replace them with JSTL tags.
iReport Migration
When the DoD purchased iText 7 licenses for all applications, we were forced to add it to our application. That way any new PDFs that we create will be created using the newest version of iText. This caused us to have to migrate all of our old reports off of iReport and recreate them using Jasper Soft Studio. I took the lead on this project to transfer all of our reports. To date I have about 20 of the 107 reports moved over.
Other
  • Creating numerous admin pieces to allow specific changes to be handled by application administrators. This alters the way specific parts of the app work.
  • JQuery UI migration was migrating a small part of the application to test using JQuery as the new UI of the application. This has been put on hold as the division decides what UI tools it wants all applications to use.
  • Reporting Endorsement module, was a new piece that was created to give order writers the ability to create an endorsement on any order. I created the initial inbox and helped with database design work, but was mainly a tester on this project.
  • Updates to numerous logic pieces throughout the application. Over the years I have altered many different parts of the applications business logic.
  • Mentoring young developers. Since the end of 2019 I have been the team lead. This has seen me mentor numerous young developers on my team. The young developers I have helped have had different backgrounds.

Tech stack used
Java 8
Struts 1
Oracle SQL
Hp Fortify (MicroFocus)
Weblogic
Jenkins
Soap Web services
MCPDT Web application
  • Marine Corps Per Diem & Travel (MCPDT)
  • A bunch of different SOAP web services.
  • Java Backend.
  • Minimal UI that is HTML, CSS, and JSPs.
  • Weblogic servers.
  • Oracle Database.
  • Struts 1 application. Will eventually get moved to Spring MVC in the future.
  • MCPDT provides SDN's and lines of accounting for PCS orders. Other applications like MROWS, call MCPDT's web services with there order data. MCDPT determines what type of order it is and responds with all the per diem and travel funding information that specific order requires. As of today MCPDT hosts web services for 4 other applications, with a 5th web service being added this fall.

Personal MCPDT accomplishments (July 2022 - Present)

End Of Year Processes
Our team took over the MCPDT code base in June 2022. The fy closeout in September 2022 was the first time that we had to handle the numerous database scripts to set up the 2023 funding lines. MCPDT is a funding application that calculates travel and per diem funding for different types of orders. Since it deals with funding it is paramount that this application works properly. As the team lead, I took on this responsibility to work closely with the product owner to ensure that all the scripts were put together correctly and ran without issue. This lead to a successful start to the 2023 funding year, with MCPDT continuing to create funding lines for all the different services that call it.
April 2023 changes
The April 2023 release saw numerous changes to the data that MCPDT received from MCTFS on its nightly feed. These changes required updating the type files that read the feed files in every night to ensure they could handle the new file layouts. We also had to pick up a new file as well as there was new data being passed the MCPDT needed for future projects.
SLOA
As part of the DAI transition, all applications are required to change from the LOA to the SLOA by October 1, 2024. MCPDT intends to be ahead of the ball on this deadline, as we are working on getting the SLOA fully implemented into our system by October 1, 2023. I worked closely with the product owner to get the proper table structure created. I then updated the business logic to ensure that both the LOA and SLOA are attached to a given order. This way all of our connecting applications can still use the LOA for now, but when they decide to switch to the SLOA we just have to send that info back to them. This also acts as a test as MROWS will have to change to the SLOA as well, but has more projects in front of SLOA.
DTMS Web Service
As part of the September release, we are creating a new web service between MCPDT and DTMS. This web service will allow DTMS to send travel claim information to MCPDT, we will update the funding amount on the order, and send the updated amount on to DAI. I created the WSDL, XSD, and all backing objects needed to allow DTMS to connect to MCPDT and send the necessary data. I have also added in the necessary business logic to ensure that the orders pay amount gets updated and sent to DAI.

Commonly asked questions

Biggest Strength?
Overall Java experience and being detail oriented in all phases of development work. I strive to be detail oriented when refining stories, writing and reviewing code, and when testing changes.
Biggest Weakness?
My two main weaknesses I believe are that my experience is very narrow focused due to be in the federal space for so long. I also am a very introverted person when I don't know people, so I tend to keep to myself until I get comfortable with the people I work with.
Favorite part of development?
Backend development working with Java. Java just does things in such a way that logically works for me, I think it's because everything is an object.
Least favorite part of development?
UI development. I don't have that natural feel for what people think looks good so, I struggle with CSS and designing nice looking pages. I don't like loosely typed languages like JavaScript. I can work with it, but I don't enjoy it.
Most frustrating part of development?
Probably the fact that depending on the time and day there can be multiple answers to a single problem. Depending on who you talk to, changes which solution is the best one. So it's hard to determine at times what the 'best' approach is.
Favorite project?
Reserve Travel Module. I got to work with a good buddy of mine throughout the whole process. We learned how to create Soap services together. Plus we knew what the end goal was and the benefit it was going to give the end user.
Least favorite project?
DAI Initiative. This was a poorly planned project with way to aggressive of a timeline. This led to issues on both sides when we went to production.
Favorite tech or tool?
IntelliJ IDE. Best development tool out there I think. I also enjoy working with Spring. I love the controller annotations, so much cleaner than a massive struts-config.xml. Spring controllers are also easier to explain.
Favorite Java Collection?
Seriously got asked this once in an interview. I was not expecting it at all. Set is my answer though, specifically the HashSet. I like that it's easy to use to determine if a record for a given value already exists. The .contains method is very handy. Set Interface

Family pic broke?

About Me

Family pic broke?
  • Family is very important to me.
  • I am a very open and honest person, regardless of if its good news or bad. I am not afraid to stand up and say that I caused a problem in production, and I am working on a fix.
  • Outside of work I enjoy working with code. I taught myself how to use Spring controllers while working at home with IntelliJ community edition.
  • I also enjoy many sports: racing (Formula 1, Nascar, IndyCar, IMSA, Formula E), basketball (Indiana Pacers, Indiana Hoosiers, Indiana Fever), football (San Fransisco 49ers and Indianapolis Colts), tennis, the Olympics, the women’s world cup, and the Tour De France. My weekends are usually filled with watching some kind of sporting event.
  • I enjoy playing video games, I typically play story driven games like The Last of Us, Horizon Zero Dawn, and Mass Effect. I also enjoy sporting games like Madden, F1, and iRacing.
  • Favorite music includes: Evanescence, 3 Doors Down, Five Finger Death Punch, Garth Brooks, and Jason Aldean.
  • Favorite movies include: all 3 IronMan movies, Days of Thunder, James Cameron's Avatar 1 and 2, iRobot, and The Incredibles 1 and 2.
  • I am detail oriented at work and at home. At work my detailed focus helps me ask questions in refinements that other developers sometimes don't think of. In testing my detailed focus helps me test even the most corner of corner cases to ensure that changes are working as intended.

References

Andrew Staab
Former supervisor when I first started at TSO. Mr. Staab helped me organize my resume when I was applying to transition from a contractor to a federal employee in 2016. You can view his LinkedIn profilehere.
Mitchell Phillips
Former team lead for the MROWS application. We worked on the 'Reserve Travel Module' project together. He also worked on MCDPT before our team took it over. Currently, he is co-team lead on the TMEP project at the TSO. Phone: 765-610-5892
Michael Rudolphi
Engineer for the enterprise support branch at TSO. I worked with Mr. Rudolphi when we moved MROWS from Hudson to Jenkins. Mr. Rudolphi also handles any updates to our divisions tools like Nexus and Fortify. You can view his LinkedIn profile here.
Jeff Arrowood
Senior supplier quality engineer at Cummins inc. Lifelong friend, who grew up 1 mile down the road from me. You can view his LinkedIn profile here.

Marine Resource Order Writing Service (MROWS)


Marine Corps Per Diem & Travel (MCPDT)