Alo Sarv

software engineering, psychology, user experience, marketing, user interface design, drumming

Resume

Alo Sarv

EDUCATION

  • Kehtna Economy and Technology School (2000) (Kehtna, Estonia)

MILITARY SERVICE

  • Estonian Defense Forces (2001) (Tartu, Estonia)

EMPLOYMENT HISTORY

Maintenance Database Programmer
Elamu Grupp OÜ
October 2002 – January 2003
Tallinn, Estonia
  • Maintenance programming of a medium-scale database system in MS Access / SQL / VBA.

Programmer
xMule P2P Client (based on eMule)
April 2003 – August 2003
Tartu, Estonia
  • Maintenance programming and debugging a 100,000-line C++/wxWidgets codebase.
  • Porting eMule features from MFC/Windows to wxWidgets/Linux.
Database Programmer
The Botanical Garden of the University of Tartu
February 2006 – April 2006
Tartu, Estonia
  • Developed an online database system for managing large list of plants and their status.
  • Using MySQL, PHP and HTML.

Lead Programmer and Architect
Hydranode Project (modular P2P client framework)
May 2004 – May 2006
Tartu, Estonia
  • Designed and developed a general-purpose cross-platform class library providing API for networking, event multiplexing, files checksumming, UPnP and network traffic scheduling (hnbase module, 14,000 lines of C++/STL/Boost code).
  • Designed and developed a general-purpose cross-platform class library providing API for filesharing-related functionality such as handling downloads, shared files, metadata, clients management and more (hncore module, 13,000 lines of C++/STL/Boost code).
  • Designed and developed eDonkey2000 networking plugin based on hncore/hnbase architecture; implemented 90% of the eDonkey2000 protocol specification (15,000 lines of C++/STL/Boost code).
  • Designed and developed BitTorrent networking plugin based on hncore/hnbase architecture; implemented basic Bittorrent specification (6,000 lines of C++/STL/Boost code).
  • Designed and developed an inter-process communication mechanism using TCP/IP networking and binary protocol to provide means of attaching local or remote user interfaces to the Hydranode core architecture. (6,000 lines of C++/STL/Boost code).
  • Developed graphical user interface for the Hydranode core architecture, which interacts with the Hydranode core using TCP/IP networking. (9,000 lines of C++/Qt4/Boost code).
  • Wrote technical documentation for all of the above-mentioned components; RFC’s and general overview documents.
Database Programmer
Omandi OÜ
June 2006 – December 2006
Pattaya, Thailand / Tartu, Estonia
  • Developed an intranet system for managing projects, clients and personal; scheduling projects and vacations and keeping track of inventory.
  • Using Web 2.0 technologies such as AJAX, JavaScript, XHTML/DOM and JSON-based RPC mechanism.
Contractor / Senior Software Engineer
Jittr Networks Inc. / Vusion, Inc.
January 2007 – April 2009
Pattaya, Thailand / San Jose, US
  • Designed and implemented Vusion Intelligent Client and client-side smart streaming algorithms which work behind firewalls, NATs and proxies. The client also has dynamic scaling system allowing it to achieve maximum datarate even under worst network conditions.
  • Designed and implemented WARP peer-to-peer distributed content delivery system
  • Implemented a distributed TCP NAT traversal algorithm for real peer-to-peer NAT-to-NAT transfers
  • Designed and implemented WARP peer-to-peer system server-side components
  • Designed Jittr Ad & Content Exchange (JACX) interface (unreleased)
Director of Engineering, Co-Founder
Rippol Inc.
April 2009 – December 2009
Pattaya, Thailand / San Diego, US
  • Lead a remote team of engineers and designers to create a social video discovery website
  • Developed a complex AJAX/jQuery-based user interface based on design specifications
  • Implemented deep UI integration with Facebook and Twitter
  • Consulted design team in the areas of user experience and UI usability
  • Implemented a web spider/crawler in Python which discovers videos from various sites across the internet

LANGUAGES

  • Estonian (mother tongue)
  • English (fluent in spoken and written)

COMPUTER SKILLS

  • Cross-platform, parallel and distributed programming in C++ (STL, Boost, Qt, wxWidgets) (7 years)
  • Web programming in XHTML, CSS, Javascript (jQuery) (4 years)
  • Scripting languages (Python, PHP) (4 years)
  • User experience analysis and UI design (4 years)
  • MySQL database design and administration
  • Linux servers setup, administration and maintenance
  • Writing technical design documentation and analysis

INTERESTS

  • Parallel and distributed programming
  • Statistical analysis, human psychology, financial markets
  • Marketing
  • Playing pool and drums
  • Writing (anything from technical documentation / designs to random blogging)