Friday, January 13, 2012

Heroku's Waza - Calling All Application Developers

We had an awesome opportunity to attend Heroku's first developer event, Waza, on Wednesday. As defined, Heroku's Waza is "a free developer event for the study of technique". "Technique" was also the password for the wireless - fun stuff.

Waza had a precisely tuned focus on the developer experience. Perhaps they used the Feynman Problem-Solving Algorithm to address their main goal, which was obviously something close to "set the standard for developer events". Adam Seligman and team outdid themselves.

In the keynote, founder Adam Wiggins touched on a topic that is key to the CloudSpokes community.  He mentioned that there's a difference between application developers and programmers. While partly a semantic argument, the differentiation he brought up was that on one hand, you have app developers who are working in a real world environment for a real world experience. On the other hand, you have ivory tower programmers, usually centered solely on a single language and far removed from the customer experience. Heroku's founders have mentioned before that they believe the new PaaS-driven cloud development world is ushering in a new kind of polyglot app developer. While careful not to dismiss the value of pure programming, Wiggins encouraged developers to not work in an ivory tower (and not to miss out on connecting with the excellent crowd as the priority over the sessions, which were being recorded), as he closed his remarks.

While we were unable to attend every session, we'll post the recordings from our favorites as soon as they're available. Some notes from some of the talks we did catch:

Morten Bagai, Heroku PM: "The Cloud Services Revolution"
  • The evolution: Agile --> PaaS --> Cloud Services...
    • The value to the cloud is the service - some community of experts committed to making this solution work for you
    • There's a difference between running something in the cloud, and having a cloud service
    • App Devs need to be able to focus on the app, using the service, not scaling and maintaining
    • Cloud Services are built for developers, designed to make your life better
  • Why is this significant now?
    • We've had IaaS for a while now, but not quite in this way
    • 5 years ago, it was the G Drive, for example. Service was a support contract. Scale meant adding more boxes
    • Now with AWS leading the way, you have a shared, worldwide, low-latency infrastructure with low ping times - all in the same cloud
  • What does the future hold?
    • A way to measure the quality of a cloud service, similar to how you can rate your experience in an ecommerce environment

Corey Haines, Facilitator, Coderetreat: "Effective Development From Full-page Refresh to Real-time Interactions"

  • Deploy on Day One
    • Every minute you're not deploying is a minute you're not getting feedback from users
    • Cut down the feedback cycle
    • As you develop, get it infront of the customer - you want to have the ability to quickly see if what you're building is what you should be building
  • The Feynman Problem-Solving Algorithm:
    • 1. Write the problem down
    • 2. Think hard
    • 3. Write the solution down (that's a lot of what coding itself actually is)
    • There's often controversy about whether to code, think, wait, etc
    • What's missing from the Feynman Algorithm: 4. Repeat!
    • And the key here, is to do this as fast as possible
  • "The 5 Whys"
    • "I want XXX"
    • Why?
    • "Because XXX"
    • Why? (Obviously this is an annoying exercise, but fundamental)
    • By constantly asking yourself why you're building this first, or adding this feature in that manner, and continuing to ask until you get to the real root of the problem, you force yourself to address your problem correctly without bias
    • For fancy new "shiny objects" (new tech), have your side projects and hobbies. For your real world apps - do what's right and do what works

Here at CloudSpokes, we're very excited to be at the forefront of this new shift in enterprise development. We agree that the application developer, who can leverage many different languages and quickly solve business problems, is the future. Therefore we gear our challenges towards multi-language attempts at real-world solutions, where speed and efficiency are key, and the ultimate end goal is a seamless user experience.

As Morten states above, cloud services is the next evolution of development, and we wholeheartedly agree. We believe in services, and often look at CloudSpokes as a service to our community members and sponsors. This community rebuilt our entire site using services, and it's something we're extremely proud of.

We're also obviously big fans of Heroku, and highly recommend checking out any of their future dev events and our Heroku challenges.

No comments:

Post a Comment