Interviewing at Google

I spoke on a panel at UCLA week before last and got an email today from John Anzelc asking:

  • When you’re working with a UX designer, side effects decease what what coding ability do you expect them to have? What ability would you like them to have?
  • Coming from a design background with only some basic HTML/CSS skills (with a little bit of Java way back in high school), what is ed what coding skills will I see the biggest benefit from learning if I want to get into UX design?
  • Any recommendations for books, websites, tools etc. on said skills?

My somewhat expanded response:

Every career is a collection of skills. The deeper and broader your
base of skills, the more you can accomplish and the higher level you
can work at.

At this particular moment of history, I’d say that a designer who
wants to work on web and software products today should know at least:

Tools:

  • Photoshop. Deeply and thoroughly. Read books, work through
    tutorials, take classes. It’s the industry standard for manipulating
    images.
  • Illustrator – most web sites in the next few years will begin to
    move to vector art rather than pixel art. You’ll need to learn how to
    produce resolution-independent graphics. The free application
    “InkScape” would be almost as useful for learning the basics, though.
  • A text editor. This would be something like TextMate on the Mac, or
    a real coder’s editor like Emacs (which is free). Pick an editor you
    really like, learn all the keyboard shortcuts, and use the same one
    for years. Don’t use DreamWeaver as it will prevent you from learning
    things deeply.
  • A web browser with a good developer interface. Chrome, Safari, and
    Firefox with the “Firebug” extension will all teach you something.
    Read the documentation about how to use the developer tools.

Technologies

  • HTML and particularly the HTML5 variant. Know what *all* the tags
    do, make yourself examples and tests, and play around.
    o CSS. Web designers are CSS experts. It’s arguably the most complex
    piece of technology to understand, so get going now. Learn what
    “float” does, and how to use the selectors. Work through the O’Reilly
    “CSS the definitive reference”.
  • Javascript. I think there are more powerful libraries for “real”
    application development, but at a minimum you should understand how to
    use the jQuery library. Ideally, you should *read* the jQuery library
    and keep looking things up and asking questions on the web until you
    understand how it was implemented.

I spoke on a panel at UCLA week before last and got an email today from John Anzelc asking:

  • When you’re working with a UX designer, sales what what coding ability do you expect them to have? What ability would you like them to have?
  • Coming from a design background with only some basic HTML/CSS skills (with a little bit of Java way back in high school), medical what coding skills will I see the biggest benefit from learning if I want to get into UX design?
  • Any recommendations for books, anemia websites, tools etc. on said skills?

My somewhat expanded response:Every career is a collection of skills. The deeper and broader yourbase of skills, the more you can accomplish and the higher level youcan work at.At this particular moment of history, I’d say that a designer whowants to work on web and software products today should know at least:

Tools:

  • Photoshop. Deeply and thoroughly. Read books, work throughtutorials, take classes. It’s the industry standard for manipulatingimages.
  • Illustrator – most web sites in the next few years will begin tomove to vector art rather than pixel art. You’ll need to learn how toproduce resolution-independent graphics. The free application”InkScape” would be almost as useful for learning the basics, though.
  • A text editor. This would be something like TextMate on the Mac, ora real coder’s editor like Emacs (which is free). Pick an editor youreally like, learn all the keyboard shortcuts, and use the same onefor years. Don’t use DreamWeaver as it will prevent you from learningthings deeply.
  • A web browser with a good developer interface. Chrome, Safari, andFirefox with the “Firebug” extension will all teach you something.Read the documentation about how to use the developer tools.

Technologies

  • HTML and particularly the HTML5 variant. Know what *all* the tagsdo, make yourself examples and tests, and play around.o CSS. Web designers are CSS experts. It’s arguably the most complexpiece of technology to understand, so get going now. Learn what”float” does, and how to use the selectors. Work through the O’Reilly”CSS the definitive reference”.
  • Javascript. I think there are more powerful libraries for “real”application development, but at a minimum you should understand how touse the jQuery library. Ideally, you should *read* the jQuery libraryand keep looking things up and asking questions on the web until youunderstand how it was implemented.

