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

Certifications

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

Related Sites