Dave Aronson, Developer in Fairfax, VA, United States
Dave is available for hire
Hire Dave

Dave Aronson

Verified Expert  in Engineering

Software Developer

Location
Fairfax, VA, United States
Toptal Member Since
December 16, 2014

Dave is semi-retired, so he's now looking for brief part-time projects, especially in Elixir—which he's trying to break into. His recent work is mainly in Ruby (on and off Rails), with occasional JavaScript and C before that, and many other languages along the way, especially Python. He speaks at conferences, user groups, and podcasts, mainly on software-quality topics. Dave can write great code, advise on processes and tools, roadmap your projects, and mentor your other devs.

Portfolio

Codosaurus, LLC
GitHub, Git, Linux, MySQL, PostgreSQL, minitest, RSpec, C, JavaScript, Python...
Rosetta Stone
Linux, Ruby on Rails (RoR), JavaScript, Ruby on Rails 3, Rails Engines, APIs...
Comcast Cable
Linux, Python, Ruby, Ruby on Rails (RoR), Ruby on Rails 3, JavaScript, Back-end...

Experience

Availability

Part-time

Preferred Environment

Elixir, Ruby, Git, MacOS

The most amazing...

...accomplishment in my career has been the opportunity to speak in front of audiences all over the world at technical conferences.

Work Experience

T. Rex | President, CEO, Owner

1990 - PRESENT
Codosaurus, LLC
  • Ran all aspects of the company, doing everything, including the client work, marketing, bookkeeping, IT, and more.
  • Added features and fixed bugs in high-assurance guard for the US government (via a prime contractor) in Ruby (with Sinatra), C, Python, and Bash scripting. Created a system to translate IDL to YAML, including special comments. Mentored junior devs.
  • Added features, fixed bugs, refactored code, etc., in assorted Ruby on Rails applications in a wide variety of industries, plus a group email web application in Python, a fax-board initializer in C, and a corrupt dBase III file repairer in C.
  • Taught clients testing, TDD, Agile/Scrum, the use of source and issue trackers, and other skills conducive to the rapid delivery of high-quality software. Also mentored junior developers, advised on tools and processes, and roadmapped projects.
  • Spoke at technical conferences, co-organized TDDConf.com, organized Ruby Day Camp 2014 solo, maintained a call-for-papers list for Toptal's Speakers Network, and managed various programming-language forums and Meetups for consultants.
  • Released assorted open source, mostly findable on Github.
  • Served as webmaster for local chapters of international nonprofits.
  • Performed this job full-time from 1990 to 1992, then part-time between permanent jobs, plus occasional evenings and weekends, and full-time again from 2011 to 2021. Now I am semi-retired, so it's once again part-time.
Technologies: GitHub, Git, Linux, MySQL, PostgreSQL, minitest, RSpec, C, JavaScript, Python, Ruby on Rails (RoR), Ruby, Ruby on Rails 4, Ruby on Rails 3, Ruby on Rails API, Ruby Gems, Background Jobs, Background Threading, CSV Import, Rails Engines, Rails Asset Pipeline, Back-end, APIs, Scripting, API Integration, CSS, CSS3, HTML5, Devise

Developer IV

2010 - 2011
Rosetta Stone
  • Created and enhanced games and related tools such as content-set editors.
  • Added those games and tools to Ruby on Rails pages, passing data via JavaScript.
  • Added new pages to a Ruby on Rails site engine, modifying the controller and views.
  • Mentored junior staff by reviewing code and conducting software-engineering training.
  • Proposed ideas for new "social applications" (games).
  • Integrated with components from other teams or third parties, such as web analytics.
Technologies: Linux, Ruby on Rails (RoR), JavaScript, Ruby on Rails 3, Rails Engines, APIs, API Integration, CSS, CSS3, HTML5

Senior Software Engineer

2009 - 2010
Comcast Cable
  • Wrote Ruby, Python, and Perl programs to record device-performance data.
  • Created a Ruby on Rails web application to record and estimate the risks of projects, broken out by various types of risk.
  • Created a data-file clearinghouse to streamline the data-file, transfer-agreement process in bash script.
  • Assisted in the security design and implementation for a single-sign-on effort.
  • Elicited requirements from other teams to determine needs for performance recorders.
