×
Jason Dobies

Jason Dobies



Background


Work Experience

Work Experience

  • Senior Principal Developer Advocate

    Sep, 2016 - Present

    Developer Relations Lead responsible for managing a team of six other evangelists. Our team goals are to build developer awareness and excitement for Red Hat OpenShift and Kubernetes, along with supporting technologies.

    • Managing a team of six evangelists, with responsibilities including:

      • Providing guidance and direction on advocacy.
      • Mentorship for junior members and interns.
      • Resource management, including everything from team workloads to budget.
    • Creation and presentation of live content, including both in person and virtual events, focusing on education and awareness of product capabilities.

    • Creation and maintenance of self-drive content for learning and evaluating the product portfolio.

    • Creation of static evangelist content, including articles, cheat sheets, tutorials, and books.

  • Principal Software Engineer

    Oct, 2013 - Sep, 20162 years 10 months

    Developer and Team Lead for projects related to Red Hat OpenStack with the following responsibilities:

    • Active upstream developer on the Heat project and core developer on the TripleO project

    • Team Lead for the management API team for Red Hat OpenStack Platform director

    • Release lead for the Red Hat OpenStack director 9.0 release

  • Principal Software Engineer

    Jul, 2006 - Sep, 20137 years 2 months

    Team lead for the Pulp project (http://pulpproject.org) with the following responsibilities:

    • Designed the architecture for the v2 iteration, expanding the RPM-centric capabilities of the initial version into a framework for supporting arbitrary types of content. This capability extends to both the admin client, allowing content type contributors to augment the client to support their particular needs, as well as the consumer agent, allowing custom management of consumer-side inventory of the given content type.

    • Maintained development responsibilities across all aspects of the application, including interactions with MongoDB, REST API design and implementation, client framework and user-visible commands, and a distributed component for load balancing and fault tolerance for consumers utilizing Pulp served content.

    • Functioned as the team scrum master, including facilitating scrum meetings, leading sprint review/retrospective/planning meetings, and management of the project backlog using Rally.

    • Product management responsibilities include the creation and maintenance of the project roadmap, and managing the interactions and requirements with four other projects within Red Hat that are using Pulp as the basis of their content management functionality.

    • Developed and maintained the build process and continuous integration servers.

    • Significant contributor to the Pulp user guide (http://pulp-user-guide.readthedocs.org), Pulp developer guide and the Pulp developer blog.

  • Adjunct Professor

    Jan, 2008 - Present

    Adjunct professor in the Computer Science department with experience teaching the following courses:

    • CSC4700 - Software Engineering (current)

    • CSC4790 - Senior Projects (current)

    • CSC1052 - Algorithms and Data Structures II

    • CSC2053 - Algorithms and Data Structures III

  • Senior Software Engineer

    Dec, 2003 - Dec, 20052 years

    Technical lead of team of five, utilizing aspects of Agile methodology including overseeing daily standup meetings, planning for rapidly changing requirements, and delivering software in short, feature driven iterations. Project user stories, task scheduling, and time collection is captured using XPlanner. Functioned as a contributing team member, assisting with individual growth and technical understanding of each member of the team.

    • Responsible for all aspects of the development lifecycle, including requirements gathering/documentation, high level architecture, system and component design, implementation, build process creation, testing, and live deployment.

    • The application is a distributed, clustered web application exposing external services via web services through hand-crafted, WS-I basic profile compliant WSDLs. Data is shared within the cluster through a database access layer developed using Hibernate. Internal message passing is handled through a JMS abstraction to allow components to be started and shutdown independent of knowledge of each other.

    • Designed and developed reusable, extensible build framework using Apache Ant. The framework serves as a base for each subproject on the contract, providing a standard set of functionality with minimal configuration by each subproject.

    • Provided on site installation and support for the Joint Forces Command Limited Objective Experiment (JFCOM LOE) through which the application partook in integration tests with similar military software, including the capture and later incorporation of operator feedback.

  • Consultant

    Dec, 2002 - Dec, 20031 year

    Designed, developed, and maintained corporate web site for Subaru of America, including:

    • Integration with Interwoven Teamsite to provide dynamic content to the web site

    • Implemented JDBC connectivity with Oracle 9.0.2 database

    • Acted as project manager for J2EE redesign of corporate intranet web site, with responsibilities including requirements gathering, architectural design, implementation, and configuration management duties.

  • Software Engineer

    May, 2001 - Dec, 20021 year 7 months

    • Developed patches and enhancements for Total-e-Server, HP Application Server and the accompanying J2EE development tool RadPak, specifically in the following areas: CMP mapping file generation, ANT script generation

    • Provided solutions to customers developing and deploying J2EE applications on HP Application Server, including technical aspects such as EJB, JSP, and JDBC as well as concepts pertaining to design patterns, performance tuning, and overall application design architecture

    • Provided solutions to customers developing and deploying Web Services-based applications, including complex data type mapping, UDDI registry configuration, and client proxy customization, as well as proper design patterns and integration with J2EE applications

    • Taught internal seminars regarding advanced Java concepts such as Swing, Threading, Collections, and Networking with a focus on Sun Certification

Skills

Skills

  • Programming (Professional)

    Python

    Java

    Javascript

    Django

    Node.js

    React

  • Programming (Academic/Hobby)

    Ruby

    Bash

    PHP

  • Containers & Virtualization

    OpenShift

    Kubernetes

    Docker

    AWS

    OpenStack

  • Operating Systems

    Red Hat Enterprise Linux

    Fedora

    macOS

Education

Education

  • Software Engineering, M.S., Drexel University

    Sep, 2003 - May, 2007

  • Computer Science, B.S., Villanova University

    Sep, 1997 - May, 2001

Publications

Publications

  • Kubernetes Operators, O'Reilly Media

    Published on: undefined

    Operators are a way of packaging, deploying, and managing Kubernetes applications. A Kubernetes application doesn’t just run on Kubernetes; it’s composed and managed in Kubernetes terms. Operators add application-specific operational knowledge to a Kubernetes cluster, making it easier to automate complex, stateful applications and to augment the platform. Operators can coordinate application upgrades seamlessly, react to failures automatically, and streamline repetitive maintenance like backups.

  • OpenShift Blog, Red Hat

    Published on: undefined

    A variety of blog posts related to the OpenShift product and its ecosystem.