Our Engineering Best Practices – what are yours?

This blog post is not for the average PayrollHero user, fan or follower, and not for the faint of heart – we must warn you that it’s quite technical!

However, we would love feedback/comments from you developers/programmers/techies out there!

photoAs a bit of background, the PayrollHero Engineering team has a mandatory weekly meeting with every Engineer in attendance. We use that meeting as a forum to work out any issues we’re having, or discuss stuff that’s been bugging us, and even set policies.

We wrote out some of the best practices we already have in use, and some more that we may want to adopt, and then we voted them in as standards for the team, which will essentially becomes our constitution. Our goal is that these Best Practices will help us create higher quality code, and at the same time avoid some typical internal conflicts.

This list is a work in progress, and every other week we agree to add or modify items. I’ve pasted them here below the break since it’s quite a list!

We’d like to invite feedback on this list. Where this stacks up against stuff your developers/programmers/engineers do? Your comments are welcome, please let us know what you think.

Continue reading

AWS re:Invent

Drive from Whistler to Bellingham ~200km

Last week we went to AWS re:Invent Conference, we thought that once we get there the fun stuff will begin, but even the trip down there itself was an adventure.

We left Whistler early in the morning, to make it down to Bellingham for our 11am flight. Arrived at the airport at around 9am, stood in the line indefinitely until around 11am, we were told that the plane is late (duh), and that it will not be here for another 4h or so, great …

We packed our bags back into the cars and went to grab lunch and waste some time.

We were checking the airline website the whole time to see what the new estimated time was. Anyways, we did finally get to fly out, it was around 4pm by the time we left and around 7pm by the time we got to Vegas, we imagined our day a bit diffrently 😉

Anyways, that was Monday.

On Tuesday, I went to my Workshop session. It was a whole day security session, presented jointly by RightScale and Trend Micro. RightScale showcased their product to get everyone up to speed on how to use it and Trend Micro showcased two of their products, Deep Security and SecureCloud. Overall I didn’t get that much value from the first half, since Ubertor has been with RightScale for years and I’m pretty famillar with it. The second half was a bit more useful for me since I’ve never seen any of Trend’s products, altho I’m not sure if/when we’ll make use of them. Still it was good to understand options. A nice bonus from this session was that it came with a $200 AWS credit code, so it technically made the session cost only $300 not $500.

Wednesday was the first day of the conference. During the keynote AWS announced further reductions in S3 pricing and the introduction of their new RedShift product, which is a large scale data warehousing solution, seemingly backed by Postgesql technology. They also summarized that they have released ~100 new features last year, and they expect to double that in 2013.


(from the keynote #1 video on YouTube)

They mentioned a crazy statistic: AWS adds more servers DAILY, than Amazon owned entirely in 2003.

At the end of the day was the big re:Play party. AWS kept us well inebriated and fed throughout the event so kudos for that.


Sorry about the blurry pic 😉

Thursday was the second day of the conf. During the second keynote, the Data Pipeline service which allows easily grabbing data from a bunch of sources, churning it through a massive array of map reduce instances and dumping the result somewhere else. All this can be configured through a gui workflow builder and overall seems pretty neat. I’m not sure what we specifically can do with it, but I can definitely see applications for it if you do any log processing or whatnot daily.

Over the two days of the conf, I mostly went to security and architecture talks. My main takeaway was a bucket list of little security tweaks here and there that should make our system even more secure than it already is. As for the architecture talks; Netflix has a bit of an insane setup. They have 100’s of little applications, all managed by different teams, all at different uptime standards. Its pretty amazing what systems they put in place to basically allow any of these pieces to fail and their system to continue working.

Netflix setup looks something like this: (grabbed from their slideshare deck)

I’m looking forward to next years’s re:Invent. The cloud landscape keeps maturing every year, I remember just a few years ago the whole idea of “Cloud” didn’t even exist ….