Getting Started with Ruby on Rails - What Tools do you Use?

Comments Comments

Cbq
CBQ
28
Aug

A friend recently asked us, here at Highgroove:

“I am wanting to get into Ruby and Ruby on Rails development—what tools should I use, so I can start with a leg up?”

It’s a great question, and once we answered, our friend said: “you should put this on-line.” So here goes…

Read more... More

Trust your tools

Posted in Keeping it Simple, Atlanta, Business Comments Comments

Jonathan
Jonathan
19
Aug

As relatively new parent, my oldest is about to turn five. I’ve attended enough young kids’ birthday parties to develop a standard rating system for a successful party. My rubric is simple and effective.

  1. Do they serve adult beverages?
  2. Do they serve adult food? (burgers = good. steak = better. no food? it better be a short party)
  3. As an adult, do I get cake?
  4. What about ice cream?

Its a simple system and it has helped me plan my own kids parties.

Good projects work the same way. A simple set of guidelines, when followed, insure success. Of all project guidelines, effectively managing scope is the most important. Pivotal tracker, our agile project management software of choice, keeps us on the straight and narrow when it comes to delivering value to our clients. This point was driven home for our recent work on a client’s project.

Read more... More

Week One at Highgroove

Posted in Atlanta Comments Comments

Chris
chris
14
Aug

After several years on the Operations team at SugarCRM, I decided to change things up a bit. As of this past Monday, I am now a Software Developer at Highgroove. The step from managing system infrastructure to programming in Ruby on Rails is a big one, but so far it’s been a blast.

Around 10am Monday, I biked the 4 miles from home to the office to an Aeron chair, a shiny new MacBook Pro and widescreen monitor, some snacks, a copy of Work Sucks, a cigar, and an empty office! Highgroove is a Results Only Work Environment so some people were working from home and others were still asleep. Eventually (most of) the rest of the team biked/motorcycled/drove in and started getting things done.

Ruby on Rails (and Ruby!) is completely new to me, but I’ve been picking up things pretty quickly. By Tuesday I was billing hours to a customer on a project, and by Wednesday I’d make a significant performance improvement contribution to another project. Matt, Charles, and the rest of the Atlanta Highgroove team have been exceedingly helpful answering my questions and explaining all of the magic that Ruby on Rails does behind the scenes, and I can now see why people that use Ruby on Rails think so highly of it.

The breadth of projects here is pretty huge: from enhancements on pretty straightforward web applications, to architecting high-volume APIs in front of huge data sets. I’m particularly looking forward to starting a new test-driven-development project with Rails 3 that relies on Chef and Capistrano for deployment to the cloud, using Pivotal Tracker to communicate with a client over as many iterations as it takes to deliver the end result.

Around 5pm, the music gets turned up and things wind down as people trickle out to concerts, bike rides, date nights, and things other than waiting for a pager to go off in the middle of the night! It’s been a great first week and I’m looking forward to the months to come.

Integrating Facebook into your Rails App via the Open Graph API

Comments Comments

Jonathan
Jonathan
28
Jun

If you’re keen on the tongue in cheek, check out my amazing blog post about integrating facebook into a rails app.

For the short and sweet version, you can jump to the README on my github fork of facebooker2.

Attending the BrandCamp Workshop

Comments Comments

Cbq
CBQ
28
May

I just got back from Matchstic’s May BrandCamp—a 2-day intensive workshop for companies on branding, and specifically for helping companies define their own brands.

I am so excited about what we learned about Highgroove, and what makes our team so unique and special, when compared to all the other software development shops. It used to be our differentiator was Ruby and Rails, but with so many other companies now realizing the competitive advantage (or at least claiming they know it), we’ve come to realize that our clients love us for many many other reasons. The fact that we’re experts in Ruby and Ruby on Rails is only one of many factors.

I’ll be blogging more about what we’re doing to help solidify our brand—the brand we already knew and had, but now has become so much more clear.

Dealing with Downtime

Posted in Keeping it Simple, Business Comments Comments

Cbq
CBQ
07
May

One of our client’s web services (an API) experienced some brief downtime recently, related to an error on our part in rolling out some new data.

Things like this happen—they’re inevitable when dealing with even simple APIs and web applications. But, it’s not the downtime itself that is the main problem, it’s the communication of the issue, the solution, and the future prevention that are more important.

A first draft of our e-mail to the client had a sentence like this:

