Category Archives: Design

My New Website

Well, it’s finally here — a brand new design of my website!

It’s interesting to look back and think how much has changed since I designed the last version of my website in 2003. Facebook and Twitter didn’t exist, there were no iPhones or iPads, Google was pretty much just a search engine, and decent computer monitors took up at least 2′x2′ of desk space.

And the web has changed a lot too. In 2003, I nearly put on my website “Designed for Internet Explorer 6.” Remember when sites did that?

This time around, IE was the last browser I tested on. In fact, it was the only time I used a Windows machine during the design and development of the site since I’ve been Mac-only for a few years now. I don’t even own a PC — another change from 2003 when my personal and professional projects revolved solely around Windows, and I followed what Microsoft did with bated breath.

Interestingly enough, from an engineering point of view the old site did hang on well considering it was made with the best layout technology of its time: tables and slices of many tiny images. Browsers have maintained pretty decent backwards compatibility in this regard, and the site rendered well on modern desktop browsers, tablets and phones.

But from a design perspective it was pretty old looking. It was time not only for a new coat of paint, but a completely new design that would be simple, modern and elegant. By focusing on the content itself, I could remove a lot of chrome and reduce visual clutter. Typography plays a strong role on the site, and graphical effects and embellishments are minimized to keep the design simple.

And by using modern web development techniques, the site can be much more easily changed in the future. If 10 years ago we didn’t have Facebook, Twitter, iPhones and iPads, I can’t even imagine what will be here in 2023.

Let’s see if this design lasts that long!

Still to come: better support for phones and other devices with small screens.

No more Lorem Ipsum…No more Lorem Ipsum!

Lorem Ipsum Dialog Example

Lorem Ipsum Dialog Example

I’ll get right to the point. Designers, please stop using Lorem Ipsum placeholder text in your designs!

Sure, I understand why you’d use Lorem Ipsum placeholder text. I’ve been tempted myself: you want to fill in your design and make it look ‘real’. And now the temptation is stronger. Photoshop CS6 has a Lorem Ipsum text generation feature built right in.

However, any sort of placeholder text that’s essentially gibberish shows that you haven’t actually thought through the design fully.

How will you really know how much space text will take if you haven’t come up with real, plausible text? How will you be able to evaluate the balance, layout, spacing, and flow of your design if you don’t know how much text will be displayed in real life user scenarios? What about usability? How will you determine if your design is cluttered, or completely void of information, if you haven’t filled it in real textual data?

You see, the problem with placeholder text is that the designer will always pick just the right amount of text to make the design look good. But when the real text comes in, the design can easily fall apart.

A Designer Has To Be A Writer

I once had a designer work for me that used Lorem Ipsum placeholder text. I understood it was an early design, but I posed the question: “What kind of text goes here? What message is it trying to convey?” The answer I was given: “I am not a copywriter, I am a designer.”

If you think of yourself as a designer, you have to be a writer. At least to get the wording about 90% right, so you can effectively convey your design. An editor can polish off the rough edges, but you are in charge of creation.

Say “no” to Loren Ipsum text placeholder text!

How to get an interview with a software company

Actually, the title of this post should really be “How a first year University of Waterloo Co-op student can get an interview with a software company without any previous work experience”…but that was a tad long winded! However that’s the gist of this post, and (student or not) if you are looking for a job, read on.

Some background first. On Monday, March 19th, 2012, I attended the University of Waterloo’s Co-op Strategic Review Session. This event was set up so that employers, students, and the University of Waterloo’s Co-op Department could all get in the same room to discuss issues and suggest ways of improving the co-op system.

One of the recurring themes that came up was first year students, and their struggles with finding jobs without any work experience.

Since I’ve looked at literally thousands of resumes, interviewed hundreds of candidates, and hired dozens and dozens of co-op students from UW, I thought I could share some tips from the employer’s side. We’ve been hiring software engineers for about 12 years in Waterloo, and are always looking for top talent to join our team. But sometimes that talent is hard to find because students don’t market themselves well.

I’ve assembled a few tips to help students make the most out of the application process for co-op jobs. However, these tips can be used even for full-timers looking for a new career. Read on.