Technologies: Linux, Python, Ruby, Ruby on Rails (RoR), Ruby on Rails 3, JavaScript, Back-end, APIs, Scripting, API Integration, CSS, CSS3, HTML5, Devise

Senior Lead Software Engineer

2004 - 2009
BAE Systems
  • Created frameworks for the development of near-real-time data guards as our old frameworks were too slow. Used them to create data guards for demos and clients, including the Naval Research Laboratory, NATO, NTT Data, and other parts of BAE Systems.
  • Modified the networking stack of our highly secure operating system, STOP 6, to let it read and write raw Ethernet packets and to let it act as a DHCP server or client. Enhanced and maintained the STOP 7 installer and package installer/upgrader.
  • Architected the next version of the Data Sync Guard and wrote its internal message-transport system. Helped analyze security flaws in the previous generation.
  • Tested the functionality of most of our compatibility-patched versions of BusyBox and other open-source utilities under STOP 6 and 7. Submitted our patches upstream.
  • Helped adapt Samba for use as a multi-level secure (MLS) file server for use on F-35 Joint Strike Fighter (JSF) mission plans. Traveled to Ft. Worth to install STOP and our version of Samba at the Lockheed-Martin plant producing F-35s.
  • Developed and taught seminars on dev best practices and full-week training class on infosec, how to use STOP, my main framework (see above), our main old one, and other BAE products. Co-taught CISSP exam-prep classes for two runs of twelve weeks.
  • Won Certificate of Achievement for Outstanding Service and Performance for rescuing company reputation with a disgruntled client.
  • Won the Chairman’s Award, along with the team, for work on the F-35 Joint Strike Fighter program. Was previously nominated many times for individual work done on my initiative.
  • Founded a Toastmasters club (first new club in the district that year) and served as the first president and webmaster.
  • Contributed to the CMU SEI CERT (C Secure) Coding Standards.
Technologies: Linux, C, JavaScript, Back-end, APIs, Scripting, CSS, HTML5, CSS2

Senior Software Engineer

2003 - 2004
Secure Software
  • Fixed and enhanced a static analyzer that inspected many different languages in C.
  • Fixed and enhanced a static analyzer that inspected binaries, not human-readable source code.
  • Wrote Python static analysis plugins to find mobile code or files in Java and the usage of the Windows registry in C or C++.
  • Made memory-leak hunting easier by enhancing the memory-allocation library.
  • Helped plan test procedures as part of a code-quality initiative.
Technologies: Security, Linux, C, Python, Back-end, APIs

Senior Software Engineer

2001 - 2001
Cryptek Secure Communications
  • Wrote a monitoring program in C++ for Windows to detect frozen VPN devices (external versions of our network cards), save sniffer logs, and either power-cycle the frozen device or failover to a backup device.
  • Wrote requirements, use cases, and visual prototypes for a new management console for an Internet Protocol Security (IPsec)-based virtual-private network (VPN), using our network cards.
  • Researched management GUIs of top ten IPsec-based VPNs and presented a competitive analysis to my supervisor and colleagues.
  • Improved throughput by writing a utility to set the Ethernet maximum transmission unit (MTU) on any version of Windows.
  • Wrote a manual test plan for the current VPN management GUI.
Technologies: Linux, Back-end, APIs

Senior Software Engineer

1999 - 2001
3Com
  • Added the Voice Profile for Internet Mail (VPIM) 3 to a unified messaging platform. Discussions in the IETF Working Group created the standard that led to credit in the RFC 3458.
  • Enhanced and maintained a system for the mobile non-SMS notification of office voicemail, using the normal mobile account, message-waiting indicator instead.
  • Co-wrote a multi-process, multi-threaded tool simulating 1,400 users per PC.
  • Invented a way to change the sound file speed, preserving quality better than a simple interpolation while retaining greater speed than a fast Fourier transform. Partially prepared the patent application, including a library containing the function.
  • Added a ZMODEM file-transfer protocol to a telnet/dialup VT100 emulator.
  • Added further languages to a text-to-speech server.
  • Created the service creation environment (SCE) scripts to allow the UM platform to act as a client for an advertising server to support free cell phone service.
