What I'm Reading

I tend to read a lot. I’m one of those people who has four or five books in various states of being read at all times. I’m always interested in what other people are reading, so I thought I’d share the books that I’m currently reading, or have just finished:

Practices of an Agile Developer

  • I’m about 1/2 way done with this one. I like it so far, but I’ve liked every book from the Pragmatics that I’ve read. This is a great introduction to what Agile development looks like from the perspective of a developer, rather than a manager. Even if you’re not doing Agile development, it’s a great book on the foundations of being a great programmer.

The Tipping Point

  • I swear I’m probably the last person to read this. Great read, and definitely an interesting concept.

Pragmatic Version Control Using Subversion

  • I use Subversion on a daily basis, but this has helped with some of the advanced features.

Developing the Leader Within You

  • John Maxwell is my favorite author on leadership. I’ve read several of his books, and I’ve found every one very usefull.

CSS Mastery: Advanced Web Standards Solutions

  • CSS isn’t my strong suit, so this book has helped quite a bit. It’s not a CSS 101 book, it’s for taking your use of CSS to the next level.

Yes, those are affiliate links. Help feed my addiction.

What books are you reading? Leave a comment and let me know what’s on your reading list.


Links for 8/24

Ten Things You Shouldn’t Buy New

  • The usual suspects are here, but there’s some things I hadn’t considered.

The Complete Running Network - New blog dedicated to running. I’m trying to get back into running, so this is a useful resource.

Writing a Typo Sidebar Test First

  • Just what it says, good insight into the process.

Datebocks - Intuitive Date Parsing - Javascript library that let’s you handle dates like “Tomorrow”, and “Next Friday”, as well as more traditional date formats. Also available as a Rails Engine.

Beast: An open source Rails forum in under 500 lines of code

  • New Rails forum software from Rick Olson. Get the source here. Even if you have no need for forum software, it’s a nice example of a small Rails app.

Salaries: Keep Them Secret or Make Them Public?

I found an interesting pair of articles recently covering the topic of salaries. The first article, Why secret salaries are a baaaaaad idea, makes the case that all salaries should be public within a company. The arguments are pretty compelling, especially since I just finished reading Ricardo Semler’s book Maverick, which is an extraordinary book about an extraordinary company in Brazil.

Among other things, employees set their own salaries, which are public. The argument for doing this is essentially two-fold: 1) It keeps the employer honest, discouraging inequities in pay, and 2) It keeps the employee honest as well, as employees that are higher paid will feel more like they have to work for it, since everyone knows how much they are making. I see the point in this, and at least conceptually I like the idea of having an open company, in which most details are known to all (in the case of Ricardo Semler’s company, profits and expenses are open to all as well).

This evening however, I found an interesting article by Eric Sink (who coincidentally lives only about 45 minutes away from me) that makes the case for keeping them secret, but acting as if they were public. His rationale is that people value their privacy, and communicating everyone’s salaries to the entire company violates that. He advocates keeping the salary list “clean” though, as if the salaries were public:

So I think secrecy about compensation is important, but it should be for the purpose of protecting the privacy of individuals, not for the purpose of obscuring the fact that management is doing things they know to be unfair.

All in all, I think this is an interesting topic. I admire companies that disregard convention and defy traditional rules of business, but on the other hand I can see the point of the traditionalists with regards to things like salaries as well.

What are your thoughts? Ever work for an “open” company? What was it like?

Afterthought: It’s stated above, but I’ll repeat it again. If you want to read about a company who has open salaries, and why, you need to check out the Ricardo Semler book Maverick. It’s not just about salaries, there are lots of other innovative ideas in there as well. It’s well worth the time to read.


Quote(s) of the Day

“We should be taught not to wait for inspiration to start a thing. Action always generates inspiration. Inspiration seldom generates action.”

Frank Tibolt

“Far better it is to dare mighty things to win glorious triumphs, even though checkered with failure, than to take rank with those poor spirits who neither enjoy much nor suffer much, because they live in the gray twilight that know not victory or defeat.”

Theodore Roosevelt

Via Garret Dimon


5 Tips for Interviewing Well

I’ve been interviewing people (mostly programmers and management/leads) for about 7 years. I would guess I’ve interviewed over 100 people (if you include college recruiting job fair “mini-interviews”). In that time, I’ve seen and heard some amazing things. I won’t share horror stories, because that’s not terribly helpful. Instead, I’ve put together a list of 5 ways to interview well. Without further ado:

1. Show up.