Tip #1 – You have to stand out

The co-op advisors tell you this, your professors tell you this, your parents tell you this…but it’s true. You have to stand out.

Literally your resume is given 15 seconds to make an impression, and if no impression is made, it’s on to the next candidate. [April 11, 2012 Update: Research has shown that recruiters only spend 6 seconds on a resume for an impression to be made.]

Although this sounds so impersonal, think of what the employer looking to hire a few co-op students has to do: go through several hundred resumes, searching for maybe a dozen candidates to interview. This takes a lot of time, so you have to be efficient.

I’ll leave it up to “Tip #3″ to give you a sure fire way of getting noticed. But let me talk about ways of not getting noticed first. You won’t get noticed if your resume looks like everyone else’s. Remember that all of your peers have taken the same courses, have done the same projects, and probably have just as little work experience as you. So quoting that you “wrote a Tetris game for course X” is not that helpful because everyone in your class did the same project. And employers notice this because they are looking at many resumes from students in your class.

Suggesting you are comfortable in C++ because you took a course is also not helpful, because if you are not practicing this skill outside of the classroom (and cannot demonstrate it on your resume), you are on par with everyone else in your class.

So unless your marks put you at the top of your class, you have killer scholarships, or have worked somewhere in the industry in high school, you have to get creative.

A few ways of getting creative (without getting to “Tip #2″ or “Tip 3″):

  • Write a cover letter. Tailor it specifically for the company you are applying to, and discuss how you could see yourself fit into the team based on your background and strengths. Comment on the products the company makes or the services the company provides.
  • Have a well designed resume. Most resumes are quite plain, especially from engineers. Find a design student to help you out if you aren’t design savy.
  • Write a different resume for different companies. A broad resume where you know every single programming language gives the impression you don’t know any of them well. If the job asks only for C++, specifically showcase your C++ skills.

Tip #2 – Make software or websites on your own

As I mentioned, everyone in your class is taking programming courses and doing the same programming projects.

But if you’re coding at home for fun, and have made real projects, showcase them on your resume! These personal projects often mean more to many employers than course work, course projects or even marks because it shows you love making software. Producing games, apps or websites on your own time means you have a love for coding, and if the project is a real shipping app or website, even better. It shows you can complete something – and finishing software takes a lot of work.

Tip #3 – Make a personal website

If all your resume said was:

My Name | Programmer |

…you’d probably get some funny looks but you would likely get a click-through. This example is a bit drastic, but my point is the following: making a website is a sure fire way of standing out.

If I see a resume and the candidate has a personalized website, I’m bound to check it out. Granted, if the website has nothing on it or is designed poorly, there’s obviously no value. But here’s where you can showcase yourself. As a coder, show off some of your projects. Especially personal projects – ones you’ve designed or coded on your own time (mentioned in Tip #2).

There are also some hidden benefits of making a website.

  • Statistics. You can monitor how many people have viewed your website, their IP, and what pages they focused on. You could even make a special link for each employer.
  • Your resume can be a living document. Employers always get the most recent “you”, especially if you are making progress on your software on a daily basis or have learned a new skill. The time between submitting your resume and an employer looking at your resume is valuable time, so use it.
  • You now have a face, a personality. Your website design and writing style show more of “who you are”, and demonstrate those ever-difficult-to-showcase “soft skills”.

Tip: spend the $10/year and buy a personalized domain, like This adds a level of professionalism that employers appreciate, and your website address is then easier to remember. Oh, and don’t even think about putting ads on the page to help offset any costs.


Before I wrap up, if you are not a software engineer, you can still use these tips. If you are in design, planning or architecture, invest some time in personal projects, and showcase them on your website. If you are in accounting, make a website with a blog on tips for students and how to manage their budget or do taxes. If you are in a field such as physiotherapy, make a website with photos of you doing volunteer work, and your philosophy about healing and nutrition.

These are just some examples, but hopefully you get the idea.

So now you’re equipped with some sure fire ways of getting noticed. What I’ve outlined here is easy! Mind you, it is a lot of work, but think of it as an investment. The more you put in now, the better you’ll be for not only your first co-op term, but the rest of your career.