Technologies: Telephony, Unified Communications, Unix, C, Back-end, APIs, Scripting, API Integration, HTML, CSS

Software Engineer

1997 - 1999
Template Software
  • Created an object-relational mapper (ORM) for an enterprise application integration (EAI) subsystem.
  • Helped design a new geographical information systems (GIS) data format.
  • Updated the GIS format-translation and filtering functions and utilities to use the new format.
Technologies: Linux, GIS, Object-relational Mapping (ORM), C, Back-end, APIs, Scripting, API Integration

Software Engineer

1995 - 1996
Telemet America
  • Added new data items to be transmitted to clients.
  • Added new calculations to the display on client systems.
  • Created a new sales contact tracking system in Visual Basic with Microsoft SQL Server.
  • Ported data from the old sales contact system to my new one.
Technologies: C, Back-end, APIs

Branch Chief of Systems Engineering

1992 - 1995
R&K Engineering (now R&K Solutions)
  • Wrote and ran periodic and ad-hoc SQL queries on an Army real-property Oracle database, including figuring out how to extract the desired combinations of data.
  • Developed a flexible SQL query constructor and result display as part of a facility planning, tracking, and analysis system for the Internal Revenue Service (IRS).
  • Documented and enhanced the Base Realignment and Closure (BRAC) calculations in a Cost of Base Realignment Actions (COBRA) program for the Department of Defense (DoD).
  • Enhanced other real-property database management programs.
  • Investigated potential new technology, fixed technical problems, provided general IT support, etc.
  • Supervised and coached a programmer/technical support person.
Technologies: Unix, C, SQL, Back-end, APIs, Scripting

Consultant

1989 - 1990
COMTEK Services
  • Created the user interface for MCI’s phone network monitoring and configuration system.
  • Tested an alarm-propagation subsystem for the network element configuration system.
  • Helped explore additional software development business opportunities.
Technologies: VMS, C, Back-end, APIs

Senior Software Engineer

1987 - 1989
Mead Data Central (now Lexis-Nexis)
  • Continued work on the communications-protocol implementation from the BDM days (see below).
  • Fixed and enhanced the database software for a newspaper/magazine article-lookup by countries and topics (out of a preset list).
  • Replaced the creation of SQL to find the articles in Oracle with "indexed files" (a capability of Stratus VOS), reducing typical search time from several seconds to under one.
  • Wrote software to serve newswire articles, using freeform, boolean-text searches, including query reception over proprietary protocol, indexing, storage, query reception, query interpretation, finding results, and serving up results to the client.
Technologies: SQL, C, VMS, Back-end, APIs, Scripting

Assistant Programmer and Analyst

1985 - 1987
BDM (Braddock, Dunn, & McDonald; now part of Northrop-Grumman)
  • Wrote a system-health monitor, an idle-process killer, and researched a same-user/same-account/inter-project security and accounting for the company VAX center.
  • Wrote parts of a wargame system for the Air Force University.
  • Wrote a weapons-accuracy plotter and a generic-printer histogram plotter for the Joint Test Support Center (JTSC).
  • Wrote a troop unit-strength calculator and comparator for the Central Intelligence Agency (CIA).
  • Enhanced a program to analyze or design (derived behavior from measurements or vice-versa) various types of physical-shock isolators for the United States Air Force.
  • Co-wrote multi-process, multi-threaded communications software to handle transactions sent over an X.25-like proprietary protocol for LexisNexis (who then hired me—please see above).
Technologies: Pascal, C, VMS, Back-end, APIs, Scripting

Open Pantry

https://github.com/openpantry/open_pantry/pulls?q=is:pr+author:davearonson
Improved an Elixir/Phoenix web app for an open-source project to feed the hungry called Open Pantry. My main focus was to simplify overly complex code, add tests, and silence many warnings by rewriting the code.

Rubocop Improvements

https://github.com/rubocop-hq/rubocop/pulls?q=is:pr+author:davearonson+
Pull requests to Rubocop, including making it allow certain styles it previously did not realize. Still, I prefer allowing braces on procedural one-line blocks but otherwise following "semantic" block delimiting.

