Michael Bowman

Full Stack Software Engineer
and Educator from
Dayton, Ohio

Profile

I am an experienced full stack software engineer from Dayton, Ohio, who has led many projects through design, development, and delivery. My expertise is in building web-based mapping and data visualization applications with JavaScript. Through my experiences as a developer and team lead, I have worked with a wide variety of software technologies and development techniques. In addition to my day job, I teach Computer Science courses to evening students at Sinclair Community College, and volunteer on the leadership teams for the Dayton Data Visualization and Code for Dayton meetups. 

Skills

Libraries and Frameworks

React, Redux, Angular, D3, Leaflet, OpenLayers, jQuery, Webpack, Gulp, Grunt, Babel, Jasmine, Sass, Bourbon, Neat, Bootstrap, FontAwesome, US Web Design Standards, Node.js, HapiJS, Express, Jekyll, Django, Spring, Struts

Programming Languages

JavaScript, Python, Java

Miscellaneous Tech

PostgreSQL/PostGIS, MongoDB, GeoServer, Photoshop, Illustrator, Sketch, QGIS, Atom, Docker, Jira, Jenkins

Work History

Principal Software Engineer, Applied Information Sciences

Dayton, Ohio – 2014-Present

Security Clearance: TS/SCI. Principal Software Engineer for several contracts for the National Geospatial-Intelligence Agency (NGA) and the National Air and Space Intelligence Center (NASIC) developing web-based mapping and data visualization applications for intelligence analysts. Worked closely with end users to understand their job functions and needs first, then built tools to help distill a large amount of complex data into a useful format and answer key intelligence questions. 


React, Angular, D3, Leaflet, Sass, Node.js, Docker

Adjunct Professor, Sinclair Community College

Dayton, Ohio – 2014-Present

Adjunct professor for the Computer Information Systems department, teaching an evening programming course one night a week. Instructed students from a wide range of backgrounds, ages, and skill levels. Courses taught include Introduction to Problem Solving and Computer Programming (C++), Web Development with HTML and CSS, C++ Software Development, and Java Software Development.


C++, HTML/CSS, Java

Principal Software Engineer, Booz Allen Hamilton

Dayton, Ohio – 2011-2014

Security Clearance: TS/SCI. Lead software developer for NGA Innovision’s GIAT Research and Development lab at NASIC. Led an agile, 10 person team responsible for the rapid prototyping of software to provide new capabilities for use across the intelligence community. Performed a wide variety of software development tasks, from gathering, mining, and warehousing extremely large datasets to designing and developing forward-looking user interfaces using front-end web technologies.

D3, jQuery, Open Layers, Angular, Node.js, Django, Python, Java

Senior Software Engineer, Moreover Technologies

Dayton, Ohio – 2010-2011

Developed software in Java for a news and social media startup. Wrote specialized “Harvesters” for scraping specific types of content off of websites (blogs, news articles, and used car listings). Used cloud computing technologies (Amazon EC2) to scale out content harvesting and data mining tasks. Worked as a part of a distributed development team with members in Dayton, Washington D.C., and London.

Java, Spring, Struts

Principal Software Engineer, General Dynamics

Dayton, Ohio – 2007-2010

Security Clearance: TS/SCI. Worked as a technical lead for the user interface team on a number of projects supporting NASIC. In addition to my programming duties, I mentored junior members of the team on software engineering best practices and drove the adoption of agile software development techniques such as Test Driven Development, Continuous Integration, and Scrum, leading to higher quality software developed faster.

ExtJS, Java, Spring, Struts

Senior Software Engineer, Engyro Corporation

Cincinnati, Ohio – 2006-2007

Developed several of the Engyro non-Windows monitoring agents for Microsoft’s System Center Operations Manager, allowing customers to monitor their Linux/Unix servers and software (such as Apache HTTPD and Oracle DBMS) alongside their Microsoft assets. Worked in a very dynamic environment where schedules and features were constantly changing based upon customer feedback and needs.
Engyro was acquired by Microsoft in March 2007.

Java, .Net

Software Engineer, Red Hat

Raleigh, North Carolina – 2004-2006

Worked on the Red Hat Network Satellite Server product helping to deliver bug fixes and new features to customers on a tight release schedule. I worked on the server-side team, responsible for developing the web interface and APIs to allow system administrators to update and manage a large network of Red Hat Linux machines easily. Day to day activities consisted of writing code for the Java-based web application, documenting code and best practices, writing test plans, preparing level-of-effort time estimates for project management, and helping team members debug code. Worked as a part of a distributed development team with members in Raleigh, Boston, and Portland.

Java, Struts

Public Work

Americons

http://americons.us

Americons is an open source icon font and SVG library I developed in early 2017. It provides developers with an easy way to incorporate state outlines into their projects. The state SVG files were developed using TIGER shape files from the Census Bureau, D3, JSDom, SVGO, and NPM/Node.js scripts to automate the process.

Dayton Data Visualization

http://daytondv.org

I founded the Dayton Data Visualization group in 2014 to gather Dayton area experts to network and share knowledge. I organize the quarterly meetups and maintain the website. The group has grown to over 300 members and has hosted a number of great speakers on a wide variety of topics.

Code for Dayton

http://codefordayton.github.io/opendataday2017

I am on the leadership team of Code for Dayton, the Dayton area Code for America brigade. I’ve organized and led development projects for the Dayton RTA and Five Rivers MetroParks (the Dayton regional park system). Recently, I organized our 2017 Open Data Day event, gathering data, developing the website, and promoting the event to the local community.

Flock

https://appliedis.github.io/demos/flock

Led a four person internal R&D team in the development of Flock, a signature clustering concept application. This application consists of a back-end processing system built on Apache Spark and its machine learning library to categorize incoming 2D signatures into profiles. Analysts can then go in through the web application and annotate and comment on the different types of signatures in the system.

Conference Presentations

Designing Beautiful Maps with D3.js

http://bowmanmc.github.io/designing_maps

Dayton Data Visualization (Dayton, OH – Nov. 2014), Chicago Web Conf (Chicago, IL – Feb. 2015), FOSS4G N/A (San Francisco, CA – Mar. 2015),  Code Pen Dayton (Dec. 2015)

Squatchin with D3.js

https://github.com/bowmanmc/squatchin

JS.Geo (Philadelphia, PA – Aug. 2015), Dayton Web Developers Meetup (Dayton, OH – Jan. 2016)

Web Mapping Workshop (Dayton, Ohio – Sep. 2016)

https://codefordayton.github.io/mapping_workshop

Dayton Data Visualization, Code for Dayton, and Girl Develop it (Dayton chapter) worked together to author, organize, and host a half day workshop for their members. I authored and taught the workshop covering usage of the Leaflet JavaScript library for web mapping.

Education

Wright State University – Dayton, Ohio

Master of Science, Computer Science, 2013

Miami University – Oxford, Ohio

Bachelor of Science, Computer Science, 2004

envelope github linkedin linkedin file-pdf ohio