14 Dec
2007
The past couple of weeks I’ve had the good fortune to work with a great client on a Rails app that gets a lot of traffic. His server was groaning, and the wheels were starting to fall off the cart. So we dug in. And when we were done, we had a pretty cool caching setup that I wanted to share.
Read the rest of this entry »
Comments : 5 Comments »
Categories : Ruby on Rails, caching, memcached
12 Oct
2007
From time to time I get emails from people asking for some lessons I’ve learned in my time as a Rails freelancer, so I thought I’d jot some notes down for all to enjoy. Despite the title, these tips aren’t really Rails-specific. :)
-
Marketing: One question I often get is “how do I market myself?” The short answer is to just get your name out there. I have found that my blog, my hosting of the Rails plugin directory, and my Rails guides all help clients find me and become aware of my experience and expertise with Rails. So, the first tip is to create visibility for yourself by adding to the conversation. If I had more time, I would contribute more to open source Rails projects (or Rails itself) too, and I’d recommend that to anyone.
-
Pricing (part 1): Everybody wants to know how they should set their rates. I’ll leave to another post my thoughts on hourly vs. fixed-bid pricing, but here is the best tip I can give on pricing: if you are billing by the hour, set your rate so that you can profit on billing for just one-third of your working time. I can almost guarantee that you will spend the other two-thirds of your time on non-billable work such as finding work, tracking down payments for work completed, worrying about your bank account balance, etc.
-
Pricing (part 2): Be confident in your pricing. If you don’t believe your time is valuable, nobody else will either. You will have to answer the question about your rate time and time again, and how you answer it will definitely play a role in whether the person asking the question will accept your answer. Obviously the experience and skills you bring to the table have a large part to play in the rate you’ll be able to get, but don’t ignore the power of self-confidence.
-
Stress Management: Leaving the comfort of a full-time role to join the ranks of the self-employed can introduce you to a whole new world of stress. Though of course your full-time salary isn’t guaranteed, and can disappear at any time, that income is a lot more reliable than the one that will come from your almost non-stop efforts of trying to find the next gig. So, find a way to manage stress. It may be a supportive spouse (highly recommended!) or a favorite sport, but find a way and make the time to preserve your health, so you can continue the “good life” of working for yourself.
-
Always be selling: You are the product that needs to be sold, and you are the one that’s selling it. You should always be selling yourself. Whether that takes the form of looking for gigs, or networking in your local business community, or writing blog posts—you’ll need to experiment to find what will be the best use of your time. But you must continue to spend the time to sell yourself, to keep your sales funnel full. Keeping the top of the funnel full with prospects is essential to keep money flowing out of the bottom of it.
I hope that list is helpful. There’s nothing revolutionary there, but it is indeed a formula for success. Have fun!
Comments : 5 Comments »
Categories : Consulting, Ruby on Rails, Web Development
9 Oct
2007
If you were secretly wishing for yet another Rails conference to happen, wish no more, for acts_as_conference is here! Personally, I’m excited about it, for a few reasons.
First, it’s being put on by the fine Rails for All folks, and they do good stuff. Second, this looks like it’s going to be a smaller conference, and that’s a plus in my book. Third, it’s going to be in southern Florida in the winter. You can’t lose! :)
Comments : 3 Comments »
Categories : Conferences, Ruby on Rails
3 Oct
2007
If you’d like a quick and dirty UPS rate calculator to use in your Ruby/Rails projects, check out this bit of code I did, based on the great shipping gem:
http://pastie.caboo.se/103505
Changes from the shipping gem include replacing REXML with Hpricot and adding a method to get a list of available methods and rates for a particular package. It uses the UPS Online Tools, so you’ll need to get a shipping account with UPS to use it, but you can get one of those for free and fairly painlessly.
I’ve used this code in a few e-commerce projects now, so hopefully it will work pretty well for you, too. Use it as you wish, but you get no warranty. :)
Comments : 1 Comment »
Categories : E-Commerce, Ruby, Ruby on Rails
28 Sep
2007
Since I’m building a very focused piece of HR software that hiring managers and recruiters can use to manage sourcing of resumes and other recruiting activities, I’ve been watching the various vendors like LongJump and Coghead, who promise a software silver bullet: delivering software without the expense of developing it. I’m not convinced they are going to deliver on that promise.
In some respects, I’m sure the applications they will help their clients build will be fine—they’ll do one thing (perhaps even doing it well), and cost very little to build, and everybody will be happy. In other ways, though, I think those applications will fall short, simply because the thought, the planning, and the refinement that go into a software application built by designers, developers, and domain experts working together with their respective skill sets just won’t be there.
As I’ve been working on Catch the Best, I’ve been reminded how an idea for an application can start out very small, but the deeper you dig into it, the more complicated it gets. Of course, this is one reason why trying to preserve simplicity in software is so hard. But on the flip side, your application can’t be so simple it isn’t useful. This can be a fine line to walk in order to deliver excellent software, and just handing someone some building blocks and saying “go build it yourself” will have mixed results.
In other words, sometimes the just-add-water brownie mix gets the job done. If you want the best brownies, though, it needs a little more effort than that. :)
Comments : 2 Comments »
Categories : Hiring, Recruiting, Ruby on Rails, Web Development
Recent Comments