Pull Request Roulette

A site to match up to open-source projects on GitHub that have pull requests that need to be reviewed with people willing to do the review. Not all that much there now, but please see the README and the issues at the GitHub repo (https://github.com/davearonson/pull-request-roulette/) for what I have in mind for the long term.

Mutation Testing Talk Playlist

https://www.youtube.com/playlist?list=PLMrm16n64Bub8urB-bsyMyHiNPMLG7FAS
YouTube playlist of versions of my main talk on mutation testing, delivered at various conferences from 2019 to today. They incorporate more updated information and better presentation as time goes by. They are also of different lengths, from 22 to 60 minutes. One of them, in Elixir, also includes a lightning talk at the front.

Ruby Gotchas

http://bit.ly/RubyGotchas
My "Ruby Gotchas" presentation slides were delivered to assorted Washington DC area Ruby Meetup around 2014. Sorry, there is no video available. Also, my slide style has changed drastically since then. I will update the slides and create a coherent story from these poorly-connected snippets one of these years.

Genetic Algorithms Talks

https://www.youtube.com/playlist?list=PLMrm16n64Buag1--3P3xf9KnrH330nrPc
A YouTube playlist of versions of my main talk on genetic algorithms, delivered at or practiced for various conferences from 2022 to today. There is more coming eventually. I am slated to do this three times in May 2023.

ACRUMEN Playlist

https://www.youtube.com/playlist?list=PLMrm16n64BuaRo9N8xY8OnTOWZ5K2aFG1
A YouTube playlist of my talks and podcast appearances, on my ACRUMEN definition of software quality, from 2018 to the present. Not all of them were professionally recorded, so please pay more attention to the content and delivery than the A/V quality.

Hook Lying Syncer

https://rubygems.org/gems/hook_lying_syncer
A Ruby gem to keep "method_missing" and "respond_to_missing:" two very important methods to supply Ruby metaprogramming in sync to make that easier and more reliable. Without these properly coordinated, subtle bugs could be created inadvertently.

Assorted Open Source

http://github.com/davearonson
Assorted things I've released as open source; some are already included in this list individually.

Languages

Ruby, C, HTML, SQL, Elixir, JavaScript, Python, Ada, Pascal, Lisp, SNOBOL4, APL, CSS, CSS3, HTML5, CSS2

Other

Software Engineering, Presentations, Software, System Design, Back-end, Scripting, Public Speaking, Software Design, APIs, Ruby Gems, API Design, Client-server Model, Technical Training, Software Consulting, SaaS, Security, Application Security, Web App Development, Software as a Service (SaaS), Unified Communications, Telephony, Leadership, Training, Conference Speaking, Development, Software Development, Software Development Lifecycle (SDLC), Web App Testing, Background Jobs, Background Threading, CSV Import, Rails Asset Pipeline, ExUnit, Programming, Algorithms, Data Structures, Artificial Intelligence (AI), VMS, Cognitive Psychology, Vi, Parsers, API Integration, Genetic Algorithms

Frameworks

Ruby on Rails (RoR), minitest, Phoenix, Sinatra, Ruby on Rails 4, Ruby on Rails 3

Libraries/APIs

Rails Engines, REST APIs, jQuery, Ruby on Rails API, Devise

Tools

GitHub, Git, RuboCop, RSpec, GIS, Cucumber, Emacs

Paradigms

Scrum, Agile, Agile Software Development, Test-driven Development (TDD), Behavior-driven Development (BDD), Unit Testing, Object-oriented Programming (OOP), Web App Design, Object-relational Mapping (ORM), Functional Programming, Testing, Automated Testing, Metaprogramming

Platforms

MacOS, Linux, Unix, Heroku

Storage

JSON, PostgreSQL, MySQL, NoSQL, Databases, Relational Databases

1984 - 1985

Bachelor's Degree in Computer Science

Arcadia University - Pennsylvania, USA

1981 - 1983

Graduate Coursework in Applied Mathematics (Computer Science Track)

Carnegie-Mellon University - Pittsburgh, PA, USA

JANUARY 2003 - PRESENT

Advanced Communicator and Leader, Bronze (ACB/ALB)

Toastmasters International

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring