Recruiters: Please note that I live in Denver and like it that way. I'm not interested in moving or traveling elsewhere. Although I appreciate your interest, I'd rather not hear from you if the job requires that. Thanks!
(last updated 07.05.2018)
Perhaps most importantly, I am an unusually effective (for a techie, at least) written and verbal communicator. I communicate well with all levels of business and end users, verbally, in writing, and graphically. I lead by example, and am constantly improving productivity by identifying and implementing pragmatic processes and technologies.
I also offer expertise in the following areas:
Area | Experience |
---|---|
Cloud |
Amazon Web Services VPC, EC2, ELB, ECS, RDS, CloudFormation & CLI, Lambda, OpsWorks, SQS, ElastiCache, CodePipeline, CodeBuild, CloudWatch, CloudTrail, etc. |
Containers/VMs | Docker, Vagrant, Chef, Packer |
Languages | Java, Javascript, Kotlin, Ruby, Groovy, Bash |
Web | HTML, CSS, Javascript, JSF, JQuery |
Server | Spring Boot, Tomcat, Glassfish 4/5, Node.js, HAPI |
Database | Oracle, MySql, PostgreSQL |
OS | Long-time *nix user, administrator "light" |
Builds | Maven, Gradle, Ant, Jenkins, CodeBuild, Travis, Bamboo |
Soft skills | Mentorship, presentations, technical writing |
Process | Agile: Scrum, XP, TDD |
Testing | JUnit, EasyMock, Mockito, PowerMock, Fitnesse, RSpec, Jest, Lab, others |
Modeling | UML and data modeling |
Source Code Control | Git, Subversion, CVS, many others |
(03/2017 ~ current)
Platform Engineer specializing in architecture, design, and implementation of back-end APIs and the infrastructure to build, deploy, and execute them.
Technologies used: Node.js, HAPI, Sequelize, Lodash, Rambda, Kotlin, PostgreSQL, MySql, DynamoDb, Splunk, many AWS services
(06/2013 ~ 12/2016)
Tech lead and architect for a rewrite of the company's successful automated underwriting system. The rewrite involves creating a highly decoupled collection of micro-services communicating mainly via message queues (ActiveMQ), and using Apache Camel for routing, transformation, etc. Deployed locally using Vagrant and Chef, and integration, test, and production in AWS.
Was instrumental in championing, and implementing, the company's move to the cloud (AWS). Based on my research, recommendations, and DevOps work, we successfully used AWS OpsWorks and CloudFormation as automated deployment platforms using a combination of open source and locally-developed Chef cookbooks and Maven plugins.
Technologies used: Java EE 7, JPA, JSF, Drools, PrimeFaces, Maven, Git, Camel, ActiveMQ, MySql, Chef, Vagrant, Packer, AWS (EC2, SQS, S3, OpsWorks, ELB, Route53, CloudWatch), JUnit, Mockito, Infinitest, Fitnesse
Digital Answers, LLC: Panera Bread, Mountain Goat Software
(11/2012 ~ 05/2013)
Provided custom development services to Panera Bread and Mountain Goat Software.
For Panera Bread, developed a number of custom "plug-in" modules for a commercial enterprise data management package that Panera uses to manage corporate reference data. The plug-ins were written in Java Swing, and accessed an Oracle database to provide a variety of useful extensions to the package's basic functionality. Also helped to devise a "template-based" menu creation design, and the related implementation, which builds custom menus for delivery to POS devices in Panera Cafes. This solution completely avoided the costly duplication of effort in building menus that was previously required.
For Mountain Goat Software, developed a corporate dashboard using the Geckoboard SaaS platform. To provide data to the dashboard, developed custom JSON push (POST), and pull (GET), feeds using simple Ruby CGI scripts. These feeds used private JSON data extracts and third-party services as datasources.
Technologies used: Java, Swing, JDBC, Gradle, Git, JUnit, EasyMock, Oracle, Ruby, RSpec, JSON, CSS.
(09/2012 ~ 11/2012)
Contributor on the Pivotal Tracker project. Paired with other Pivotal developers to complete stories in both the front-end and back-end aspects of Tracker.
Technologies used: JavaScript, Backbone.js, Handlebars.js, Underscore.js, JQuery, Jasmine, Ruby on Rails, RSpec, Git.
ePlan Services (formerly Fast401k.com, now a Paychex company)
(02/2004 ~ 10/2012)
"When we hired Mike at ePlan, we were looking for the best architect in Colorado and I think we got one.
When Mike came in, we had a large legacy code base that didn't follow specific architecture. Today we
got most of that code moved to a well-layered architecture. Over last several years Mike led the team
to achieve technical excellence by making the right technology choices and guiding the team in adopting
them. Mike also embraced agile software development practices and strived for simple designs and collaborative
decision-making. Mike stays on top of technological developments, yet suggests simple and effective
solutions. This is very important for a small and growing company like ePlan. Mike is an asset to ePlan
and I can't imagine the team without him."
--Nanda Lankalapalli
"Mike came into a situation with a challenging, fairly buggy Java codebase. He was tasked with figuring out how we could migrate this large application from one architecture to another to support the requirements of this growing business. His ideas were instrumental to the success of the business."
--Mike Cohn
"I had the pleasure of working with Mike over the past 8+ years, whereby his knowledge and experience aided us greatly in the ongoing development of our SaaS platform. Mike was an invaluable individual contributor and outstanding leader for our development team, who I would welcome the opportunity to work with again."
--Mark Gutrich
"Mike was that rare colleague who understands the priorities of the business, holds the respect of his team, and is also a top-performer individually. Companies only get a handful of these types of people, we count ourselves lucky to work with Mike for over 8 years. A team player and quiet leader, Mike is a value to any project or team with whom he works."
--Dan Gutrich
Lead developer/architect, with responsibility for the company's 401(k) record keeping and plan operations system, from the UI through to the details of the back-end services and third-party interfaces. I was a founding member of the company's Scrum team formed in late 2003, and originally managed by Mike Cohn. Responsibilities and achievements include:
Technologies used: Tomcat 5.x, Glassfish Web Server, Java, Groovy, J2EE, Spring Framework, Velocity, HTML, CSS, Javascript, Dojo Toolkit, Hibernate, Quartz, Oracle, Windward Reports, JUnit, EasyMock, Fitnesse, Ant, Emma, Korn Shell, Ruby.
(11/2001 ~ 02/2004)
"Mike was simply one of the best developers I have ever worked with. He has a great mind for detail and
is very competent. He also has a strong ability to execute so Mike's projects get done. I looked to Mike
to provide a technical leadership role on our team based on his years of experience and his love of
software development. He acted as a mentor to our junior developers and really helped to make the
department stronger.
I'm a believer that a top performer can make a huge difference on a team and Mike
is one of those people. I'd hire Mike again any chance I got."
--David Miller
Acted as a lead developer for the MyBEA enterprise infrastructure team, which provided frameworks and services for the MyBEA suite of "member" applications (e.g., eSupport, Dev2Dev, etc.). Responsibilities and achievements include:
Technologies used: WebLogic Server (6.1, 8.1), WebLogic Portal 4.0, Java, J2EE, Oracle, JUnit, Ant, Together/J, Korn Shell, Ruby.
Digital Answers, LLC: Oppenheimer Funds
(12/2000 ~ 09/2001)
Consultant and Lead Developer on the "Portfolio Builder" project at Oppenheimer Funds. Contributions include:
Technologies used: WebLogic Server, Sybase, Java, J2EE, JUnit, JProbe, Ant, Together/J, Korn Shell, Windows CMD shell.
(6/1999 ~ 12/2000)
"In the first few months at Qwest Mike developed an application
administration module used to maintain user and work routing information.
Mike recognized and took an opportunity to make the module based on a set of
framework classes he created. He also recognized that the framework could
be used to help other applications evolve quickly...The framework represents a conservative
estimate of 78% productivity improvement for this kind of development work".
...
It is easy for me to say Mike's work paid his salary and then some in
terms of what he saved the company.
...
There is an additional and more important side effect of Mike's time at
Qwest. His example inspired a change in the development culture in our
group. Developers now spend more time and effort trying to design efficient
and correct solutions than they did before.
--Roger Burnett
"Mike Thomas makes everyone around him a better engineer. I can think of no higher compliment. Mike raises everyone's game just by being who he is. He introduce and facilitated brown bag lunches to discuss and review books, technologies, trends ... He introduced new technologies into the team, not because they were cool, but because they solved a problem efficiently and effectively. I have been trying to hire Mike again for the last 10 years. And I will keep trying for the next 10 years."
--Paul Karsten
"I just wanted to say thank you for everything you have brought to our team. I know that my understanding of Java and OO development has grown at a much more significant pace than it would have without your input."
--personal correspondence
"As you know, prior to your arrival our development team was in disarray. Instead of joining the other members who complained, you decided to take our effort to a higher level. Your leadership and experience, technically and otherwise, has made us better developers and our product a better product."
--personal correspondence
Architect and lead developer for the Work Delivery System (WDS) team. Involved in all major technical decisions that affected the team.
My major accomplishment on the WDS team was to conceive of, sell to management, develop, and deploy two frameworks:
In particular, the Web framework was estimated by management to reduce GUI development time by two-thirds. We no longer had to deploy a Java client application, which had been a source of many headaches. Our applications, which previously crashed almost daily, became true 24x7 applications. Our users were thrilled with the browser version of the applications.
Technologies used: WebLogic Server, Java, J2EE, TopLink OO/relational mapping, Oracle, Together/J, RMI.
(12/98 ~ 06/99)
Played an architect role on a number of projects using Vitria Businessware integration middleware.
Technologies used: Vitria BusinessWare, Java, SQL Server, Oracle, and Microsoft Access.
Digital Answers, LLC: FirstPlus Financial
(08/1998 ~ 12/1998)
Provided consulting services directly to the CIO, including organizational analysis, development process improvement, and the architectural review of a multi-tiered Java/CORBA-based application that was nearing completion.
Mirim, LLC
(05/1998 ~ 7/1998)
Held architect position in this accounting start-up. Responsibilities included:
Ernst & Young, LLP
(05/1993 ~ 05/1998)
"Michael is one of the best technical architects with whom I have worked. He grasps highly technical concepts rapidly, understands how to embody them in software and delivers high-quality code and designs."
--James Taylor
"Mike and I worked together at EDS from 86-93 and then again at Ernst & Young from 94-97. We have
remained in touch ever since. Though its been a decade since we've worked together, there are certain
qualities about a person you can feel confident haven't changed. I say that to set up a recommendation
for a shared work experience that's now 10 years in the past.
Mike is a quick study with new concepts;
whether these concepts are new domains or domain facets, new technologies, or new tools. He has the
ability to quickly wrap his head around these things and find the most effective path to apply them.
He is a very clear thinker. So the above hints at great design and its also true that Mike writes
great code. He has great attention to detail and demands perfection in all that he does. As such,
his code is well-considered, readable, and as robust as is required.
Mike is also an interesting,
multi-dimensional guy; having a variety of hobbies and excelling at each. When you are around Mike,
you can't help but be inspired by his excellence on the job and his excellence in life otherwise."
--Bill Eisenhauer
"For all the jokes and very sarcastic remarks I make about my progress up the E&Y ladder, I know that I couldn't have done anything without a lot of guidance and assistance and PR and I appreciate your contribution to that more than you know. I know all of my future counselors will pale pathetically in comparison."
--personal correspondence
Lead developer on many high-visibility internal projects:
Electronic Data Systems (EDS)
(01/1986 ~ 05/1993)
Lead developer on a large variety of projects on many platforms, including:
Strangling Legacy Code, Better Software, Oct 2005
Rocky Mountain Software Symposium, Fall 2004, presented "Strangling Legacy Code"