Software engineering brings together two of my passions: technology and problem-solving. I find joy in identifying and enabling the best solution for a customer using technology; unraveling the best way to manage complexity, scalability, security, software lifetime, budget, effort, and skill sets of teams as constraints. I find fulfillment in fostering a team culture that encourages ownership, creativity, coaching and mentorship, and continuous learning. I believe developing these skills is essential to solve problems with high-quality solutions. I thrive on new challenges and am constantly learning and helping others learn.

My philosophy of software development is guided with a few core concepts:

Experience

Founding Principal Engineer, AudiencePlus; April 2022 - Present

Executed on the company vision to bring a new product to market with innovative technology

  • Contributed to business and product vision with a supporting technology plan
  • Created an architecture to support the long-term product and business objectives, designed for low cost, massive scale, security, compliance, and high availability
  • Led the engineering team to develop the core technology and product for customers to manage their own media properties
  • Enabled the team to collaborate and release features safely to prod through everything-as-code with isolated environments per change across the tech stack
  • Designed and created a novel approach for micro-frontends for quickly and safely releasing new features across business domains, unlocking the ability to scale the engineering team and create momentum
  • Collaborated with the team to position AudiencePlus' as thought leaders in the industry by developing AudiencePlus' own media property using our micro-frontend (https://www.audienceplus.com/discover)
  • Designed and developed a distributed graph database to solve data ownership, compliance, privacy, cost, and scaling, and to support machine-learning
  • Automated the customer onboarding and content import process to scale the business
  • Supported customers who successfully launched their own media properties using our product

Technologies:

  • Languages: JavaScript, Erlang, HCL
  • Frontend: React.js, Emotion, Storybook, Chromatic
  • Backend: Node.js, Erlang, AWS (S3, API Gateway, SQS, Lambda, Cognito, EC2)
  • Database: Custom distributed graph database
  • DevOps: Terraform, AWS, Cloudflare, GitLab CI, docker, shell
  • VCS: git

DevOps Engineer, DaVita Kidney Care; January 2019 - April 2022

Part of a transformational platform engineering team focused on helping the organization adopt engineering practices through modern tools, principles, and techniques

  • Enabled teams to self-serve new projects in Google Cloud Platform (GCP) in as little as three days using everything-as-code (EaC) while meeting security and compliance obligations
  • Deployed and operated a high-availability shared services platform, consisting primarily of GitLab, Artifactory, Consul, and Vault
  • Deployed Google Kubernetes Engine as a shared service for teams using containers
  • Consulted with teams to design cloud-native solutions
  • Identified and removed bottlenecks for teams, continuously improving the tooling and automation for the platform
  • Demonstrated cloud concepts, EaC, and end-to-end automation for teams working on over 400 applications running on traditional on-premises infrastructure such as VMware vSphere

Technologies:

  • Languages: JavaScript, HCL, Shell Scripting, Golang, Python
  • Platforms: Google Cloud Platform, VMware vSphere, Kubernetes, Mesosphere (D2iQ)
  • IaC: Terraform, Puppet, custom terraform providers (Golang)
  • CI: GitLab CI, Jenkins
  • Concepts: Review (ephemeral) environments, Infrastructure-as-Code, Everything-as-Code, zero-trust system design, beyond-corp, mutual TLS, high availability/zero-downtime deployments, load balancing, auto-scaling, serverless, semantic versioning, automated testing and documentation
  • Containers: Docker, OpenFaaS, Kubernetes, GKE
  • Virtual machines: Packer, GCP, VMware vSphere, VirtualBox, Vagrant
  • Serverless: OpenFaaS, Google Cloud Functions
  • Monitoring: Grafana, Graphite, Elasticsearch (ELK stack), GCP (Cloud Monitoring)
  • Testing: cucumber.js, Docker, checkov, InSpec
  • VCS: git
  • Other: Node.js, React.js, MDX, Renovate

Principal Engineer, Sling TV, part of DISH Network; June 2017 - August 2018

Led a large, long-term initiative to build an e-commerce cart for the main website

  • Led the core team to design and create the cart engine, consolidating complexity into a small amount of code, enabling a simple, modular cart
  • Led the cart initiative with over 30 developers and QA resources, providing design direction, coaching/teaching, and collaborating with various business and technical groups to remove blockers and keep the project on track
  • Implemented the cart engine with React/Redux, following a functional design
  • Created a framework for a distributed frontend (micro-frontend) at runtime with JavaScript
  • Helped create and guide a collaborative effort to create a functional React component library (UIKit)
  • Created an automated semantic versioning framework for the UIKit, determining the next version based on analyzing code changes and visually diffing the components
  • Created a "service templates" framework using Yeoman as the source of truth for creating/managing projects, inverting the control of distributing updates
  • Created a dockerized testing framework for automation, supporting selenium grid, webdriver.io, cucumberjs, and newman
  • Collaborated with DevOps to create and streamline continuous integration pipelines
  • Helped shape the automation and process to transition from cutting releases to feature delivery
  • Presented at community of practice meetings to further education and collaboration across teams
  • Created a generic pluggable analytics plugin in JavaScript to abstract analytics implementations and enable more rich and robust data collection
  • Created an nginx reverse proxy to support dynamic review environments (a different environment per feature branch)
  • Created a framework for a microfrontend admin portal in React/Redux
  • Contributed to design/vision/process discussions for the organization

Technologies:

  • Frontend: React.js, Redux, JavaScript, styled-components
  • Testing: Selenium Grid, Cypress, Cucumber.js, Newman, Jest, WebdriverIO, visual regression testing
  • DevOps: GitLab CI, shell scripts, AWS, Nginx, Docker
  • Other: Yeoman

Developer, Manheim, a Cox Automotive company; January 2017 - May 2017

Developed Java microservices using the Spring Boot framework for high-traffic, high-availability applications

  • Developed a web application using Thymeleaf for displaying report information
  • Improved internal development tools and processes
  • Implemented new features and bug fixes to existing applications

Lead Full Stack Web Engineer, FIDOlab; March 2015 - October 2016

Designed and developed full-stack web applications and mobile backends focusing on a microservices approach, serverless architectures in AWS, automation, release management, and automated testing

  • Developed an entertainment web app, PluggedIn.com, in AngularJS using standard task runners, preprocessors, and automated build and delivery pipelines including unit, end-to-end, and visual tests
  • Provisioned infrastructure with Chef
  • Created microservices using AWS serverless resources with APIs for use in multiple web and mobile applications
  • Developed a native iOS application in Swift with offline support, media player integration, and In-App Purchases with a custom IAP backend (built as a microservice) to deliver purchased resources to the app
  • Migrated mobile applications from using Parse mobile BaaS to using AWS resources
  • Worked with the team to create an agile development workflow that fit our small team and goals
  • Helped other developers and contractors with code-review, software architecture, and backend services

Web Developer, Focus on the Family; January 2014 - March 2015

Developed web and mobile applications on a variety of different languages, platforms, and frameworks, working with the team to successfully complete business objectives within the given time constraints

  • Developed a framework and dashboard for in-house Wordpress developers to deploy Wordpress sites to multiple environments and standardized workflow for local development, dependency management, deployments, and source control
  • Co-developed an iOS app, focusing on integration with the backend and various 3rd party services, extending the back end (a generated Ruby on Rails app) to add custom functionality, developing parts of the iOS UI, and creating an automated deployment pipeline for the backend
  • Added features and fixed bugs in an existing webapp built with CakePHP and BackboneJS
  • Developed a jQuery plugin as a popup for giving campaigns including A/B testing and user data capture, implemented in Sitecore CMS using Microsoft .NET
  • Developed minor features and changes to Sitecore CMS sites

Owner, DigiToll Software; May 2012 - December 2015

  • Created and managed every aspect of a small software product company including design, development, maintenance, marketing, sales, customer service, and financials
  • Developed extensions in PHP for Joomla! and VirtueMart with a focus on digital downloads and delivery

Owner, Stephen Roberts LLC; February 2011 - October 2015

Worked with clients to develop e-commerce websites, perform content migrations, and integrate with existing systems

  • Added e-commerce and digital download capability to an existing website built on Joomla! CMS
  • Developed a new e-commerce website using Joomla! and VirtueMart for the sale of physical products, migrated the product catalog from the existing IBM WebSphere platform, and integrated with existing inventory and ERP systems
  • Collaborated with marketers and designers to create another e-commerce website selling both physical and digital downloads

Engineering Technician Assistant, University of South Alabama; September 2007 - December 2010

  • Computer and Lab Technician supporting 12 Computer and Technical Labs
  • Installed software, performed system backups, and maintained over 175 computers
  • Repaired Oscilloscopes, Power Supplies, Digital Systems, and other lab equipment

Skills

General Expertise

Web
Web
DevOps and Release Management
DevOps and Release Management
Cloud Computing
Cloud Computing
Microservices and System Architectures
Microservices and System Architectures
Micro-Frontends
Micro-Frontends
Serverless Architectures
Serverless Architectures
Containers
Containers
APIs
APIs
Analytics
Analytics
Performance
Performance
Mobile Apps
Mobile Apps

    Technology

    React
    React
    JavaScript, Node.js
    JavaScript, Node.js
    HTML
    HTML
    CSS
    CSS
    AWS, GCP
    AWS, GCP
    Erlang
    Erlang
    Java
    Java
    iOS, Objective-C, Swift
    iOS, Objective-C, Swift
    Ruby
    Ruby
    Python
    Python
    PHP
    PHP
    UNIX, Linux
    UNIX, Linux
    Shell Scripting
    Shell Scripting
    XML, JSON
    XML, JSON
    SQL, No-SQL, Graph
    SQL, No-SQL, Graph
    ANSI C, C++
    ANSI C, C++
    C#, .NET
    C#, .NET

      Tools

      vim
      vim
      tmux
      tmux
      git
      git
      unix shell
      unix shell
      • IaC: Terraform, Puppet, Chef, CloudFormation
      • CI: GitLab, Jenkins, GitHub, Travis
      • Virtualization: Docker, Vagrant, Packer, VirtualBox
      • Bundlers: Webpack, Rollup
      • Databases: MySQL, PostgreSQL, DynamoDB, Spanner

      Education

      University of South Alabama, BS in Computer Engineering, 2005-2009

      Memberships:

      • Tau Beta Pi
      • IEEE
      • Eta Kappa Nu

      Notable Courses:

      • Computer Network Security
      • Digital Computer System Design
      • Electrical & Computer Engineering Design
      • Programming Language Theory
      • Computer Networks
      • Embedded System Design
      • Software Engineering Principles
      • Wireless Networks
      • Analog & Digital Electronics
      • Computer Methods In ECE
      • Microprocessors
      • Operating Systems
      • Data Structures

      Environment

      iterm2 + tmux + vim

      Check out my dotfiles: https://github.com/stephencroberts/dotfiles

      References

      When others would say ‘that’s too hard’ or ‘I’m not sure I could do that’ Stephen would respond with ‘let me think through this and put together a plan.'...Stephen rose to the occasion and did his best to make sure the projects were completed on time and met the requirements...Stephen did a great job communicating
      -- Mike Ruman, Military Marketing

      Available upon request

      Contact

      This is an alert
      spinner