Ryan Munro—Full Stack Developer

Githubryan@submersible.io — Portland, OR 


Hi, I'm Ryan! I develop web applications. You can hire me to build your idea.

Email me at ryan@submersible.io for hiring, or resume.

Technology

Specializing in front end applications, back end websites, and RESTful APIs; below is a list of technology that I have leaned on in my career.

Programming Languages:
• Proficient: ActionScript, Haskell, Java, JavaScript, Python, Swift, SQL.
• Workable Knowledge: C++11, C#.NET, Clojure, Obj-C, Perl, Ruby, Rust.
Web Technologies: AngularJS, Backbone, CORS, Django, HTML5, PhoneGap, Stylus/SASS/LESS, Web Sockets, Web Storage, Web Workers.
Databases: PostgreSQL ♡, Redis, MongoDB, MySQL.
Administration: Amazon AWS, Apache, Buildbot, Docker, Fabric, Nginx, sshd, Varnish.
Interests: ReactJS, Functional Programming, Declarative Programming (yay AngularJS!), Reconfigurable Computing, Digital Circuits.

Code Quality

I am a big proponent of automated testing, unit tests to assert that my functions work for all edge cases, and Selenium testing to be sure that it's working in the browser. Not only does it make it easier to check if the entire site is still working, but it saves time in the long run from manual testings and constant regressions.

My opinion on white spacing is that it needs to be consistent, my code style will follow the code that surrounds it. Writing self-documenting code is also very important, I will give variables and functions obvious names, and comment non-trivial pieces of functionality. Also, my tests will provide further documentation.

For designing and communicating large systems, I use OmniGraffle.

Appearances

February 27, 2013 @ Portland JavaScript Admirers — Pointfree style in JavaScript [event info.]
February 23, 2012 @ Portland JavaScript Admirers — Dives into JavaScript syntax, and explains the magic behind Wat [event info.]
January 25, 2012 @ Portland JavaScript Admirers — Modular Programming & JavaScript Module Loader Comparison
August 28, 2011 @ Node.js Knockout — Contestant at the Node Knockout programming competition, built a multiplayer web based version of RoboRally

Open Source

Node.js

magnolia — A beautiful MongoDB driver w/ Promises!
self — Python-like class sugar. No more "var that = this"!
signobj — Trust your JSON—cryptographically signed data
figs — Configuration manager

As well as contributer to many Python, Node.js, Angular, and Django projects.

Work

For code samples, feel free to poke around my Github profile, and organization.

GetRinger.com — 2014

Personal project of mine that allows gamers to connect with other games.

Technology: AngularJS, Node.js backend with MongoDB, Websockets & redis for real-time chat

Below is an example of the login / signup automated test. Manual testing is for people who have time on their hands!


Slant.co — 2014

Palo Alto startup crowdsourcing the way we find the best, now with the ability to favorite the products you love! As well as automated testing.

Technology: Backbone, Node.js, Postgres, Stylus, GruntJS, Selenium, CircleCI


Tarot.com: Daily Horoscope Chrome App — 2013

Fully I18n, and L10n for with translations in Japanese.

Technology: Python, AngularJS, Sass, Foundation, GruntJS, Django Backend API


JP.Tarot.com: Launched in Japan — 2013

Technology: PHP, Postgres


Tarot.com: Changing Room — 2012

Part of a push for gamification, implemented a system for users to collect orbs, which can be spent on accessorizing the user's zodiac sign.

Technology: PHP, PostgreSQL, BackboneJS


pdxhack.com — 2012

A side project of mine, this site enables developers to rate locations for their "hackability", i.e. how well the location is for working on one's laptop.

Technology: Node.js, MongoDB + Geospatial Indexing, BackboneJS, Google Maps API, Foursquare API


MessageInTheForest.com — 2006

I built this site while in high school, and it's still running; untouched! A cute site where users can carve a message into an "enchanted forest".

Technology: ASP, MS-SQL, JavaScript, PayPal API