Colin MacDonald
237 Florida Ave. NW, Washington, DC 20001
(571) 251-7286
colin@bluegraybox.com
Summary
Senior software engineer and technical lead with a focus on web applications, APIs, and back-end data wrangling. Has worked with a broad range of technologies and business domains; picks up new stuff quickly. Proven record of initiative and innovation in crafting software to meet organizational needs. Adept at translating between technical and business stakeholders. Balances “big picture” issues with attention to detail. Writes clean, simple, maintainable code. Documents effectively. Plays well with others.
Buzzwords
Full life-cycle, full-stack development. Client contact, agile methodologies, small team leadership. Web applications and services. Distributed, asynchronous processing. Golang, Python/Django, Bash, Java, Perl, C, Erlang, Javascript, NodeJS. Regular expressions. SQL, HTML, CSS, XML/XSLT. Solr/Lucene. Git. Linux, Macintosh.
Work Experience
Capital One
McLean, VA - Jan 2019 to present
- Developer Advocate and Product Owner for internal Kubernetes toolset
- Lead Engineer for data integration & aggregation application: system design and troubleshooting; compliance with engineering, security, and data governance policies and initiatives
Capital One - Tech Fellows
McLean, VA - Dec 2015 to Jan 2018
The Tech Fellows serve as internal software consultants to teams throughout Capital One, providing specific expertise, designing and implementing systems, improving practices, training, and mentoring.
- Extracted and analyzed data, and translated business logic, for migration from legacy mainframe banking system
- Researched technical foundations and potential uses of blockchain and cryptocurrency; presented “deep-dive” to executive leadership
- Developed material for, and taught, two-day software engineering orientation for new technical hires
- Wrote and presented talks for internal technical conferences and for recruiting events
Capital One - Labs
Arlington, VA - Mar 2014 to Dec 2015
Capital One Labs researches and prototypes innovative products and technologies in financial services.
- Designed and prototyped data flow and user experience for contactless ATM withdrawal application
- Developed algorithm for and implemented a limited natural language search application
- Researched and prototyped disruptive technologies such as blockchain, biometric authentication, and event streaming architecture; patented authentication system
- Started and led several informal learning groups
Library of Congress (CACI contractor)
Washington, DC - Jul 2012 to Aug 2013
Congress.gov provides a unified view of legislative information from many different sources.
- Designed and implemented internal web services in Python/Django
- Extended and enhanced integrations with legacy SQL databases (using Django and SQLAlchemy), web services, and a Solr/Lucene document repository
- Developed lightweight tools for automated regression testing and web service quality assurance
Prime Radiant
Remote - Mar 2012 to Jun 2012
Checkmarkable provides lightweight process management software for teams and organizations.
- Extended rich client interface in Coffeescript and server-side functionality in Perl.
Blackstone Technology Group
Arlington, VA - May 2011 to Mar 2012
Implemented mobile banking solutions: Customized vendor software and integrated to back-end systems using web services built on Java Enterprise/Spring tools. Improved build and deployment practices. Developed tools for system analysis and process automation.
Matrix Group International
Crystal City, VA - Sep 2009 to Oct 2010
Developed Python/Django applications to allow union members to manage benefits information. Included legacy data migration and HIPAA compliant encrypted storage.
CodeRyte
Bethesda, MD - Feb 2006 to May 2009
CodeRyte provides, among other services, a first-pass, automated determination of appropriate billing codes for medical notes.
- Developed GWT/Lucene application to enable customers to search and view historical data
- Designed and developed application which enables non-technical subject matter experts to update processing logic, including regression testing workflow and version control interaction
- Designed and developed application to enable non-specialist technician to manage training of machine learning models
- Introduced tools and practices to improve software development process
More details in the Config Editor and Batch Runner portfolio stories.
Templar Corporation
Alexandria, VA - Apr 2001 to Sep 2005
Developed Java web applications to facilitate access to multiple, disparate legacy data sources. Successfully re-envisioned, designed and implemented core application, resulting in dramatic improvements in performance and maintainability, and reduced customer configuration effort. Introduced tools and practices to improve software development process. Provided project technical management, including requirements gathering, architecture, task decomposition, and mentoring of junior staff.
More details in the Core Application Re-design portfolio story.
Templar was acquired by Choicepoint in February 2004, and merged into its i2 subsidiary in 2005.
Microstate Corporation
Fairfax, VA - Aug 1999 to Feb 2001
Developed B2B web sites with server-side Java accessing SQL databases, running on Linux systems. Performed requirements analysis for business integration software.
Erols Internet
Springfield, VA - May 1997 to Jun 1999
Administered Unix systems. Developed software tools for customer management, involving small SQL database design and development, and Perl CGI. Co-wrote C interface between ActiveWorks messaging middleware and customer management system.
Lunaria
Alexandria, VA - Jul 1995 to May 1997
Developed several educational titles using Macromedia Director, including a window management toolkit. Designed and developed Web pages using HTML and Javascript. Programmed for CD-i platform as detailed below. Responsible for needs analysis and technical communications with clients, who included Imagine Publishing and The Smithsonian Institution.
CapDisc
Bethesda, MD - Apr 1992 to Feb 1995
Assistant, then Lead Engineer for entertainment and educational titles created for CD-i platform. Cross-developed C/OS9 code in Solaris environment to create event-driven, real-time applications involving CD-ROM and MPEG-1 decoder. Worked closely with art and production staff throughout design and development.
Interactive Television Co.
Arlington, VA - Jul 1990 to Apr 1992
Developed C code for interactive, live-action video training simulator; and for video surrogate travel system.
MicroMagic
Amherst, MA - Sep 1988 to Sep 1989
Wrote C code for Macintosh and Amiga ports of Electronic Arts’ Starflight game. Implemented game mechanics, graphics control, interface, and database.
Presentations and Publications
- Bitcoin, Blockchain, and Building Blocks on Capital One DevExchange
- Amateur Erlang at ErlangDC conference, Feb 2013
- Crafty Erlang at ErlangDC conference, Dec 2011
- Erlang: Your New Favorite Scripting Language? at Erlang users group, Aug 2011
Patents
Education
B.A in Mathematics (Computer Science), Wesleyan University, Middletown, CT
Other
US Citizen. Not interested in relocating.