“Our sincerest apologies for this service hiccup, we always strive for the highest quality products and services and feel terribly when something like this occurs.”

This was quickly scrapped, since this sentence:

  • is totally not our style. We prefer simple, clear communication, and this has a lot of fluff.
  • doesn’t really say anything. It sounds a little market-y, and that’s not our job.
  • doesn’t contain any details about what what happened or the solution, or how we will prevent it from happening again

Instead, we just simply outlined 3 main points:

  • what caused the issue
  • what we did to solve it
  • what we implemented to prevent this from happening (a Scout plugin!)

Much better, don’t you think?

Welcome Jonathan Wallace to the Highgroove Team

Comments Comments

Cbq
CBQ
01
May

Jonathan Wallace has joined the Highgroove Team!

Jonathan joins us as a Ruby and Rails Developer, out of our Atlanta office. Jonathan blogs over at Two Minute Spates on Ruby, Rails, iPhone, git, and entrepreneurship.

His previous role had him telecommuting, so joining our Results Only Work Environment (ROWE) will be easy for him!

Now, if only we could find time to pull him away from all that awesome client work to fill out his bio for the Highgroove Team page….

Creating the Minimum Viable Product

Comments Comments

Cbq
CBQ
26
Apr

The NYTimes.com had a fantastic article this weekend on The Rise of the Fleet-Footed Start-Up. Here at Highgroove, we have been preaching about being lean, building products agilely, and doing more with less for quite some time. It’s great to see a piece in the NYTimes.com Business section advocating this now-proven successful model.

...the lean playbook advises quick development of a “minimum viable product,” designed with the smallest set of features that will please some group of customers. Then, the start-up should continually experiment by tweaking its offering, seeing how the market responds and changing the product accordingly.

Ready. Set. Iterate!

The 4 Things We Look For in a Code Review

Comments Comments

Cbq
CBQ
20
Mar

Most developers think that every “other” developer’s code is “no good.” In fact, it is exactly this “Not Invented Here” syndrome that makes it dangerous for other developers to evaluate an existing project’s quality without a checklist or template as a guide.

Here are a few of the things in Highgroove’s Code Review tool-belt, that we look for:

  • Tests – This is a given – Ruby on Rails ships with a great test framework. Your app needs tests. The default suite will do! Many developer teams will even upgrade the testing suite, adding RSpec and Cucumber, Selenium for in-browser testing, rcov for code coverage, and FactoryGirl for fixtures and test data. Without tests, you’re bound to regress (“Jim fixed a bug, but looks like he added a few more…”). Bottom line: Tests = Quality.
  • Idiomatic Ruby and Rails – Did the developers use standard plugins, or did they re-invent pagination? Did they use a search plugin or did they write their own fancy-pancy algorithm for search? Are they using helpers, or just copy-pasting code all over the place? This can tell a lot about a code-base and how easy to maintain it is and will be long-term.
  • Code Look and Feel – We are actually looking for indentation, comments, and commented-out code here. This may seem strange, but projects that have lots of sloppy indentation means a developer didn’t have much respect for the code long-term. If they’ve got a lot of code commented out, it appears they “got something working” and then didn’t bother cleaning up. It’s the equivalent of a mechanic who fixes a car, but leaves bolts lying around, loose, dings up other pieces, and doesn’t clean up. Yikes!
  • Bootstrapping Documentation – How easy is it to get a new Developer up and running? This may seem strange to check for, but just looking to see how well the current Developers expect other Developers to be able to get up to speed is a sure sign of a quality application. It takes a high level of maturity to realize, as a Developer, that you will not always be the only one working on a project!

Even when we come across a project that may not contain many of these quality indicators, it’s not the end of the world. Once we’ve identified the broken windows, we can get to work fixing them.

Photo Credits:

The Rapid Feedback Loop

Comments Comments

Cbq
CBQ
25
Feb

One of the best features of Ruby on Rails development is the “Rapid Feedback Loop” that allows developers to quickly make a change and see right away how that new feature, enhancement, (or bug fix) behaves and looks in real-time.

This Rapid Feedback Loop actually becomes even cooler when you loop in the client—the product owner requesting a new feature or enhancement. At Highgroove, we do outsourced development and feature additions for many different projects. We’re always looking for ways to enhance that feedback loop with our clients. Here are few tools for quickly enabling an even more rapid feedback loop, that we can’t live without….

Read more... More

Older posts: 1 2 3 ... 16