become a productive front-end developer & continue to be one

53
Trevor Davis Continue to be one Become a Productive Front-End Developer… &

Upload: davist11

Post on 07-Jul-2015

2.030 views

Category:

Technology


0 download

DESCRIPTION

Presentation given to Mr. Brown's class at Damascus High School on 3/27/2009

TRANSCRIPT

Page 1: Become a Productive Front-End Developer & Continue to be one

Trevor Davis

Continue to be one

Become a Productive Front-End Developer…

&

Page 2: Become a Productive Front-End Developer & Continue to be one

Hi, I’m Trevor Davis.

I’m a Front-End Developer at Matrix Group in Alexandria, VA

Page 3: Become a Productive Front-End Developer & Continue to be one

Title here

1. My path through web development

2. How to become a successful Front-End Developer

3. Questions throughout

Today’s agenda

Page 4: Become a Productive Front-End Developer & Continue to be one

How did I get here?

By learning “everything”

Page 5: Become a Productive Front-End Developer & Continue to be one

Title here

‣ Went to Georgetown Prep in Rockville

‣ C++ classes

‣ Summers & winters at Montgomery County Government

‣ User support

‣ Web intern

High school

Page 6: Become a Productive Front-End Developer & Continue to be one

Title here

‣ Went to Dickinson College in Pennsylvania

‣ Knew I wanted to do something with computers

‣ Majored in Computer Science

‣ Worked breaks from school at Montgomery County Government

‣ Thought I wanted to go to grad school

‣ First real HTML/CSS exposure: Senior internship & project

College

Page 8: Become a Productive Front-End Developer & Continue to be one

Title here

‣ Social networking site for College Musicians

‣ PHP/MySQL

Senior Project - The College Forecast

Page 9: Become a Productive Front-End Developer & Continue to be one

Ok, now what?

How do I get a job?

Page 10: Become a Productive Front-End Developer & Continue to be one

Title here

‣ College cheerleading site for girlfriend

‣ Portfolio for mom’s friend who is a makeup artist

‣ Scoured Craigslist for small projects and full time jobs

‣ Ended up at Matrix Group

Build a Portfolio

Page 11: Become a Productive Front-End Developer & Continue to be one

Title here

‣ Slicing sites

‣ Regular updates

‣ Implementations

‣ Mild programming

‣ The “glue” that holds everything together

My role at Matrix Group

Page 12: Become a Productive Front-End Developer & Continue to be one

Title here

Our process

Information Architecture Design

Slicing Implementation

Programming

Completed Website

Page 13: Become a Productive Front-End Developer & Continue to be one

Questions so far?

Page 14: Become a Productive Front-End Developer & Continue to be one

It all starts with the structure

Would you build a house without a foundation?

Page 15: Become a Productive Front-End Developer & Continue to be one

Title here

‣ Always start with the HTML

‣ CSS with bad HTML is worthless

‣ “CSS doesn’t care which element is doing what, an element is an element” - Eric Meyer

‣ Once you have a solid foundation, then you should add the style and the behavioral level

‣ jQuery is amazing

Don’t touch that CSS!

Page 16: Become a Productive Front-End Developer & Continue to be one

Title here

‣ It’s a craft

‣ Semantic (in naming too)

‣ Clear & Concise

‣ Avoid classitis and divitis

‣ Use descendant selectors

‣ Simple Example

How do you define “good” HTML

Page 17: Become a Productive Front-End Developer & Continue to be one

Let the web be the web

Otherwise, you’re wasting your time

Page 18: Become a Productive Front-End Developer & Continue to be one

Title here

‣ The web is constantly evolving

‣ Don’t waste time trying to get everything to look exactly the same in all browsers

‣ Do you think end users are going to open your site in 2 browsers to compare?

Let the web be the web

Page 19: Become a Productive Front-End Developer & Continue to be one

Stay organized

Your time is money

Page 20: Become a Productive Front-End Developer & Continue to be one

Title here

‣ Folder structure

‣ files, images, includes, scripts, stylesheets

‣ Start with a “framework”

‣ Comments in CSS

‣ Alphabetize CSS properties

‣ Single line vs. multi-line CSS

‣ Find what works for you

Find a system that works

Page 21: Become a Productive Front-End Developer & Continue to be one

Title here

‣ Reset

‣ Alphabetize

‣ Organization

‣ Consistency

‣ Start in the right place

‣ http://net.tutsplus.com/tutorials/5-tips-to-writing-better-css/

NETTUTS article

Page 22: Become a Productive Front-End Developer & Continue to be one

Utilize available tools

There is so much awesome free stuff

Page 23: Become a Productive Front-End Developer & Continue to be one

Title here

‣ ExpressionEngine Core

‣ WordPress

‣ Joomla

‣ Drupal

‣ Textpattern

Content Management Systems

Page 24: Become a Productive Front-End Developer & Continue to be one

Title here

‣ Django

‣ Ruby on Rails

‣ CakePHP

‣ CodeIgniter

‣ Blueprint CSS

‣ 960 Grid System

‣ JavaScript frameworks (jQuery, Prototype, MooTools, etc)

Frameworks

Page 25: Become a Productive Front-End Developer & Continue to be one

Avoid Hacks

Maintaining them will make your life hell

Page 26: Become a Productive Front-End Developer & Continue to be one

Title here

‣ Firefox, Safari & others first

‣ Then, use conditional comments for IE

