Lean mean php machine

Post on 18-Oct-2014

6,842 views 0 download

description

Implementing software development “best practices” can be a challenging feat, especially if you are in a very small team of developers. Little to no budget, stress to just “get something out”, and lack of understanding from management of what you really do means you have to make sacrifices, right? This talk will give you some insight on accomplishing your goals of being a top-rated development shop, even if you are an army of one. From justifying those best practices to utilizing free services to hiring additional help, this talk will run the gamut of running a software development shop at a small scale.

transcript

Lean Mean PHP Machine

Jason Austin @jason_austin TEK-X

Friday, May 21, 2010

A little about me...

Friday, May 21, 2010

The team at NC State2 full time employees

2 part time students

1 manager

Friday, May 21, 2010

We do “the internet”Support apps

Campus-wide initiatives

Community engagement

Friday, May 21, 2010

A little historyStarted with one part-time developer

No standards

No best practices

No idea what I was doing

Friday, May 21, 2010

A little more history...Added a developer and a manager

Went to ZendCon 2006

Plugged into #phpc

Re-invented ourselves

Friday, May 21, 2010

Daily challengesOur business is not so'ware

Budget

Educating management

Demanding clientele

Friday, May 21, 2010

David vs. GoliathFriday, May 21, 2010

Goliath Shops

Project managers

UI designers

Code developers

QA staff

Support staff

flickr @gadgetgirl70

Friday, May 21, 2010

Goliath ShopsMultiple people responsible

Focus on a single part of a project

Anonymity

Lack of payoff

Friday, May 21, 2010

David Shops

Everyone is responsible for everything

Hazy job responsibilities

flickr @helico

Friday, May 21, 2010

David ShopsFocus on the whole project (or multiple projects)

Support a'er release

Make your mark

See the payoff

Friday, May 21, 2010

To be successfulHire and retain great developers

Spend money wisely

Communicate and collaborate

Code smarter

Friday, May 21, 2010

Tip #1Successful shops are built on

the backs of successful people

Friday, May 21, 2010

It starts with hiringKnow your needs

Targeted, clear job descriptions

Post everywhere

Recruit

Reputation

Friday, May 21, 2010

Hiring is riskyContract positions

Part-time workers

Outsource

Friday, May 21, 2010

Bad hires are poisonTrust

Efficiency

Culture clash

Friday, May 21, 2010

Who do we interview?LinkedIn, Resumé

Blog, twitter, facebook

Ask for code

Virtual interviews

Friday, May 21, 2010

Interviews suckNot a true representation of skill

Easy to fake

Time waster for the existing team

Friday, May 21, 2010

But if it’s required...Don’t play games

Have a loose plan

Ask what you want to know

Friday, May 21, 2010

Face timeSee how they think

Problem solving skills

Communication skills

Friday, May 21, 2010

The successful types:Motivated (are you interested)

Go-getter

Eager to learn

Engaged

Team Player

Friday, May 21, 2010

Be part of the processRead resume’s

Research

Interview if you have to

Friday, May 21, 2010

Team assembled. Now what?Friday, May 21, 2010

Care for the teamFeed and water daily

Encourage participation

Engage

Reward

Compensate

Friday, May 21, 2010

Build team chemistryGet away from your workspace

Sports? Video games? Beer? Whatever it takes

Avoid crazy HR team building exercises

Friday, May 21, 2010

Keep the good devsHiring new devs is expensive

Training

Exposure to apps

Institutional knowledge

Friday, May 21, 2010

Tip #2

A happy developer is a productive developer

Friday, May 21, 2010

Developers are unique Platform

IDE

Hours

Work environment

Friday, May 21, 2010

ListenOpen participation

Feedback sessions

Find what fits each dev and go with it

Friday, May 21, 2010

Shield the new guysMeetings generally suck

Block out time

Keep politics to a min

Friday, May 21, 2010

ManagementManage up or around

Facts

Deliverables

Friday, May 21, 2010

TrainingContinuous and Strategic

Webinars are cheap

Team up

Friday, May 21, 2010

TelecommutingWorks for some, not all

More focus

Small, dark places where awesome code lives

Friday, May 21, 2010

Tip #3Spend money where you get the most bang for your buck

Friday, May 21, 2010

Open Source is your friendProject Management

Issue Tracking

Administrative Tools

Productivity Tools

Friday, May 21, 2010

Use existing toolsCodebase management

Support

Cheaper in the long run

Friday, May 21, 2010

Prove the valueCase studies

Documentation

Expert Trusted advice

Friday, May 21, 2010

Follow throughResults are critical

Credibility

Makes the next request easier

Friday, May 21, 2010

Tip #4Join in the discussion at every

level

flickr: @danielygo

Friday, May 21, 2010

Get localMeetup.com

Find a user group

Connect with colleagues

Friday, May 21, 2010

Get globalIRC at #phpc

Twitter

Conferences

Friday, May 21, 2010

Put yourself out therePHPers aren’t scary (mostly)

Take initiative

Connect yourself, then connect others

Friday, May 21, 2010

Tip #5Reduce, reuse, recycle

Friday, May 21, 2010

Write once, use manyCode reusability

Module portability

Testability

Friday, May 21, 2010

Frameworks!Use them...now

Zend Framework

CakePHP

Symphony

Whatever

Friday, May 21, 2010

Code re-useOT Framework

Auth and ACL

Navigation

Themes

It’s an app shell

Friday, May 21, 2010

Re-use benefitsSetup time

Common methods

Upgradability

Friday, May 21, 2010

Last TipIntegrate best practices from

the start

flickr @enerva

Friday, May 21, 2010

Development is not just typing

Testing is a requirement, not a feature

Plan for usability and accessibility

Design then develop

Single-step deployment

Friday, May 21, 2010

Any questions?flickr @lwr

Friday, May 21, 2010

Rate me onJason Austin @jason_austin

http://www.jasonawesome.com

Review this talk at http://joind.in/1608

Friday, May 21, 2010