5. High school
‣ Went to Georgetown Prep in Rockville
‣ C++ classes
‣ Summers & winters at Montgomery County Government
‣ User support
‣ Web intern
6. College
‣ 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
10. Build a Portfolio
‣ 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
11. My role at Matrix Group
‣ Slicing sites
‣ Regular updates
‣ Implementations
‣ Mild programming
‣ The “glue” that holds everything together
12. Our process
Information
Design
Architecture
Slicing Implementation
Programming
Completed Website
14. It all starts with the structure
Would you build a house without a foundation?
15. Don’t touch that CSS!
‣ 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
16. How do you define “good” HTML
‣ It’s a craft
‣ Semantic (in naming too)
‣ Clear & Concise
‣ Avoid classitis and divitis
‣ Use descendant selectors
‣ Simple Example
17. Let the web be the web
Otherwise, you’re wasting your time
18. Let the web be the web
‣ 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?
20. Find a system that works
‣ 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
21. NETTUTS article
‣ Reset
‣ Alphabetize
‣ Organization
‣ Consistency
‣ Start in the right place
‣ http://net.tutsplus.com/tutorials/5-tips-to-writing-better-css/
26. Code for the best, first
‣ 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
28. Most browsers move faster
‣ 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
29. The content needs to work for all
‣ IE
‣ Screen readers
‣ People without JavaScript
‣ Resizable text (page zoom)
‣ Examine the site’s audience
‣ Drop Down Menu Example
31. Learn how to create your own
‣ Ability to use someone else’s code is good
‣ Being able to create your own version to suit your needs is better
‣ Some plugins are ridiculously bloated
‣ Accordion, Tabs, Resets, Scrollers, etc
‣ Lightbox Example
‣ Accordion Example (UI)
33. Collaboration is key
‣ 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
34. Know how to do everything
Make yourself more valuable
35. Be a master of all trades
‣ 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
37. Validation isn’t everything
‣ 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
38. Jeff Croft
‣ 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.
39. Jeff Croft
‣ 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/
43. Investigate
‣ 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
45. Keep learning
‣ Read Books
‣ RSS Feeds (96 feeds)
‣ Attend conferences
‣ Visit forums
‣ If you stop learning, it will pass you by; technology moves too fast
46. Enjoy the jobs you take
You’ll do better work when you are happy
47. Enjoy the jobs you take
‣ 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
48. Be Passionate
‣ At my job: FEDs vs. Programmers
‣ Push the bar
‣ New technology
‣ ExpressionEngine project