F. Grahame Murray
Raleigh, NC 27608
Home: +1 (919) 828-9879
Email: jobs@grahame.comWeb: https://grahame.com

Last Updated: Thursday, February 06, 2025.
Visit https://grahame.com/resume for the most current version, available in HTML, PDF, Word, plain-text versions, or https://github.com/gusnuf/resume to see the code that created this resume.

SUMMARY
Skilled Senior Principal Software Engineer with 20+ years of experience in designing and building enterprise architectures, leading engineering teams, and evangelizing innovative solutions. Proficient in DevOps, cloud computing, and various programming languages. Proven expertise in managing complex systems and driving business outcomes through technology.

HIGHLIGHTS

EXPERIENCE
Distinguished Engineer, November 2024 - February 2025
Digital Experience, ShareFile, Engineering
Progress SoftwareRaleigh, NC
  • Progress Software bought ShareFile from CSG
  • Helped with transition, cross training, and writing documentation
PROJECTS:
+ Transition
Senior Principal Software Engineer, August 2022 - October 2024
ShareFile, Solution Platform, Engineering
Cloud Software GroupRaleigh, NC
  • Started at Citrix but they were soon acquired by CSG
  • Evaluated and selected Integration PAAS vendor
  • Designed a new enterprise architecture for ShareFile
  • Built system-wide event bus using DAPR, Kafka, and Cloud Events that triggers Domino Workflows
  • Architected several systems such as Integrations, Information Intake, Data Tables
  • Permanent member of architecture boards and committees
  • Evangelized enterprise architecture within Solution Platform domain and across all of Engineering
PROJECTS:
+ Enterprise Architecture
+ Integrations
+ Event Bus
+ Information Intake
+ User-Defined Data Tables
Director - Lead Engineer, May 2020 - August 2022
CTO, Cloud Services, Core Engineering
Deutsche BankCary, NC
  • Completed Global Enterprise Engineer program to be in the top 5% of the bank's engineers
  • Created and led a multi-region engineering team to build and operate a GCP Control Plane
  • Designed Landing Zone platform to enable end users to safely self-service GCP infrastructure using GitHub and Terraform Enterprise
  • Architected mechanisms to allow the platform to be safely extended by the community
  • Delivered Landing Zones to 250+ application and infrastructure teams
  • Constructed standardized Terraform module authoring framework
  • Regularized GCP organization management via Terraform Infrastructure as Code
  • Evangelized the platform across the bank by producing documentation, training, communities of practice, and events
PROJECTS:
+ GCP Control Plane
+ Landing Zones
+ Module Authoring Framework
Vice President - Lead Engineer, February 2019 - May 2020
Global Transaction Banking, Digital Office, Data Platform
Deutsche BankCary, NC
  • Created a Data Platform out of native Azure components, namely Databricks, DataLake, SQL DataWarehouse, EventHub, Monitor, and AzureML
  • Automated and orchestrated Data Platform using Azure DevOps, Terraform, Docker, and Ansible
  • Evaluated Cloud Custodian in Azure