This seems obvious, but let’s elaborate a little bit. Show up on time - early even. But not too early, as that’s often more annoying than showing up late. 10 minutes early is fine; 30 minutes is not. You may want to ask the company you’re interviewing with how early to show up, as sometimes there might be paperwork to fill out. Be prepared -have extra resumes, samples of your work, etc. Know something about the company you’re interviewing with. You shouldn’t have to ask “What does your company do”, unless it’s one of those super-secret startups that wants you to sign an NDA to walk in the front door (in which case, run for the hills).

2. Make a good first impression.

Dress sharp: when unsure, wear a good quality suit that fits well. It’s perfectly fine to ask the company you’re interviewing with what the appropriate attire would be; these days, corporate dress codes are all over the map. You should always strive to be dressed at least one or two levels above the person you’re interviewing with (unless they’re wearing a suit - no need to don a tuxedo).

3. Ask questions.

Nothing makes a job candidate seem less enthusiastic than when they ask no questions. Here’s a tip though, don’t ask too many questions about money. It can make you appear greedy, and people will start to question if that’s the only thing that matters.

4. Don’t complain.

If you’re leaving a bad situation (boss is a jerk, company went down the drain, etc), it’s tempting to complain about your situation. Don’t. Nobody wants to hire a whiner, which is exactly how you’ll come across. It’s ok to talk about things you didn’t like, but don’t dwell on it. Talk about the things you liked about your job as well.

5. Don’t lie

You can recover from just about anything else on this list, but this one is fatal. If you pad your resume, you will be found out - don’t even bother. Furthermore, “I don’t know” is an appropriate answer to a question. If I ask if you’ve done X with ABC database, don’t try and bluff. Just say “No, I haven’t yet had the opportunity, but I’d like to learn how”. I can’t emphasize this enough. I’ve passed on several otherwise qualified candidates because they put some skill on their resume that they didn’t actually have. Lying never, ever works in the long run.

Above all, be yourself. Be relaxed, be natural, and be honest. You’ll do fine.


Links for 7-19

The various shiny objects that caught my eye lately.

11 Ways of Staying Focused

  • Probably my biggest challenge, I need all the help I can get.

Top 14 Stumbling Blocks for New Businesses

  • Some of this I’ve seen elsewhere, but there’s soom good points in here.

What is a Wiki - And How to Use One for Your Project

  • I know what a wiki is, but this is a good introduction on how to leverage them for projects.

The Four-Day Week Challenge - Cutting back to a four day work week. It’s a great idea, but I don’t think my boss is going to go for that :)

Rails Manual - Just like http://api.rubyonrails.org, except the interface doesn’t completely suck eggs.

Rails Tips - The extremely prolific Peter Cooper (seriously, does he sleep?) releases something new, Rails Tips, which although part of the previously mentioned Ruby Inside site, is actually a completely separate site, with a number of useful tips. Seems similar to his Snippets site, but limited to Rails stuff.




Relevance Announces Streamlined

Update: I somehow managed to misspell Relevance’s name. Fixed.

I’m missing RailsConf this year (I have no excuse, I live two hours away). I’m living vicariously through the other attendees though, keeping an eye on the blog posts.

One announcement that I just caught was that Relevance has announced Streamlined, which is a framework on top of the Rails framework. Some of the interesting features include (pulled from Justing Gehtland’s post):

  • Generator for churning out the initial views and configuration
  • A declarative DSL for managing views, including relationship management, field selection, etc.
  • Full Ajax-enabled management views with sorting, paging and live search (with configurable field-inclusion)
  • An extensible component system for representing relationships at runtime * REST-ful web service layer around all models
  • Auto user-management and inclusion of declarative role-based authorization

It looks like this gives you a really good jumpstart on building data driven applications (as if Rails wasn’t enough of a jumpstart). The management views in particular sound nice (Django has this already, really the only thing Django has over Rails as far as I can tell).

They’re planning on realeasing this at OSCON in July. I’m looking forward to it.


6/23 Ruby & Rails Links

A few links that caught my eye today:

An introduction to Ruby on Rails for DB2 developers

  • Nice article if you’re a DB2 user and want to know what the fuss is about. Written by Edd Dumbill.

Ruby-Gnome2 Website - Appears to be a decent GUI toolkit for Ruby. I wish someone would get QT’s Ruby bindings working on Windows. The thing I miss most about Python is PyQT.

Sapphire in Steel: The Little Book of Ruby - Nice introduction to Ruby with plenty of code samples, in PDF form.

Ruby Cookbook - The Perl Cookbook, ported to Ruby.

Ruby Inside - A great new blog by Peter Cooper, focused solely on Ruby. The last two items came from this site. I don’t know how he finds all these cool links.

Configuring Rails Environments - The Cheat Sheet

  • Now you can find out what all of those neat settings in config/environments/* are.