Doug Bell
Summary
- Software developer in Perl and JavaScript
- Mentor, team leader, and project manager
- System administrator and operations in Unix and Linux
Work History
Bank of America
Senior Developer / Architect. Quantitative Analysis and Research (QAR)
group, Core Data team. October 2011 - Present
Responsibilities and accomplishments
- Collect and store market data for historical time series analysis
- Collect market data using Perl, C++ (via Perl XS), Java (via Perl Inline::Java),
SQL, SOAP, HTTP, FTP, and e-mail
- Modernized and simplified legacy Perl platform and improved testing
and documentation
- Worked with other QAR teams to build common solutions to data loading
and storage problems
- Worked to ensure complete monitoring and documentation for L1 and L2
support teams
- Developed extensive logging and reporting platform using ELK
(ElasticSearch,
Logstash,
Kibana)
- Developed custom job metadata reporting using
Postgres, Mojolicious,
and custom messaging via ZeroMQ
- Built robust and scalable ETL system using Perl and
ActiveMQ
- Built simple web applications for viewing and exploring data using
Mojolicious, AngularJS, and
Bootstrap
- Developed drivers for internal General Universal Time Series (GUTS)
API using ZeroMQ and Protobuf
- Automated releases, deployment and environment setup using
Git and Rex
Double Cluepon Software Corp.
CTO / Technical Director / Senior Developer. October 2009 - June 2014
Responsibilities and accomplishments
- Built a Pipe Dreams workalike, WireWorks, using AS3 and Flash IDE.
- Built SwfConduit, an AS3 socket server using Python,
Twisted, and
PyAMF
- Designed and built game object database using MongoDB (replacing MySQL after
complications with SQLAlchemy)
- Developed StoryTeller, an isometric, sprite-based game framework built
on Flex running under AIR using SwfConduit as a backend
- Began work on Emerald Kingdom, an MMO RPG with a focus on episodic, rotating
content with a linear storyline
- Designed an object-oriented, modular system to allow for multiple
kinds of world-building: 2d platformer, 2d top-down, isometric,
diametric, or 3d rendered
- Built a fully-automated release process with a self-updating client
using Perl, Jenkins, and Make
- Built a community website based on Python, Twisted,
Jinja, Angular, and Bootstrap
- Wrote enough Python to make almost every wrong Python library decision
possible
- Administered MySQL, MongoDB, and 5 FreeBSD servers for all
small-business needs including e-mail, DNS, and security
Plain Black Corp.
Senior Developer / Project Manager / Systems Administrator. November
2005 - August 2011.
Responsibilities and accomplishments
- Developed client website solutions with WebGUI
- Designed and built new Calendar app, new Photo Gallery app, Google Map
app, and online chat app for WebGUI
- Manager (for 2 years )of major client project worth more than 50% of
company revenue
- Developed TheGameCrafter Game Management
interface using YUI 2
- Lead developer of the next major version of WebGUI (8.0)
- Updated WebGUI 8 with modern Perl practices, Moose (modern
object-oriented system), and Plack (web service abstraction layer)
- Built a JavaScript service-based Admin interface to WebGUI 8, allowing
for custom scripting for WebGUI sites
- Performed performance profiling, replication, and administration of
MySQL databases
- Performed manual database merges when replication failed
- Primary sysadmin for 30 Linux (CentOS) WebGUI hosting servers,
including a load-balanced cluster for a client with 1.5m hits per
month
Other Accomplishments
- Community organizer
- Chicago Perl Mongers since May 2013
-
css on Freenode since Mar 2003 (IRC nick: preaction)
- Presentations at http://preaction.github.io/talks
- Contributor to
- Personal projects
- Blogs