PROJECTS:
+ GTB Data Platform
Senior Principal Software Engineer, September 2016 - February 2019
Automotive division, Cloud Reliability Engineering, Infrastructure team
Nuance CommunicationsRaleigh, NC
  • Swype's Connect Operations team moved to the hosting group for the Mobile division, which later became to the new Automotive division
  • Remained in 1st tier on-call rotation for Swype Connect
  • Implemented Foreman for system management and provisioning of bare metal, ESX, and Azure instances
  • Deployed infrastructure world-wide in Azure using purpose-built and reusable Terraform modules
  • Integrated Katello for management of system and application content across all datacenters
  • Rolled out FreeIPA to centrally manage SSL certificates, Kerberos, DNS, system auth (sssd), and application auth
  • Designed and built proof-of-concept multi-tenant compute platform using Mesos, Marathon, Consul, Calico, HAProxy and Docker to support auto-scaling and blue-green deployments of microservices
  • Architected a solution to provide applications and systems "Visibility" for our customers using ELK for logs, Graphite for metrics, and Sensu for alerts
  • Built and maintained centralized, per-datacenter, secure, multi-tenant, ELK-stack clusters for "Visibility" using Elasticsearch, Kibana, Logstash, ElastAlert, and ReadonlyREST
  • Created go app that generated Sensu checks for services running inside Kubernetes, querying API for services annotated with configmaps that describe alert thresholds
  • Deployed Jenkins 2.0 integrated with GitLab for CICD. Built shared pipelines (as code) to build all our RPMs, Docker images, and Puppet modules
  • Made and/or used rspec-tested Puppet 4 modules to deploy all of the above
  • Authored Puppet 4 "base" system module to manage all fundamental aspects of our systems, including: puppet, mco, auth, sshd, time, osquery, limits, firewall, auditd, packages, sysctl, monitoring, logs, SELinux, DNS, and metrics
  • Used Packer to bake Azure images for faster provisioning
  • Setup a CI/CD pipeline to package each customer's "visibility" configurations (Kibana dashboards, Logstash configs, ElastAlert rules, and Grafana dashboards) and install them on the appropriate clusters
  • Documented our platforms and stacks, evangelized them to our customers, and assisted with customer on-boarding
PROJECTS:
+ Mobile Compute Platform
+ Mobile "Visibility" stack
+ Mobile Shared and Core Services
+ Jenkins 2.0 CI/CD pipelines
+ Kubernetes Sensu Checks
+ Swype Connect
Principal Software Engineer, January 2012 - September 2016
Mobile division, TextIO R&D, Connect Operations team
Nuance CommunicationsDurham, NC
  • Swype was acquired by Nuance!
  • Continued the development and improvement of the Swype Connect API, with the main focus on performance, allowing us to scale to hundreds of millions users
  • Improved visibility of our connected services, using Graphite, statsd, collectd, Grafana, Kibana, and SNMP, giving us insight and trending data into how our application is performing and being used
  • Switched from EC2 Auto-Scale to a Puppet managed, but manually scaled system
  • Migrated SwypeConnect from AWS to an in-house, managed ESX cluster
  • Used Hadoop and Pig to mine Cassandra for application usage and trend data
  • Built second API in Go, wrapping core business logic written in C, to support real-time predictions in the cloud
  • Assumed responsibility of legacy Java/Spring language database management system
  • Built server support for on-device storefront
  • Deployed and support applications in Chinese datacenters
PROJECTS:
+ Swype Connect
+ Language Lab
Senior Systems Engineer, June 2011 - December 2011
Engineering, Connect Operations team
SwypeDurham, NC
  • Came on board to lead the effort of building a high-scale web-service to support tens of millions of mobile transactions per day, to enhance phones using the Swype keyboard
  • Built a multi-datacenter, geographically redundant, Python/WSGI web-service to support millions of write-heavy requests per day, backed by a similarly redundant Cassandra cluster
  • Hosted in Amazon Web Services, for ease of build-out and managed infrastructure, utilizing EC2, AutoScale, CloudFront, CloudWatch, S3, Route53, RDS, ElasticCache
  • Used EC2 auto-scaling to ensure a timely response to customer demands
  • Built a true DevOps team, using PagerDuty, Nagios, Graylog, SyslogNG, and EC2, plus our stateless custom web service that we both developed and operated in Production
PROJECTS:
+ Swype Connect
Principal Software Engineer, September 2002 - June 2011
Engineering team
BBH MediaRaleigh, NC
  • Architected and developed and new website platform; moving all high-volume sites into a centralized, load-balanced, three-tier, standardized codebase using jQuery, PHP on Zend Framework, SOAP, JPA, EJB3, MySQL, and Lucene
  • Built a web-service-exposed, JEE middleware to power customer self-service and management portal using JPA, EJB3, SOAP, and MySQL
  • Architected, designed, and developed a scalable, clustered, high-availability, J2EE-based content authoring and management system using JBoss, Hibernate, JSP2, XSLT, and SQL Server
  • Designed, optimized, and normalized all major business systems' database schemas
  • Developed custom content management system using JBoss, EJB, Struts, Velocity, JSP, JSTL, and PostgreSQL
  • Made heavy use of DHTML and JavaScript for both front-facing and internal applications, including remote scripting and AJAX
  • Built and extended a custom PHP-based CMS system for e-zine publication
  • Wrote functional, integration, and unit tests
  • Administered CruiseControl and Hudson continuous integration and build systems
  • Mentored junior and new engineering hires
  • Documented requirements for outsourced projects
  • Designed and built internal web applications to automate internal business functions, such as content publishing, indexing, and search
  • Built international, multi-currency money management system, including automated thirty-party import and international credit card processing
  • Created and maintained PHP and PERL scripts for website management and content validation
  • Ported and rewrote legacy PERL scripts with more robust PHP scripts, also adding new site features such as pagination
  • De facto and acting Linux, BSD, and Windows system administrator