‣ Code with the knowledge of what will break in IE

‣ Double margin bug

‣ Duplicate characters bug

Code for the best, first

Page 27: Become a Productive Front-End Developer & Continue to be one

Progressive enhancement

Create the best, for the best, but make it work everywhere

Page 28: Become a Productive Front-End Developer & Continue to be one

Title here

‣ Take advantage of advanced selectors

‣ Just make sure that it’s non-essential to reading the content

‣ CSS itself is progressive enhancement

‣ Drop Cap Example

Most browsers move faster

Page 29: Become a Productive Front-End Developer & Continue to be one

Title here

‣ IE

‣ Screen readers

‣ People without JavaScript

‣ Resizable text (page zoom)

‣ Examine the site’s audience

‣ Drop Down Menu Example

The content needs to work for all

Page 30: Become a Productive Front-End Developer & Continue to be one

Know how things work

Some things are simpler than you think

Page 32: Become a Productive Front-End Developer & Continue to be one

Collaborate

It can only make you better

Page 33: Become a Productive Front-End Developer & Continue to be one

Title here

‣ Each discipline speaks different “languages”, and you can learn something new from everyone

‣ I learned so much from my fellow FEDs; I never would have gotten to where I am today

‣ Collaborate all the time during the day

‣ Network with others at events or online

Collaboration is key

Page 34: Become a Productive Front-End Developer & Continue to be one

Know how to do everything

Make yourself more valuable

Page 35: Become a Productive Front-End Developer & Continue to be one

Title here

‣ Learn programming languages

‣ There is no reason for programmers to code simple things like email forms

‣ Take design classes

‣ Designers aren’t going to design every element for a site

‣ While it’s great to be able to collaborate, it’s also awesome to “own” an entire site

Be a master of all trades

Page 36: Become a Productive Front-End Developer & Continue to be one

Validation isn’t everything

Don’t live and die by it

Page 37: Become a Productive Front-End Developer & Continue to be one

Title here

‣ Validation is just a tool to help in building

‣ CSS is an immature language

‣ You should always strive to do everything as semantically as possible, but sometimes you can’t

‣ Image Replacement Example

‣ Sometimes you just need to get it done

Validation isn’t everything

Page 38: Become a Productive Front-End Developer & Continue to be one

Title here

‣ As such, “standards” will never appear on my priority list. When I’m working on a project, my priorities look something like this:

1. Create solutions that solve the client’s stated problems.

2. Find ways to achieve the client’s stated goals.

3. Find ways to solve problems the client doesn’t even know they have.

4. Use tools that are elegant and efficient, and help me produce quality work within the client’s budget and timeframe.

Jeff Croft

Page 39: Become a Productive Front-End Developer & Continue to be one

Title here

‣ Really, that’s about it. Notably missing from the list is: Use Web Standards (including established best practices).

‣ http://jeffcroft.com/blog/2007/aug/29/standards-web-standards-and-standardistas/

Jeff Croft

Page 40: Become a Productive Front-End Developer & Continue to be one

Experiment

How else would you learn?

Page 41: Become a Productive Front-End Developer & Continue to be one

Title here

‣ If you think of an idea, try it

‣ Talk with others about it

‣ Post it on your site and get feedback

‣ Play, play, play

Experiment

Page 42: Become a Productive Front-End Developer & Continue to be one

Investigate

Learn from how others have done it

Page 43: Become a Productive Front-End Developer & Continue to be one

Title here

‣ I rarely go to a webpage and don’t look at the markup, CSS, JavaScript, etc.

‣ Firebug

‣ Web Developer Toolbar

‣ HTML Validator

‣ Think about how you would do things differently

Investigate

Page 44: Become a Productive Front-End Developer & Continue to be one

Keep learning

Don’t fall behind

Page 45: Become a Productive Front-End Developer & Continue to be one

Title here

‣ Read Books

‣ RSS Feeds (96 feeds)

‣ Attend conferences

‣ Visit forums

‣ If you stop learning, it will pass you by; technology moves too fast

Keep learning

Page 46: Become a Productive Front-End Developer & Continue to be one

Enjoy the jobs you take

You’ll do better work when you are happy

Page 47: Become a Productive Front-End Developer & Continue to be one

Title here

‣ Do projects that you want to do

‣ Do something that will challenge yourself or expand your skillset

‣ You most likely won’t be a millionaire, so make sure you enjoy what you are doing

‣ Example of bad projects

‣ WordPress migration

‣ Online store customization

Enjoy the jobs you take

Page 48: Become a Productive Front-End Developer & Continue to be one

Title here

‣ At my job: FEDs vs. Programmers

‣ Push the bar

‣ New technology

‣ ExpressionEngine project

Be Passionate

Page 49: Become a Productive Front-End Developer & Continue to be one

Give back

Use your skills to make a difference

Page 50: Become a Productive Front-End Developer & Continue to be one

Title here

‣ Participate in forums

‣ Share knowledge through blog articles

‣ Create a website for a good cause

‣ Pro-bono

Give back

Page 51: Become a Productive Front-End Developer & Continue to be one

Questions?

Page 52: Become a Productive Front-End Developer & Continue to be one

Title here

‣ Online: http://trevordavis.net/

‣ Twitter: http://twitter.com/davist11

Get in Touch with Me

Page 53: Become a Productive Front-End Developer & Continue to be one

Thank You.