Who I Am
I am a team player, and I have worked successfully
with Roofers at Alois to medical professionals at the Medical College of
Wisconsin to students of all backgrounds at UW Madison and various other colleges,
and now with other software development professionals.
I strive to do the following as reliably as TCP:
- Be understanding and empathetic
- Admit when I make a mistake
- Be open-minded
- Ask why
- Listen
- Adapt
- Learn and Improve
Professional Experience
My first software development position has been a fantastic and unique experience.
Working on the Midwest Insurance Company (MIC) development team has been exactly what
I hoped for - due to our small team, everyone works on all of the applications - there are no development silos.
On top of that, the business model is very unique in that MIC has hands in all parts
of workers compensation insurance, leading to a truly diverse set of maintained applications.
Tools
Because of the aforementioned business model, I have had the opportunity to learn a ton of different tools and
techniques. Over the past 2 and a half years I have been rewarded professional experience in the following:
- A large leased legacy Java code base - namely our total package workers compensation application
- Java frontend framework ZK
- Large MySql and Oracle Sql databases
- Spring Batch and in-house batch jobs
- VMs in vSphere and using Chef (Infra) to provision them
- Jboss and Tomcat servers
- Gerrit code review system alongside Git
- Build and deployment automation tools, Maven and Jenkins
- Data with ORM tools/frameworks, including EJB, Hibernate, and Doctrine
- Scripting in PowerShell and Ruby
- Interfacing with Microsoft Azure with LDAP queries
- Generating dynamic pdfs via templates with Adobe Designer
- Atlassian tools, namely Confluence, Jira, and GoLive
- PHP, JavaScript, and GWT
- Analyzing data in Excel
While many of the technologies I used may not be relevant to your company,
my aim is to show that I have the abliity to be successful with complex development toolchains,
including your own if I am given the chance.
Responsibilities
MIC had an Agile-esque continuous integration development cycle, and due to the small team,
I was expected to implement changes for and work with all of the above technologies,
in addition to working as quality assurance for other developer's implementations.
Every patch is scrutinized by Technical Leads and eventually the CIO before merging,
which gave me immediate feedback on my code quality and how to improve it.
After that, I was charged with monitoring production to confirm the patch
deployed and no unforseen issues arose.
I have been successful on the team, and was trusted with the opportunity to mentor
the next new-hire developer a month after completing my first year in the field.
Origins
I spent my first year and a half of college planning to acquire a biology or chemistry degree.
During that pursuit, I spent a good deal of time creating various programs. Some aimed
to help me stay on top of my coursework, some were games, others were just fun, like this
cursor-chasing pet program.
By the end of my first year I realized what I really wanted to pursue: Computer Science.
My desire to learn more was not satisfied by the traditional coursework alone - soon
I found my time split completing online coursework such as the
Odin Project
along with my studies at the University of Wisconsin-Madison.
As long as I can remember I have sought to challenge myself and grow. It was those traits
that drove me to complete as much rigorous coursework as I could in high school and then again in college.
That extra effort was worthwhile - I obtained my undergraduate degree in only 3 years,
saving myself a year of college debt.
Following graduation I stayed the path, consuming whatever resources I could get my hands on.
"Uncle Bob's" clean code lesson series on YouTube, the Gang of Four's Design Patterns,
and Knuth's Art of Computer Programming (v. 1), among countless tutorials and
crash courses.