Novice to pro

the journey of a self-taught web developer

2005

NOVICE

Willow springs

Yes, I know

how to build a website.

I have no idea

how to build a website.

clip art is better than this.

oh the humanity!

4 Evils

of Web Design

Tables

Inline CSS

Nested Tables

Spacer GIFs

Old School Tools

  • Windows XP
  • Dreamweaver MX 2004
  • Misplaced Hope

95%

yak 

shaving

Why the early struggles
Are important


  • They make you love self-discovery
  • They make you hate repeating yourself
  • They make you explore the tools

Always ask “Is there a better way?”

2007

NOVICE

LitList

Whoa, programming!

 

  • Login Forms
  • Database Queries
  • Pagination
  • etc.

Still a lot of procedural code, though.

Experience is key

 

BUILD you OWN
WEB project

2008

APPRENTICE

New reality

 

  • High volume of work
  • Typo3 (unfamiliar CMS)
  • Fringe OOP development
  • Tons of content!

i coped by building websites with systems I could understand.

I was programming php

10 different ways

10 different methods

10 different projects

HTML/CSS
Basic PHP
Framework PHP
Solid PHP

Learning HTML/CSS

 

  • Codeacademy
  • Slice a Photoshop file into markup
  • Practice, Practice, Practice
  • Give praise for the death of IE6

[HTML and CSS] are must-have in many 'non-technical' fields these days such as marketing, which is no longer just the realm of ad campaigns and press releases. Today's marketers must A/B test, optimize, analyze, develop landing pages and so much more.

 

—Gregg Pollack, Founder of Code School

HTML/CSS
Basic PHP
Framework PHP
Solid PHP

Learning Basic php

 

  • Codeacademy
  • Tuts+ (tutsplus.com)
  • Build your own site from scratch
  • Practice, Practice, Practice
  • Find a mentor

HTML/CSS
Basic PHP
Framework PHP
Solid PHP

FRAMEWORK php

 

  • CodeIgniter
  • CodeIgniter series on Tuts+
  • Laravel
  • Laracasts

Will help you learn OOP and

programming patterns like MVC.

$mysqli = new mysqli('localhost', 'root', 'password', 'test');

$query = $mysqli->query("SELECT * FROM users WHERE id = '1'");

while($row = $query->fetch_assoc()) {
    print_r($row);
}
$query = $this->db->get('users')->where(id,1);

foreach ($query->result() as $row)
{
    echo $row->name;
}
$user = User::find(1);

var_dump($user->name);

HTML/CSS
Basic PHP
Framework PHP
Solid PHP

SOLID PHP

 

  • phptherightway.com
  • Writing packages
  • Name-spacing
  • Using the PSR standards (FIG)
  • Testing code (PHPUnit)

Culture of unit tested code

Unit testing is the process of looking for chunks of code that make for convenient “units” to which you can apply automated Unit Tests, small programs designed to verify low-level implementation details and detect coding errors early. 

 

—Mike Bland

PHP in the Future

 

  • Code bases will be groups of packages
  • Tested code will be required
  • CMSs will migrate to frameworks or PSR

 

  • Development time is shorter
  • Systems will be more stable
  • Developers will write code the same way

never stop learning

Thank you!

@zvineyard

zacvineyard@gmail.com

Photos by Dima Viunnyk, Nikola Ostrun, Thomas Shahan

Novice to Pro

By zvineyard

Novice to Pro

  • 3,060