Charles Esterbrook's Resume
updated: July 2012
e-mail: contact@charles-esterbrook.com
web site:  charles-esterbrook.com
OBJECTIVE

To obtain a contract or position as a senior software engineer or architect on interesting projects, working with smart people.

SUMMARY

I have a B.S. in Computer Science and twenty years experience. My core skill is software design and development intersected with project management, QA, technology integration, security, mentoring and more.

I am not strictly one type of developer. I have designed, implemented and maintained web applications, gui applications, e-commerce systems, automated test suites, compilers, developer tools, discrete event simulations, financial models, commercial apps, in-house apps, etc. I also perform consulting, system administration and database administration.

Technical Skills Quick Reference
  Languages     C#, Python, Objective-C, Cobra, Java, JavaScript, ANSI C, C++, Smalltalk  
  Web     ASP.NET [MVC], Django, Webware, JavaScript, AJAX, jQuery
  HTML, CSS, Apache, IIS, [Fast]CGI  
  GUI     .NET WPF & WinForms, wxPython, AppKit/Cocoa, InnoSetup 
  Database     MS SQL Server, MySQL, PostgreSQL, MiddleKit, Sybase  
 Source Code Control    Subversion, Mercurial, Git, AccuRev, Perforce, SourceOffsite/SourceSafe  
  Operating Systems     Microsoft Windows, MacOS X, Linux (BSD, Solaris, etc.)  
  Applications     Microsoft Office (Word, Excel, PowerPoint), others  
  Language Creation     lex, yacc, flex, bison, pccts, antlr, AST nodes, CIL, JVM  
  Linux/UNIX     bash, csh, awk, grep, sed, perl, python, make, ssh, service, yum, ...  
  Other     QA, automated tests
RECENT ACCOMPLISHMENTS

I'm the creator of the Cobra programming language which is open source and has an active community. Cobra combines the best features from many languages including Python, Objective-C, Eiffel and C#. My presentation at the Lang.NET Symposium 2008 was recorded. This is my second major compiler in additional to several prototype interpreters.

I'm the original creator of Webware for Python, an open source suite of web frameworks. I successfully passed the project to another developer before starting my next project (Cobra).

I have designed and written two object-relational mappers (ORM). One is an open source ORM for Python called MiddleKit. The other is a .NET one, private to a client, originally created before NHibernate and others were available and/or mature.

EDUCATION

B.S., Computer Science
May 1996
Virginia Tech
Blacksburg, VA  24061

EXPERIENCE
Independent Consultant/Contractor
Adaptive AI, Widerkehr, Kaiser Aluminum, ...
April 2007 - present
Consultant/contractor for application and A.I. projects. Consult on project requirements, project plan and system design. Implement applications, web services, algorithms, parsers, business rules, UI, etc. working with object-oriented languages and SQL databases. Release software to test and production environments. Support users and developers.
Senior Software Engineer
Kaiser Aluminum
November 2005 - April 2007
Responsible for application design and development, production database upgrades and test automation. Coordinated enhancements and fixes to both code and data with business users. Implemented an advanced object-relational mapper used in multiple projects. Mentored junior developers on the team.
Independent Consultant/Contractor
HFD, Kaiser Aluminum, NextFinance, StockAlerts.com, ...
April 2000 - November 2005
Consultant/contractor for application development projects. Consult on project requirements, project plan and system design. Implement web sites including dynamic web content (Python), object-oriented development, SQL databases and Unix/Linux admin. Automate application testing. Python GUI work.
Project Manager
Fannie Mae
September 1999 - March 2000
Project Manager of market data applications. Responsible for leading a team of database and application developers to assemble, validate and vend market data to both application developers and business users. Backends were Sybase databases accompanied by Perl, C++ and Java. Frontends were either CGI web pages, WebObjects/Java web pages or Visual Basic front ends.
Senior Software Engineer
AppNet, Inc. Century Computing Division
December 1998 - September 1999
On-site software engineering consultant/contractor at Fannie Mae in Washington, D.C. Responsible for design and implementation of financial modeling and reporting software including reusable frameworks for business process simulation and accounting. Development tools included OPENSTEP Developer (now MacOS X Cocoa) and Perl on Mach/SPARC and Solaris/SPARC.
Additional Experience
April 1989 - December 1999
I have additional experience in a variety of positions including software development, lab support and computer sales going back to 1989.
SPEAKING
  • "Cobra Programming Language" at Lang.NET Symposium in Jan 2008
  • "Cobra Programming Language" at SoCal Piggies in Feb 2008
  • "Longevity" at Mindshare LA in Jul 2008
  • "Cobra Programming Language" at SoCal CodeCamp Fullerton in Jan 2009
WRITING