PROJECTS:
+ Redesign of websites using Zend Framework
+ JEE(J2EE) Content Management System
+ PHP Electronic Zine CMS
+ Multi-currency Payment Processing System
+ Public PHP & PERL scripts
Lead Engineer, May 2002 - September 2002
Internal Support, Developer Web Services
Sun MicrosystemsMenlo Park, CA
  • Led engineering effort for devCK, Developer Community Knowledge project
  • Main developer for reimplementation of JCP site, tasks included:
  • Redesigning the entire DB schema, as well as creating object-relational mapping
  • Porting and upgrading the administrative site from old Vignette TCL to the new Java platform
  • Rebuilding the public website from JSP (Model 2) site to MVC, as well as using the new data model
PROJECTS:
+ Java Community Process
+ Developer Community Knowledge
Java Engineer, September 2001 - January 2002
Systems Engineering team
James Irvine FoundationSan Francisco, CA
  • Independently contracted with the James Irvine Foundation to complete Coral Connect project.
  • Designed and implemented message boards, file storage, address book, and other interactive services of the project using Arsdigita Community System, XML, XSL, and Oracle 8i.
  • Configured qmail, Courier IMAP, JWMA Web mail, and ACS for Java on Solaris 2.8 for custom integrated webmail feature.
PROJECTS:
+ Coral Connect
Java Systems Engineer, March 2001 - September 2001
Systems Engineering team
Liquid ThinkingSan Francisco, CA
  • Designed and implemented binary parsing, scoring, and other educational algorithms for an interactive educational product using Rational Rose and ATG Dynamo 4.5.
  • Architected and designed file system integration for intranet using Arsdigita Community System 4.6, XML, and XSL.
  • Implemented product family parametric search for Cypress Semiconductor using JavaScript, PERL, and ColdFusion.
  • Led Quality Assurance effort for Certicom site redesign using Logigear TrackGear.
  • Began work on CoralConnect but entire team was then down-sized (finished at subsequent position with James Irvine Foundation)
PROJECTS:
+ Leap Track
+ Cypress Semiconductor
+ Certicom
+ Coral Connect
Software Engineer, June 1999 - February 2001
Policy division, Center for Technology in Learning
SRI InternationalMenlo Park, CA
  • Architected and implemented many web applications, online surveys, and web assessments using Java Servlets, JSPs, XML, and MySQL databases.
  • Designed and coded various reusable frameworks, from survey tools to database abstraction layers.
  • Co-developed and designed ChemSense, a Java-based Knowledge Building Environment for high-school chemistry students.
  • Built CILT Knowledge Network and affiliated web sites, and single sign-on framework in Cold Fusion and MySQL on Linux.
  • Designed and authored TeamLab, a Palm Pilot-based open-ended assessment application, desktop conduit, and website that supports off-line data collection and on-line statistical analysis.
  • Helped port URLex from Python code to Java.
  • Implemented Instructional Metadata IMS Metadata XML Generator tool, on a contract for Sun Microsystems
PROJECTS:
+ TeamLab
+ ChemSense
+ CILT KN
+ URLex
+ LOM-IMS XML Toolkit

COMPUTER SKILLS
Computer Languages:
Python, Java, Go (Golang), Javascript, Ruby, JSP & JSTL/EL, Scala, XML, PHP, DHTML & XHTML, Groovy, XSLT & FO/P, PERL, Bash, Velocity, i18n, C & C++, ColdFusion, Lisp, MIPS assembly, InstallShield Script

