Silicon Valley Code Camp : October 5th and 6th 2013
Aaron Schlesinger is a Sr. Software Engineer at EngineYard where he’s a core contributor to the Deis project. He leads or contributes to development on much of the Go codebase in the Deis PaaS platform and also mentors beginner Go developers at EngineYard. He’s been a software developer for 10+ years, and most of that time has focused on distributed systems from large scale data warehousing to real time servers. Being a Go developer for the past 2+ years, he has distilled his knowledge of the language into the Go In 5 Minutes screencast (http://www.goin5minutes.com) as well as speaking at various conferences and events about Go. He holds a Bachelor’s Degree in Computer Science in Engineering from the University of Michigan, Ann Arbor.
Over the past 4 months, StackMob has transitioned from a monolithic app to a Services-Oriented Architecture (SOA). Early in the transition, we decided to use REST as our RPC mechanism and JSON as our data interchange format.
Before we evaluated REST clients, we already were using Scala and Scalaz heavily, and built everything in the functional style. We decided to build our own REST client called Newman (http://github.com/stackmob/newman), also in the functional style.
Newman shows how well the functional style is suited for representing REST semantics in code, and how it leads to safer code by the implementor and user. By keeping a functional style, we can build high level features more quickly than with other styles. The library is open source on github (http://github.com/stackmob/newman), and issues and pull requests are always welcome.