×
Adam Ferguson

Adam Ferguson

Senior Software Engineer


Background


About

About

Software Engineer with broad experience in full stack web development, cloud computing, devops, data analysis, service oriented architecture, and systems integration. Strong problem solver with an eye for simple, reliable solutions. Active learner and quickly adapt to new technologies, techniques, and architectures.

Work Experience

Work Experience

  • Senior Software EngineerDelta Bravo

    Jul, 2020 - Present

    Delta Bravo is a startup delivering Machine Learning solutions for clients in manufacturing.

    • Creation of ML Models using Pandas, Scikit-Learn, and XGBoost to optimize manufacturing processes of client firms

    • Development of web applications used by clients to visualize predictions made by ML Models. Projects used React, Hasura, FastAPI, and PostgreSQL.

    • Build Helm Charts, Terraform Modules and CI/CD pipelines used for deploying web applications

    • Feature development on Kubernetes based ML Platform in Golang, GraphQL, React, PostgreSQL, and Argo

  • Senior AI DeveloperAlly Financial

    Aug, 2019 - Jun, 202010 months

    DevOps and Services based Application Development for Online Banking

    • Build CI/CD pipeline for deployment of multiple services for AI team. Terraform for AWS deployment, Helm for Openshift deployment, Jenkins for CI/CD

    • Researched and led architecture choices for the use of Rasa as a primary component of Ally's chatbot platform.

    • Developed and unit tested AWS Lambda's for use by an existing AWS Lex bot used in Ally's chatbot platform.

  • Senior Software EngineerInvue Security Inc.

    Apr, 2017 - Aug, 20192 years 4 months

    Invue Security is a small company focused on providing hardware and software based security solutions for retailers.

    • Lead developer on 'Access Manager', a web application that provides Zoning and Auditing of InVue devices. Project uses React on the frontend, NodeJS/ExpressJS/Postgresql on the backend. A Java application server is used for communicating with InVue devices in the store. A native Android App that talks to the backend for site setup. Deployment and provisioning to GCP using Ansible.

    • Lead developer on 'Insight', a web application that provides reporting on planogram compliance and customer interactions on mobile devices. Project uses React/Redux on the frontend and NodeJS, ExpressJS on the backend. Device communication is handled via the Serverless framework with the use of AWS Lambda, AWS API Gateway, and DynamoDB. Deployed and provisioned using Ansible and Docker.

    • Features, bugfixes, performance enhancements, and systems administration on 'Microsigns'. A web application that leveraged a microservices architecture using Node w/ PostgreSQL on the backend and AngularJS on the frontend. Deployed to AWS using Ansible and Docker.

  • Data Engineer and Application Development Consultant, Ferguson Software Services onsite at Mood Media

    Jan, 2015 - Mar, 20172 years 2 months

    Consulted with Mood Media to provide systems integration, ETL and web application development

    • Integrated multiple systems using ETL with Python, and SQLAlchemy

    • Assisted in development of web application using C# on the backend and AngularJS on the frontend.

    • Developed and maintained multiple Ruby on Rails applications that used various client side javascript frameworks, including ReactJS and BackboneJS

    • Migrated an existing data warehousing solution from MongoDB to Redshift

  • Web Development ConsultantAlly Financial through OpenSystems Technologies

    Aug, 2014 - Jan, 20154 months

    • Part of team that developed Ally's online banking frontend as an EmberJS application

    • Customized and completed several variants of the build process used by whole team for development and deployment. Tools used included Rake Pipeline, RequireJS, Broccoli, Ember-CLI, and ES6.

    • Reworked build process to create a mobile specific version of the online banking application. Added mobile specific customizations to the application.

  • Senior Software Engineer, Technekes/Connexiolabs

    Feb, 2013 - Aug, 20141 year 5 months

    • Lead developer on call center application used by all of Technekes call center employees. Project used EmberJS on the front end, Ruby on Rails on the backend along with MongoDB, ElasticSearch, and Postgresql. Twilio was used for telephony.

    • Developed a realtime dashboard using EmberJS and Ruby on Rails that allowed administrators to monitor the status and listen to ongoing calls. Pubnub was used for realtime communication between the client and server.

    • Part of small developer team that was split off from Technekes to form a separate, product focused, startup 'Connexiolabs'. Developed several marketing focused applications and web services as a part of that startup using a Microservices architecture.

  • Senior Software Developer, Mood Media/Muzak LLC

    Jul, 2011 - Feb, 20131 year 7 months

    • Founding member of the New Product Development team. Designed and developed multiple web and mobile applications including OnlineDJ, Klikt, Sonictap, and MyMuzak.

    • Developed the backend of MyMuzak, Klikt, and OnlineDJ using Ruby on Rails. Used MySQL, Sphinx, and Solr for data storage and free text search. Applications were developed using BDD and TDD techniques including the use of Cucumber and RSpec.

    • Developed mobile applications for the customer loyalty application, Klikt. Developed a native Android application in Java using SpringAndroid, Roboguice, Android Annotations, OrmLite, and Jackson.

    • Used BackboneJS for developing rich client side features in OnlineDJ and MyMuzak. Developed the Klikt iPhone app using phonegap and BackboneJS.

    • Used DevOps tools and techniques including Jenkins for continuous integration, Capistrano for automated deployments, and Chef for server provisioning.

    • Integrated applications with several third party services including Facebook, Twitter, Mailchimp, AppFigures, and Google Maps.

  • Software Engineer, Public Consulting Group

    Mar, 2008 - May, 20113 years 2 months

    • Lead developer on BehaviorPlus, a web app for tracking behavior issues in grade school students. BehaviorPlus integrated with EasyIEP, an existing application that helps school districts comply with laws around services for special education students.

  • Business Systems Analyst, SNL Financial

    Apr, 2007 - Mar, 200810 months

    • Maintained and acted as content expert for Institutional Ownership, Insider Trading and Short Interest datasets within the company.

    • Drafted technical specifications for converting manual collection and entry of credit ratings from three major credit rating agencies (S&P, Moody’s, and Fitch) to automated process including specifications for software used for feed maintenance.

    • Derived dataset statistics for senior management and sales teams for use in contract negotiations and marketing materials using SQL and proprietary Excel plug-in, SNLxl.

  • IGERT Fellow, National Science Foundation

    Jun, 2004 - Jun, 20062 years

    • Led and assisted in various research projects interested in examining economic aspects of the emerging wireless technology cognitive radio.

    • Conducted regression analysis on data collected in Economics Experiments in STATA. Results included in journal publications.

  • Programmer/Lab Assistant, Economics Dept. at Virginia Tech

    May, 2002 - Jun, 20064 years

    • Development, analysis, and refinement of a system that used Palm Pilots as clients and a central server to simulate market scenarios in Economics classes.

    • Programming in C# and data collection and analysis.

  • Research Assistant, Virginia Tech Transportation Institute

    May, 2001 - Aug, 20032 years 3 months

    • Extract and analyze relevant data from transportation focused human factors studies using Excel, VB.NET, and SQL Server.

