From Roboticist to Web Developer

I love the way people interact with technology.

I started my career out as a roboticist: armed with a mechanical engineering degree from Caltech and a passion for automated machines, I built robots big and small. I developed algorithms, created simulations, and spent a significant amount of time in labs and in the field. The robots I worked on have an intense relationship with people - doing things that are too hard or too dangerous for delicate humans with more important roles in society.

I recently discovered a new-found passion for web development and design. I love the way that technology has evolved to bring the average person to the forefront of information, particularly through the web. And I want to explore it more deeply.

Admittedly: I'm green. Really green. I've dabbled a bit here and there with some HTML, PHP, and JavaScript. But I'm ready and willing to hunker down and learn everything I can. I'm a quick learner - I pick up new languages all the time and have a strong foundation in fundamentals. Using my personal website (and hopefully a few others), I'm going to go on a learning journey. I will do my best to detail my endeavors here.

To start, I'm going to set myself up with some goals. I've given myself 6 months to get really good. (I'm confident that I can get decently good in 6 weeks, and I'm hoping I can get excellent in 6 years.)

Here are the job requirements for a front-end development position at a local company:

  • Candidates for this position must have a genuine interest in the latest technological developments in the industry to include HTML5, CSS3, and mobile web application development
  • A portfolio demonstrating clean and compliant code
  • Strong knowledge of design principles, typography, user interfaces, Web standards and usability
  • BS/BA/AD degree
  • 3+ years of front end web development experience
  • 3+ years of professional Adobe Photoshop and Illustrator experience
  • 3+ years of professional HTML/CSS experience
  • Mastery of code editing software
  • Proficiency in HTML/CSS, JavaScript/jQuery and other scripting languages
  • Ability to design CSS-based table-less layouts
  • Working knowledge of PHP and ability to learn new technologies and software as necessary
  • Experience building and maintaining large sites (50+ pages)
  • Ability to execute from concept to site launch with a comprehensive knowledge of development and testing
  • Ability to work independently, prioritize tasks and hit deadlines in a fast-paced work environment
  • Team player with a positive attitude and an entrepreneurial spirit

I have all of the soft skills already (genuine interest, positive attitude, entrepreneurial spirit, ability to work independently, ability to execute from concept to site launch, etc.) and a BS degree. And while there's no way I can get 3+ years' experience in 6 months, I know that's negotiable. So then, here's what I need to learn/work on (with a few things that I'm interested in, as well):

  • A portfolio (I've got nothing of note so far)
  • Compliant code (What does "compliant" mean, exactly?)
  • Design principles
  • Typography
  • User interfaces
  • Web standards
  • Usability
  • Adobe Photoshop
  • Adobe Illustrator
  • JavaScript/jQuery
  • Other scripting languages
  • CSS-based table-less layouts
  • PHP
  • Ruby/Rails
  • Experience building and maintaining large sites (50+ pages)

Easy, right? :-)