Adam Kangas

has no shame, but he does have a website.

Profile

Freelance Software Developer / Consultant
Computer Software | Melbourne Area, Australia, AU

Summary

I'm a triple-threat:

- I write code that *gasp* actually works!

- I speak "human", unlike some developers. You can put me in a client meeting, or have me write some technical documentation for your grandmother.

- I understand the business side of things. While we strive to create the best technology possible, we need to juggle the facts that development costs money, clients need to be satisfied, and products need to ship.

I spent five years working on projects involving search algorithms, internet advertising, browser plugins and Javascript widgets for Snap Technologies Inc. in Pasadena, California.

During this time I learned how to deploy and maintain successful web technologies used by millions of websites daily, using custom software running on hundreds of servers.

Now that I've been bitten by the web application bug, I'm excited to share my expertise with the world. I know what's involved with building engaging sites from the ground up, and am available for consulting, project management and development projects.
Specialties: Complete web application development (back-end and front-end), online strategy consulting, user experience, project management and budgeting. Frameworks such as Ruby on Rails, CakePHP and Wordpress.

Experience

  • Jan 2010 - Present
    Freelance Software Developer / Consultant / Self - Employed
    http://www.adamkangas.com
  • May 2005 - Jan 2010
    Senior Software Engineer / Snap.com
    Lead back-end developer on Snap Shots, a product which shows rich previews of a website’s outbound hyperlinks to users on mouseover.

    Back-end developer on Snap LinkAds, a product providing procedurally generated contextual ads. Through machine learning, the system converges towards showing ads that work while abandoning those that fail.

    Scaled the Snap Network to support installation on millions of websites, including major blogging networks (e.g. LiveJournal, Wordpress.com), servicing thousands of requests per second.

    Wrote custom database software, web servers, load-balancing proxies, and message queue systems to maximize throughput and redundancy while minimizing latency across hundreds of colocated Linux servers.

    Core in-house technologies worked on:

    - Custom key-value database for efficient, compact storage, querying and transmission of all in-house data. All data stored compactly in a custom binary format. Individual databases may be partitioning over any number of servers, to ensure redundancy and fast data access. [language: C | relevant libraries: glib]

    - Custom high performance web application server. Given a YAML or XML configuration, incoming HTTP requests are handled by making parallel requests to data sources such as databases, external partner APIs, RSS feeds fetched in realtime, etc. [C/glib]

    - Custom load-balancing, fault-resistant proxies to sit between frontend and backend services. [C/glib]

    - Custom message queue system to manage data flow despite rapidly evolving lists of publishers and subscribers. [C/glib]

    - High-performance HTML/XML scraping system, utilizing multiple cores/processors as available. [C, Ruby]

    - Ruby Gems to provide access to in-house C libraries for utility scripts and Ruby on Rails applications [C, Ruby]
  • 2005 - 2010
    Senior Software Engineer / Snap Technologies, Inc.

Education

  • 2001 - 2005
    Harvey Mudd College

Additional Information

Websites:
abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz