Heikki Toivonen

Santa Clara, California, USA
Email: My first name at heikkitoivonen.net
Career Profile:

Dynamic international 10+ year career mixing software engineering, consulting and software engineering management. Shipped several customized and off-the-shelf internationalized small and large-scale products for the web, desktop and mobile devices. Excellent knowledge of Open Source development model, web standards, and how to write secure software.

Technical Skills:

Languages and standards: Python, C, C++, JavaScript, Unix shell scripts, Perl, make, SQL, NoSQL, Java, XPCOM, CGI, Web Services, XML, XHTML, DOM, CSS, PKI, SSL/TLS, REST, JSON, AJAX

Frameworks and libraries: Pylons, Werkzeug, CherryPy, Django, SQLAlchemy, Twisted, jQuery, dojo, wxPython

Tools and OSes: Eclipse, Firebug, Subversion, CVS, Linux, Windows, Macintosh, Android

Personal Projects:

Web Applications

2008-present

Wrote office resource finder web application originally using the Werkzeug Python web application framework, SQLAlchemy, SQLite, Mako Templates and jQuery. Later ported to Django using Django database layer and templates. Also wrote other web application using the Pylons and Turbogears2 web application frameworks. Used also Paste, Beaker, Paginate, Routes, prototype, scriptaculous, and FormEncode libraries. Deployed as an WSGI application using FastCGI and MySQL. Unit tested with sqlite in-memory database.

Mobile Applications

2007-2013

Wrote Caltrain schedule applications for desktop, online and Google Android platform using Python, HTML, CSS, Javascript and Java. Wrote various other Android applications in Java.

M2Crypto

Maintainer

2004-2013

Maintainer of M2Crypto, the most complete wrapper of OpenSSL for Python. Over 80% test coverage.

Professional Experience:

Egnyte, Inc., Mountain View, CA

Senior Engineer

2010-present

Egnyte provides cloud storage and sharing services. One of the engineering leads.

  • Scaled the sync system to tens of thousands of simultaneously syncing clients against three data centers, where many customers were syncing over 10 million file datasets and several terabytes in size.
  • Optimized sync algorithm and API to meet and in some cases exceed the speed of competitors.
  • Designed and implemented a system to store and transmit file system changes securely and efficiently using Cassandra in the backend, JSON over the wire, to reduce sync latencies from once every 15 minutes to once per minute or less using just a fraction of the bandwidth.
  • Designed various sync related APIs and algorithms, reviewed code and mentored other engineers, QA and support.
  • Implemented UI design in a CherryPy Application using Cheetah templates.
  • Troubleshooted and fixed customer issues.

SpikeSource, Inc., Mountain View, CA

Senior Staff Engineer

2008-2010

SpikeSource helped companies build, test, package, distribute and maintain software products. One of the engineering leads.

  • Created, extended and maintained small Pylons and CherryPy applications.
  • Implemented simple forums in CakePHP and Java web applications, and click-through tracking in CakePHP.
  • Built UI plugins for Hyperic using Python, Groovy, HTML, CSS, Javascript (dojo) using AJAX and JSON.
  • Designed RESTful API for a machine provisioning system, and implemented client side library for it in Python.
  • Improved development processes and tools for the whole engineering department, improving application quality and developer productivity; reviewed most Python code written in the company to follow best Python and engineering practices.

Open Source Applications Foundation, San Francisco, CA

Development Manager

2003-2008

Open Source Applications Foundation (OSAF) is a non-profit organization behind Chandler, a personal information manager (PIM) written mostly in Python. Primary security engineer, and manager of small distributed team of 1-3 engineers and interns.

  • Added cryptographic services, including SSL/TLS support and password manager, to Chandler.
  • Wrote one of the first test frameworks for the Cosmo CalDAV server using Python doctests.
  • Created and maintained continuously running Chandler performance tests and reporting infrastructure. Profiled code to find and optimize badly performing parts. Used Valgrind and other tools to find and fix memory leaks.
  • Acted both as manager of build/release and QA teams as well as the build/release engineer, debugging build problems and creating releases.
  • Hired engineers and participated in creating position descriptions, doing phone and face-to-face interviews.

Netscape Communications Corporation, Mountain View, CA

Technical Manager, Software Development

2002-2003

Senior Software Engineer

2000-2002

Contributed to the team that created Netscape 6.0 - 7.1 and the Mozilla browser. Owner of the XML module. Drove security work of Netscape browsers, and managed global team of 6-10 engineers and interns who worked on web standards and browser security. Consistently exceeded expectations.

  • Improved browser security by organizing security reviews and using tools to find and eliminate security vulnerabilities and motivating engineers to the importance of security issues during a time when the company's future was uncertain.
  • Improved design and code quality by acting as a reviewer, which required rapidly analyzing thousands of lines of code written by other engineers and providing constructive feedback on how to make it better.
  • Implemented XPointer, FIXptr and simple XLink, brought XHTML support on par with HTML, improved XMLHttpRequest object support from proof-of-concept state to one of the most useful features in the browser.

Citec Software Ltd, Vaasa, Finland

Software Developer

1998-2000

SGML Consultant

1996-1998

Citec is one of the largest consultant companies in Europe specializing in technical documentation. Key contributor in team that produced software and services used by world leaders in aerospace, telecommunications, defense, elevator and escalator industry.

  • Designed and implemented database extensions to Multidoc Pro SGML browser using C++, MFC, SQL and ODBC.
  • Designed and implemented simple XLink, XPointer and HyTime links in DocZilla SGML/XML/HTML browser that enable sophisticated hyperlinks in structured documents.
  • Designed and implemented customized Mozilla-based applications using XUL, JavaScript and C++ according to strict requirements, specifications and schedules.

Various Companies, Finland

Various Roles

1993-1996

Designed and implemented several small-scale programs and parts of programs in short-term projects producing Web and Windows applications using languages such as ANSI C, Perl and Visual Basic. Teaching assistant for a university C/C++ Programming course.

Education:

MS (Information Technology), University of Jyväskylä, Finland, 2000.

Computer Science Diploma, University of Kent at Canterbury, UK, 1995.