I am a senior web developer, specializing in backend/API development. I try to strike an appropriate balance between production and perfection, the pragmatic and the ideal.
I am known by my peers for translating theory into application for solving every business problems. I am a go to person for things like REST/Hypermedia, HTTP, caching, testing strategies, program correctness/software verification, and software architecture, among other things. I love a good design discussion, wrestling with the trade offs and coming to a decision so we can move forward.
I love learning about how operating systems and programming languages work from the inside out. You'll find me tinkering with lesser known and rising languages such as Rust, Haskell, Coq, Idris, OCaml, and Elm. In sessions I bring an in-depth intuition and knowledge of how things work. I am excited about computer science in general and in particular the "holy trinity" of proof theory, type theory, and category theory. Even though I have much to learn I continue pursuing and finding ways to apply these theories in daily software development.
I have been designing and building REST APIs for around seven years now.
Over the last four years I have spent a great deal of time researching and learning how to build RESTful APIs that are driven using the Hypermedia constraint (what some call HATEOAS: Hypermedia As The Engine Of Application State).
The last two years I have had the opportunity to architect several successful Hypermedia-enabled REST APIs. These web services are the engines behind single page applications as well as native app clients. These services have scaled to serving hundreds of thousands of users, with peak loads of many thousands of concurrent requests per minute.
My first experience with Ruby was over 10 years ago when I started reading the Pick Axe book. In January of 2005 I was introduced to Ruby on Rails by a friend. Back then Rails was still a 0.x release. Later on I began to learn Rails and with it my Ruby programming skills began to take hold.
Since then I have worked on a number of production Ruby on Rails web applications and written a few Ruby gems in the process as well.
I started web developing by teaching myself PHP (starting on version 3) and MySQL. From there I began building my first web applications. I developed my own private libraries and frameworks for handling everything from routing to form validation to database connections and querying.
From 2011 through 2012 I followed the OAuth 2.0 working group with high anticipation as it developed the specification. During that time I developed an REST API that was secured with OAuth 2.0 following the spec's 18th draft, the latest available at the time.
OAuth 2.0 is much easier to implement than its predecessor OAuth 1.0, although the first one is arguably a more secure authentication mechanism thanks to its request signing features.
Phil's sharp thinking saved me hours of digging into an issue! I'm impressed.
Oct 11, 2015
Got me started with maven&git. Great introduction to them both, using a real problem i was having - thanks Phil!
May 23, 2015
Very efficient and helpful
May 11, 2015
Phil was great! I originally put out a request for help creating my first single page app, but I ended up asking him several novice questions instead. Phil didn't mind at all and enthusiastically clarified several general programming concepts that have been confusing me for awhile.
May 10, 2015
He was a really big help. Solved my problem in under 5 minutes.
May 07, 2015
Phil is very easy to talk to, developer-to-developer, and helped me see what I was missing with the SSL issue. We also discussed Git and real world strategies and why to use them. Very helpful.
May 03, 2015
Awesome help! Clearly enjoys helping people!
Apr 30, 2015
Great job! Solved my semi-obscure PHP/CakePHP problem.