Skills

Skills

  • Programming Languages
    RubyPythonJavascript/NodeJSHTML/CSSJavaBash/ShellC#ClojureScalaGoPerl
  • Software Tools/Services
    Amazon Web ServicesGoogle Cloud PlatformGitMercurialSVNCVSPostgreSQLMySQLSQL ServerOracleRedshiftElasticSearchRedisMongoDBAnsibleDockerChefCapistranoFabricKinesisServerlessTravisJenkinsVagrantWebsocketsSocket.IOPubNub
  • Frameworks/Libraries
    EmberJSAngularJSReactJS/ReduxBackboneJSRuby on RailsDjangoSpring MVCPlayFlaskSinatraExpressJSActiveRecordMongoose/MongoidSQLAlchemyHibernateEntity FrameworkRSpecCucumberQUnitMochaJasmineJest
Education

Education

  • Economics, Masters - NSF IGERT Fellow, Virginia Tech

    May, 2004 - May, 2006

    3.5
  • Economics & Business Information Technology, Bachelors, Virginia Tech

    Aug, 2000 - May, 2004

    3.7
Awards

Awards

  • Outstanding Senior in Economics - Class of 2004 Virginia Tech Economics Dept.

    Awarded on: May 15, 2004

Interests

Interests

  • Cloud Services

  • Emerging technologies

  • Data Analysis and Machine Learning

  • Design Patterns

  • Service Oriented Architecture

  • Financial Services and Investing