Skills and Experiences

  • Technical expertise
    • Object-oriented programming
    • Software architecture: designing frameworks and class libraries
    • Thread and system programming
    • Application and database development
    • Complex algorithms and data structures
    • Designing and implementing user interfaces
    • 3D graphics programming (OpenGL)
    • Migration / porting / integration / testing
    • Tool development: parsers, interpreters, compilers, code generators
    • Technical documentation, coaching, training
  • Methods
    • Object-oriented design, UML, design patterns
    • Software engineering: refactoring, unit testing
    • Generative software development (templates)
    • Language design: domain specific languages
    • Functional (side effect free) programming
    • Relational data modeling, normalization, ORM
  • Architectures
    • Distributed systems
    • Embedded systems
    • Multi-tiered architectures
  • Programming languages
    • Object-oriented: C++, Java, C#
    • Functional: ML, OCaml, Scheme
    • Dynamic: Python, Ruby, Perl
    • Relational: SQL, PL/SQL
    • Procedural: C, Pascal, Visual Basic 6
    • Declarative: HTML, CSS, XML (Schema, DTD, XPath)
    • Assembler: Z80, M68000
    • Special: UML, Make, Jam, IDL, Tex
  • Operating systems
    • Unix family: Linux, QNX, Solaris, IRIX
    • Windows NT family, Windows CE/Mobile
    • Android
  • Libraries
    • STL, Rogue Wave, pthreads, cppUnit, pyunit, SQLAlchemy, log4j, libxml, etc.
  • Frameworks
    • JDK 1.6
    • .Net 3 (basics)
    • Ruby on Rails (basics)
  • GUI Toolkits
    • Qt 4.3, MFC, Tk
  • Many common development tools
    • Eclipse, Visual Studio, Together, Vim, Emacs, etc.
  • Configuration management
    • Perforce, Subversion, CVS, Bazaar
  • Code analysis
    • Purify, PC-Lint, BoundsChecker, gprof, doxygen
  • Bug tracking
    • Trac, Bugtracker
  • Debuggers
    • gdb, DDD, WinDBG
  • Project roles
    • Developer
    • Architect
    • Reviewer
    • Trainer
    • Coach

I'm an experienced software developer with keen perception and high quality standards.