Databases:
Cassandra, MongoDB, MySQL/Maria, PostgreSQL, MS SQL, Oracle, Solid, FileMaker Pro, mSQL, Access

Platforms:
Kubernetes, Mesos, JBoss, Tomcat, Zend Framework, Spring, Resin, ColdFusion, Vignette, ATG Dynamo, Arsdigita ACS

Tools:
  Web Servers: nginx, haproxy, uWSGI, gunicorn, Apache
  Provisioning: Terraform Enterprise, Foreman, Cobbler, Terraform, Packer, AWS CloudFormation, Azure Templates
  Container: Docker, Mesos, Kubernetes, Marathon
  Virtual Network: Calico, istio, Flannel, Weave, OpenVSwitch
  Service Discovery: Consul, Zookeeper, Etcd, MesosDNS
  Configuration Management: Puppet, Ansible, MCollective, Chef
  Search: ElasticSearch, Kibana, Logstash, ElastAlert, ReadonlyREST, SOLR, Lucene, Verity
  Monitoring: Sensu, Nagios, SNMP, Cacti, SyslogNG
  Metrics: Graphite, Prometheus, Carbon, Collectd, Statsd, Bucky
  Identity/Auth: FreeIPA, Vault, OpenLDAP, OpenID, OAuth
  NoSQL: Cassandra, HBase, MongoDB, CouchDB, Riak
  Reporting: Spark, Hadoop, Pig, Hive, Pentaho, Jasper, Crystal Reports
  Messaging: RabbitMQ, ActiveMQ, JBossMQ, JBoss Messaging
  IDE: IntelliJ IDEA, PyCharm, Eclipse, NetBeans, Xcode, Visual Studio, CodeWarrior, JBuilder
  Modeling: Visio, OmniGraffle, Rational Rose, Visual Paradigm, Poseidon, Argo UML
  Version Control: Git, GitHub, GitLab, Subversion, CVS, Perforce, SCCS, RCS
  Bug Tracking: JIRA, Bugzilla, Eventum, TrackGear
  Web UI: jQuery, YUI
  Build: Ant, Jenkins, Travis, Hudson, Cruise Control, Maven, Ivy, Make
  Unit Testing: py.test, JUnit, Cobertura, Mockito, EasyMock, JMock, Cactus, TestNG
  Performance Testing: JMeter, Apache Benchmark, JProbe
  Acceptance Testing: Inspec, rspec, Cucumber, serverspec
  Caching: Redis, Memcache, APC, XCache
  Web/Integration Testing: Selenium, JProbe
  Persistence: Hibernate, JPA, EJB, OJB
  MVC: Django, Ember, Angular, Struts, Grails, Spring MVC, Cake PHP, Bebop
  Virtualization: AWS, Vagrant, Azure, ESX, VirtualBox, Xen
  Text Editor: vi(m), Atom, Emacs
  Installer: InstallShield, NSIS
  Command Line: GNU tools, Cygwin
  IM: Jabberd, Openfire
  Aspect Handling: AspectJ, JBossAOP

PUBLICATIONS
Disambiguating Drag-and-Drop: The Click-and-Fill alternative to managing hierarchies
I explained my implementation of a new "Drag and Drop" like interface
Published: CHI 2000 Conference Proceedings, April 6, 2000

Workpad + Palm Series Powered Pack 2000 Edition
My software was written up, rated, and included on accompanying CD-ROM
Published: ASCII Corp., March 10, 2000

Workpad + Palm Series Powered Pack
My software was written up, rated, and included on accompanying CD-ROM
Published: ASCII Corp., June 11, 1999

EDUCATION
1995 - 2000 Goucher College Towson, MD
BA in Computer Science
Courses in Java, LISP, 3D Graphics, A.I., Assembly, Software Engineering, Algorithms, Hardware Architecture, and Computation

Summers 1994 - 1997 University of Delaware Newark, DE
Graduate & undergraduate courses in C, C++, compiler design, computer graphics, and multimedia design.

REFERENCES
Available upon request