Michael Knapp
Professional Experience
Capital One
October 2016 – March 2023
Lead Software Engineer
- Lead a team of software engineers developing the Enterprise Realtime Machine Learning Model Service. Coached and mentored peers as needed.
- Designed software system architectures to be highly available, fault tolerant, secure, performant, scalable, loosely coupled, and maintainable.
- Developed docker images, helm charts, Argo applications, Kubernetes operators, and APIs.
- Supported end user troubleshooting, and was on-call to recover services in any incident.
- Wrote CICD pipelines to deploy resources with zero downtime.
- Followed Agile/Kanban/scrum delivery life-cycles.
- Integrated applications with many external services.
- Worked in a strictly regulated environment.
- Worked extensively with: AWS, Kubernetes, Docker, Helm, Argo, Golang, Bash, Python, Java, NewRelic, DataDog, Splunk, Istio, git, Seldon, Jenkins, PagerDuty, Lambda, DynamoDB, NiFi, and JIRA.
WaveStrike, LLC
March 2015 - October 2016
Software Engineer
- Developed Spark, Scalding, and Hadoop map/reduce algorithms (written in scala and java) to ingest and analyze a large distributed undirected graph.
- Developed a DropWizard (Scala, Jetty, Jersey, Jackson, Yaml, Logback, Docker, Marathon, etc.) web service to query the graph.
- Used git, maven, and Intellij daily.
- Routinely wrote bash scripts and cron jobs.
- Worked on an agile development cycle using JIRA.
Chiron Technologies, Inc.
April 2011 - March 2015
Software Engineer
- Developed software to ingest, parse, persist, index, query, marshal, and retrieve community reports using Java, Solr, Accumulo, and many other technologies.
- Developed restful web services to deliver reports, metadata, entities, and similar data to a web application using Jetty, JAXRS/Jersey, JAXB2, Spring, Maven, Java, etc.
- Added web application features such as audit/access logs, performance tracking, improved domain model, abstract persistence services, spring aspects, and more.
- Integrated code with JMS and a web based storage service similar to amazon’s S3.
ProObject, Inc.
July 2009 - April 2011
Junior Software Engineer
- Programmed applications in java to report on website metrics and usage.
- Developed automated Java scripts to test web pages and identify problems
- Provided Lifecycle support by providing bug fixes and program enhancements
- within Adobe Flex and Adobe Air in support of a mission tracking/reporting application
- Regression tested software code and provided approval for deployment to production
- Documented source code functionality using javadocs and UML diagrams
- Utilized JMeter, JUnit, HTTPUnit, and manual testing to test web-pages
Education
- M.S., Engineering Management, George Washington University (2010)
- B.S., Mechanical Engineering, UMBC (2006)
Professional Development
- DevOps World 2018
- Uber Conference (July 2016)
- NGINX Advanced (2015)
- NGINX Fundamentals (2015)
- Real-Time Analytics With Apache Kafka (by edureka! 2015)
- Introduction to Data Science by Washington State University (free online training, 2014)
- Enterprise Integration with Spring (2014)
- Mongo for Java Developers (free online training, 2014)
- Oracle’s Mysql 5.6 Developer Training (2014)
- Cloudera Introduction to Data Science: Building Recommendation Engines (2013)
- Intertech Hibernate Training (2013)
- Spring Core (2012)
- Cloudera Hadoop Core Training (2011)
Conference Presentations
- Maintainable Bash Scripting
- Implementing SaaS on Kubernetes
- Kubernetes Tools for Isolation
Certifications
- Certified Machine Learning Specialty (2021)
- Certified Kubernetes Administrator
- Certified Kubernetes Application Developer
- AWS Certified Solutions Architect Associate (2017)
- Kafka Developer, certified by edureka!
- Sun Certified Java Programmer, java 1.6 (SCJP, 2011)
- MongoDB Certified Developer
- HBase Developer
- Spring core developer
- Cloudera Certified Hadoop Professional (2011)
- Fundamentals of Engineering Exam (FEE), Mechanical Engineering (2010)
Frameworks and Libraries
- Programming Languages: Golang, Bash, Python, Java, Scala
- Distributed Processing: Hadoop (map/reduce, HDFS, CDH), Spark, Apache NIFI
- Databases/Datastores: Accumulo, MySQL, HBase, MongoDB, DynamoDB, Postgres
- Serialization: Protocol Buffers, Avro, GRPC
- Web frameworks: Gin, Jersey (JAX-RS), Nginx, Jetty, Apache Tomcat
- Streaming Frameworks: Kafka, NIFI, Spark, JMS, Lambda
- Micro-Services: Docker, Kubernetes, Helm
- Operating Systems: Ubuntu, CentOS, Alpine, Darwin/Mac
- CICD: Jenkins, ArgoCD
- IDEs: Intellij, Eclipse, VSCode
- Agile Tools: JIRA
- Documentation: github pages, hugo, Confluence, markdown
- Code Quality: Junit, Cobertura, PMD, Sonar
- Logging: ELK, Splunk, Fluentd
- Monitoring: DataDog, NewRelic, Grafana
- Code Versioning: Github Enterprise
- Dependency Management: pipenv, conda, virtualenv, go modules, Maven
- Other: Spring core and enterprise, Hibernate