×
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 EngineerInvue Security Inc.

    Apr, 2017 - Present

    Cloud Infrastructure, DevOps, Full Stack Web, Android, IOT, Serverless

    • 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

    Systems integration 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.

    • Developed backend code in SQL and Perl, frontend code in HTML, CSS, and Javascript, jQuery and PrototypeJS. SQL Server 2000 and IIS were initially used as DB and application servers. Later migrated to SQL Server 2005 and Apache.

    • Assisted in creating stylesheets that defined interface standards for all commonly displayed elements in pages within the web app.

    • Led the configuration, training, and release of the issue tracking tool JIRA within the company.

    • Developed scripts used for common system administration tasks using Perl.

  • 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.

    • Communicated with third-party vendors for content and technical specifications related to datafeeds.

    • 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.

    • Troubleshot problems reported in SQL Server 2005 stored procedures used for calculating SNL’s internal market indices.

  • 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 (WITS) 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.

    • Web design for WITS project

  • 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, 2014

Interests

Interests

  • Cloud Services

  • Emerging technologies

  • Data Analysis and Machine Learning

  • Design Patterns

  • Service Oriented Architecture

  • Financial Services and Investing