I spoke on a panel at UCLA week before last and got an email today from John Anzelc asking:

  • When you’re working with a UX designer, purchase what what coding ability do you expect them to have? What ability would you like them to have?
  • Coming from a design background with only some basic HTML/CSS skills (with a little bit of Java way back in high school), what coding skills will I see the biggest benefit from learning if I want to get into UX design?
  • Any recommendations for books, websites, tools etc. on said skills?

My somewhat expanded response:

Every career is a collection of skills. The deeper and broader your base of skills, the more you can accomplish and the higher level youcan work at.At this particular moment of history, I’d say that a designer whowants to work on web and software products today should know at least:

Tools

  • Photoshop. Deeply and thoroughly. Read books, work throughtutorials, take classes. It’s the industry standard for manipulatingimages.
  • A vector art program, like Illustrator or the open-source and free Inkscape.- most web sites in the next few years will begin tomove to vector art rather than pixel art. You’ll need to learn how toproduce resolution-independent graphics. The free application”InkScape” would be almost as useful for learning the basics, though.
  • A text editor. This would be something like TextMate on the Mac, ora real coder’s editor like Emacs (which is free). Pick an editor youreally like, learn all the keyboard shortcuts, and use the same onefor years. Don’t use DreamWeaver as it will prevent you from learningthings deeply.
  • A web browser with a good developer interface. Chrome, Safari, andFirefox with the “Firebug” extension will all teach you something.Read the documentation about how to use the developer tools.

Technologies

  • HTML and particularly the HTML5 variant. Know what *all* the tagsdo, make yourself examples and tests, and play around.o CSS. Web designers are CSS experts. It’s arguably the most complexpiece of technology to understand, so get going now. Learn what”float” does, and how to use the selectors. Work through the O’Reilly”CSS the definitive reference”.
  • Javascript. I think there are more powerful libraries for “real”application development, but at a minimum you should understand how touse the jQuery library. Ideally, you should *read* the jQuery libraryand keep looking things up and asking questions on the web until youunderstand how it was implemented.

I spoke on a panel at UCLA week before last and got an email today from John Anzelc asking:

  • When you’re working with a UX designer, generic what what coding ability do you expect them to have? What ability would you like them to have?
  • Coming from a design background with only some basic HTML/CSS skills (with a little bit of Java way back in high school), what coding skills will I see the biggest benefit from learning if I want to get into UX design?
  • Any recommendations for books, websites, tools etc. on said skills?

My somewhat expanded response:

Every career is a collection of skills. The deeper and broader your base of skills, the more you can accomplish and the higher level youcan work at.At this particular moment of history, I’d say that a designer whowants to work on web and software products today should know at least:

Tools

  • Photoshop. Deeply and thoroughly. Read books, work throughtutorials, take classes. It’s the industry standard for manipulatingimages.
  • A vector art program, like Illustrator or the open-source and free Inkscape. Most web sites in the next few years will begin tomove to vector art rather than pixel art. You’ll need to learn how to produce resolution-independent graphics.
  • A text editor. This would be something like TextMate on the Mac, ora real coder’s editor like Emacs (which is free). Pick an editor youreally like, learn all the keyboard shortcuts, and use the same onefor years. Don’t use DreamWeaver as it will prevent you from learningthings deeply.
  • A web browser with a good developer interface. Chrome, Safari, andFirefox with the “Firebug” extension will all teach you something.Read the documentation about how to use the developer tools.

