Tuesday, April 23, 2013

A Day in NYC: #AWSSummit and FB Mobile DevCon


I spent last Thursday (April 18th) attending the morning keynote at AWS Summit and then the afternoon hands on session at Facebook Mobile DevCon.   Posted about the experience on the Stuzo blog. 

Not in the Stuzo Blog. 
The night before I was at the Philly Java Users Conference with Sacha Labourey from CloudBees hearing him talk about Platform As A Service.  From my view the PaaS really extends AWS, getting to the point of continuous delivery and further removing obstacles for building software. 



Monday, April 8, 2013

Thirty Days Ago



I want to talk about my first thirty days at Stuzo, but first I think it is a good idea to do a retrospective on my time at MeetMe formerly QuePasa through the MyYearbook acquisition. I am very appreciative for the opportunity to have worked with a talented group of individuals and a management team that was able to grow from 10m to 46M in sales.

After learning more about the organization, and beginning my work there, I was able to focus on three attributes of building out an engineering team.

1. Passion - surround yourself with really passionate people. Find passionate, smart people who are willing to challenge each other. Love being around those folks! When my team looked back over time they would say, “ I would probably not have been hired if I interviewed today.”  My goal was to continually add smarter people. This works because the new folks constantly push others and that continued passion becomes viral. When I left, we regularly had an annual developer retreatinternal hackathons and folks that contributed back to the local community.

2. Commitment - to getting things done. In my first thirty days, I remember launching a solid social application for music / playlists using iMeem API (Matt K always did a great job building user interfaces). The MySpace /iMeem mess aside, I was blown away that we could launch this app, watch it take off with great visibility into the core metrics, and then instantly get mass user feedback.   After my first year, I looked back and realized that even though I worked at some great companies, I have never delivered that many services and applications so quickly and at scale. Fast forward four years, and year over year I was continually impressed. In just over the past year we merged (and stayed operationally focused), rebranded (and grew), launched in twelve languages (web and mobile), delivered many new features and releases for the iPhone and Android platforms. The team always had and still has the commitment to get things done.

3. Respect - for each other. When working in the same location and spending hours together, if you don't get along or respect each other there is not much room to hide. You will go through your day pretty disgusted. This is not a place where folks are going to stay. When you see that level of frustration, you must bring your team together to keep the organization working productively.  Respect helps people to have intelligent disagreements and continue make progress.   We had that respect as a group and coming in everyday was something I enjoyed. 

What could have I been better at?

1. Push changes to our process earlier. We moved recently into using KanBan but I did not experiment enough. We had a well defined process from day one and it worked but could have pushed harder.

2. Contributed earlier into the local technology community and make it more part of the way we were. It's not core to the business and not top priority but it does help with recruiting and retention, the key part to scaling an organization.

3. Removed myself from day to day management and at times focus strategically. I really did (and think the team often appreciated it) give a lot of myself.  This meant I spent less time being able to contribute to thinking strategically. I enjoy the creative and learning experiences you get from thinking deeper about the business model.

Retrospective over, looking forward while having enjoyed a great ride.

Sunday, April 7, 2013

Gerrit Replication to Bitbucket or Bitbucket and Pull Requests

In the past I opted for larger development teams to use Gerrit as the code review tool.  Gerrit being a solid tool with low frills can be setup to manage reviews and define your process.   Gerrit replication while meant to provide scale through read only repositories, can also be used to sit in between review repository and deployment repository.   We are evaluating for use where Gerrit is for review and BitBucket is for deployment and browsing.  Modifying the diagram at Gerrit Quick Intro to illustrate a model we are considering describes the split between review and deployment.




I know there is Stash for better management and it looks good but Jira + Confluence + BitBucket + ...  keeps adding up.    Also we could stay the route with pull requests though in a previous life with even a small team pushing lots of code with branches the pull request interfaces were cumbersome.

I am still leaning towards the usage of Gerrit and taking advantage of the other great features in bitbucket likes its long list of services and direct support Jira and Jenkins.   However my friend  Brian suggests I take another dip back into pull request land.

What to do?





Thursday, April 4, 2013

Yehuda Katz presents EmeberJS in Philadelphia

Thanks to Yehuda Katz for his talk on ember+ES6 for us non PhillyETE attending folks.

Here are my quick notes but definitely suggest catching him live or searching youtube to see him present.

Ember
- provides organization for your application
- fundamentally uses HTML, does not define its own way
- allows you to extend HTML
- focus on URL because it provides context, if your web app does not keep the URL as context it's not a web app.

Then he did a walk through of sample application, rapid paced intro but covered the highlights.

A good question from the crowd about what happens to all these server side frameworks (specific question targeted at Ruby). Yehuda's response for me was dead on, the front end is where things are going but not everyone is seeing it yet.  Leaving server side frameworks scratching their heads to define how they will better support this growing architecture.

My public response was that we agree and have already started the switch. As we continue to see this increased switch from web to mobile, building APIs and separating out the UI work has made life easier.  Everything as an endpoint has been a promise for a very long time and with the [Internet of things] happening all around us it is becoming a reality.

For myself transitioning between MeetMe where we got ahead of the mobile curve (2011 TC MyYearbook mobile growth) and at Stuzo where we are helping customers through the transition using frameworks like backbone, ember or angular seems to make sense for building responsive UI and mobile applications. We are building expertise on Angular as a team but I expect quite a bit of jockeying between these frameworks as they build their rockstar communities.

Thanks again to Yehuda Katz for sharing knowledge and talking passionately about his thoughts.