August 25, 2009 at 12:03 pm
There are a lot of web programming languages, scripting languages, and frameworks out there: PHP, ASP.NET, Python, Ruby on Rails, JavaScript, and many, many more. Some are targeted at perfectionists. Some are meant for just about anybody. And some are the language of choice for douchebags.
I’d wager that you probably aren’t fluent in every language out there. I’d also bet that you tend to focus on one or two products, but you’d like to learn more about another one, either to make yourself a better developer or just to have fun.
I’m also guessing that you don’t have the time to do ‘Hello world!’ projects for every language you’ve ever heard about. So how do you effectively pick a new programming language to learn with your precious spare time?
I’m going to offer you some practical advice that is going to make a whole damn lot of sense. This is not the typical ‘choose my favorite language because all those other guys are stupid’ post. I’m not going to give you a comparison of code efficiency, learning curve, or average CPU temperature. I’m going to use geography.
What Language is Most Popular in Your City?
Guess what? Programming language use, much like fast food chain placement, is regional. There will likely be a dominant language where you live and work. For instance, I used Indeed.com to do some basic job searches in 3 major cities:
Number of Job Listings by Language
Seattle |
| PHP |
318 |
| ASP.NET |
768 |
| Python |
231 |
| Ruby on Rails |
107 |
Number of Job Listings by Language
San Francisco |
| PHP |
1,020 |
| ASP.NET |
366 |
| Python |
932 |
| Ruby on Rails |
347 |
Number of Job Listings by Language
New York |
| PHP |
1,330 |
| ASP.NET |
1,479 |
| Python |
1,061 |
| Ruby on Rails |
399 |
So a good starting place would be to research what is most popular where you currently work. It’s a good idea to do this type of search regularly; language popularity can change quickly, and you want to be as employable as possible.
What Language is Most Popular in Your Dream City?
Most of us have a place we’d like to live someday. A good way to prepare for that is to do another job popularity search for the city in which you’d like to eventually live. Based on the numbers above, it might be a good idea to start playing around with ASP.NET if you’re in love with the Pacific Northwest; if you’re drawn to Silicon Valley, you’d better brush up on your PHP.
What Language is Most Popular at Your Dream Job?
If you don’t have a Dream City, you might instead have a Dream Job at a company you love. Using LinkedIn, we can now gather an insane amount of data on just about any company and their employees.
For example, let’s say I’m interested in a web developer position at Bungie. Using LinkedIn’s Advanced Search, I can find jobs by keyword and company:

If you’re lucky, you might find someone who has shared some valuable information about their job and responsibilities:

You can also search current job openings at a company to find out what they’re currently hiring for. Any data you find can be a big help in your decision-making process.
Putting it All Together
So, if you’re ready to dive into learning something new but don’t know what to focus on, try doing some research on location. This is by no means infallible; just because one language is popular in one area doesn’t mean you should ignore everything else. But it might help give you a better look at the big picture.
Tags: asp.net, indeed, jobs, linkedin, php, programming language, python, ruby on rails
Filed under Development | 1 Comment »
August 12, 2009 at 1:10 pm
I love Digg, Smashing Magazine, Vandelay Design, Tuts+, and many more sites that offer web design resources. They always have great articles on techniques and examples, and I learn something from them every day.
I only have one complaint about these sites, and it’s not necessarily a bad thing: I feel that they offer too much information in each post.
Take, for example, the front page of Digg’s Design section this morning:

The most popular articles are collections of 40 or 50 links. If each link is a tutorial, and I’m interested in just 10% of the links, it could take me a couple of days to run through them. Before I’m done with the tutorials from one collection, another site has posted another list of 40–50. It’s very easy to feel overwhelmed by the sheer amount of information that is out there.
By comparison, take a look at A List Apart’s front page from the same day:

ALA’s format is a bit different; every few weeks they post 2 articles on design theory or technique. This approach is more relaxed; visitors can focus on articles at their leisure before new content is posted. When I read something on A List Apart, I can be sure that the content will be well-researched, well-edited, and very useful; I don’t get the same assurance from the 31st tutorial in a list of 50.
So, how can you manage resource overload? You may be a better multitasker than me, so you might not even consider overload to be a problem. But if you do, here are some suggestions:
- Keep a list of bookmarked tutorials/articles that you want to read. Check them off as you finish them, and don’t be afraid to prune the list if it gets too long.
- When you find an interesting article, skim through it first to make sure it’s worth your time. If it doesn’t look like a high-quality resource, move on to something else.
- Focus on sites that provide links to high-quality content. It’s easy to find sites that aggregate links simply to generate ad revenue; these sites usually have no quality control and aren’t that helpful.
And remember, you don’t have to learn everything when you see it. It’s more important to be aware of what’s out there so you can find it when you do need it.
Tags: resources, tutorials
Filed under Design, Development | 3 Comments »
August 10, 2009 at 10:00 am
I’m very happy to announce that my submission in the Hugo Awards logo contest was selected as the winner.
The contest called for designs based on the Hugo trophy, designed in 1984 by Peter Wetson. I used the dimensions of the trophy for the symbol, splitting it into 4 simple shapes that can easily be modified for different color schemes. The text is set in Futura (what else could it be?).
My goal was to create a mark that could be used at any size with only a single color, and would work well in many different settings (’winner’ stickers for books, engraved on trophies & plaques, websites, merchandise, etc.). I also wanted to create something that was not tied to a single color scheme.
Here are some variations of the final design:




Tags: contest, hugo awards, logo
Filed under Design | 3 Comments »
August 5, 2009 at 10:10 pm

Inspiration is a great thing. As web designers, we have free, instant, easy access to samples of work from other designers all around the world.
Which means inspiration can also be a problem.
When you’re working within a small group, such as in an office or classroom, it’s very easy to rank yourself among your colleagues. If you’re close to the top of your peers, you can clearly see whose talent outweighs your own. You can study those people and learn from them.
When you’re comparing your work with a larger group, such as the entire Internet, you have very little grasp on where your skills fit on the spectrum.
The problem I have is that a lot of the work I see seems light years ahead of my own. There are two possible reasons for this: I’m either a very below-average designer (quite possible), or I am setting an unfair standard for my work by focusing on some of the most talented designers in the industry.
Let me illustrate this problem with a scenario that might be familiar to you:
I’m working on a small project for a client; I’m probably 75% complete. After a string of frustrations (scope creep, lack of content, slow client response time), I decide to read a few blogs during a break. I see a gorgeous new site (usually designed by someone younger than me and/or sporting some terrible facial hair). I then obsess over the site for several minutes, digging into all the sections, noting how certain elements were handled. The next time I start working on my project again, I’m comparing my own work to the awesome site I just saw. This can often be depressing, as I’m often comparing a small locally-focused site to an international-level project that probably took months to complete.
So how can you avoid derailing your workflow when you see a shiny new object?
First, you could avoid looking at other sites altogether. The only problem is, you’d never learn anything new, and your work would stagnate.
Next, you could just force yourself to be happy with your work and never let anybody else’s designs get you down. Turns out, it’s really hard to change your emotional reactions.
So I think the only practical advice I can offer is this:
Don’t look for added inspiration when you’re in the middle of a project.
When you’ve committed yourself to a design, you need to keep moving forward. Getting distracted once a large chunk of work is already behind you is a quick way to miss a deadline and lose future work. The best option you have is to draw an imaginary line on your schedule and tell yourself to stop looking at other people’s work until your invoice is out the door.
Once you’re done with the project and have some downtime (or at least when you’re about to start on your next job), spend some time to catch up on your inspiration-hunting. The best time to brainstorm new ideas is when you actually have time to implement them.
Tags: inspiration
Filed under Design | 2 Comments »
Follow Me
Blog RSS LinkedIn Facebook Twitter Delicious Stack Overflow