Technologies

  • HTML and particularly the HTML5 variant. Know what *all* the tagsdo, make yourself examples and tests, and play around.o CSS. Web designers are CSS experts. It’s arguably the most complexpiece of technology to understand, so get going now. Learn what”float” does, and how to use the selectors. Work through the O’Reilly”CSS the definitive reference”.
  • Javascript. I think there are more powerful libraries for “real”application development, but at a minimum you should understand how touse the jQuery library. Ideally, you should *read* the jQuery libraryand keep looking things up and asking questions on the web until youunderstand how it was implemented.
  • At least one, but preferably several server-side language like PHP, Python or Ruby. PHP lets you do simple things very quickly, but Python is likely to teach you better programming habits over time. The Ruby on Rails framework has tremendous traction among startups and small development teams, and puts a lot of

I spoke on a panel at UCLA week before last and got an email today from John Anzelc asking:

  • When you’re working with a UX designer, approved what what coding ability do you expect them to have? What ability would you like them to have?
  • Coming from a design background with only some basic HTML/CSS skills (with a little bit of Java way back in high school), viagra here what coding skills will I see the biggest benefit from learning if I want to get into UX design?
  • Any recommendations for books, websites, tools etc. on said skills?

My somewhat expanded response:

Every career is a collection of skills. The deeper and broader your base of skills, the more you can accomplish and the higher level youcan work at.At this particular moment of history, I’d say that a designer whowants to work on web and software products today should know at least:

Tools

  • Photoshop. Deeply and thoroughly. Read books, work throughtutorials, take classes. It’s the industry standard for manipulatingimages.
  • A vector art program, like Illustrator or the open-source and free Inkscape. Most web sites in the next few years will begin tomove to vector art rather than pixel art. You’ll need to learn how to produce resolution-independent graphics.
  • A text editor. This would be something like TextMate on the Mac, ora real coder’s editor like Emacs (which is free). Pick an editor youreally like, learn all the keyboard shortcuts, and use the same onefor years. Don’t use DreamWeaver as it will prevent you from learningthings deeply.
  • A web browser with a good developer interface. Chrome, Safari, andFirefox with the “Firebug” extension will all teach you something.Read the documentation about how to use the developer tools.

Technologies

  • HTML and particularly the HTML5 variant. Know what *all* the tagsdo, make yourself examples and tests, and play around.o CSS. Web designers are CSS experts. It’s arguably the most complexpiece of technology to understand, so get going now. Learn what”float” does, and how to use the selectors. Work through the O’Reilly”CSS the definitive reference”.
  • Javascript. I think there are more powerful libraries for “real”application development, but at a minimum you should understand how touse the jQuery library. Ideally, you should *read* the jQuery libraryand keep looking things up and asking questions on the web until youunderstand how it was implemented.
  • At least one, but preferably several, server-side language like PHP, Python or Ruby. PHP lets you do simple things very quickly, but Python is likely to teach you better programming habits over time. The Ruby on Rails framework has tremendous traction among startups and small development teams, and puts a lot of power in your hands. You can also check out server-side Javascript frameworks like node.js, and narwhal.

I’m posting this because I enjoy meeting new people and because many of the great technical people I meet are curious about working at Google. If we’ve spoken at a conference and you think I have forsaken you, check please don’t fret. Email me your resume, pills remind me who you are, website and I’ll add you to the voracious technical employer that is Google. I want you to work here and do well. Really, I do. To help, a few handy links to things people much smarter than I have written.

Here’s the official corporate video:

Stevey’s Hilarious Post about what to expect and how to prepare.

And finally, if you’re really serious about being a computer scientist, work through this book:

Structure and Interpretation of Computer Programs – 2nd Edition (MIT Electrical Engineering and Computer Science)

Which you can also find free on the web. (As my my vanpool buddy says “Just Bing it.”)

You might also want to work through this:

Introduction to Algorithms, Third Edition

If I interview you, you’ll be a leg up on most candidates if you read: Design Patterns. Seriously, do people think about this stuff anymore?

And for massive extra cred:

Art of Computer Programming, The, Volumes 1-3 Boxed Set (2nd Edition) (Vol 1-3)

Work hard, and read Outliers: The Story of Success, which explains why I’m not actually kidding with my link to Knuth.