Top Banner
BEST PRACTICES FOR THE SOLE DEVELOPER 1 Friday, May 17, 13
59

Best Practice For The Sole Developer

May 18, 2015

Download

Technology

John Congdon

As a single developer, I needed to learn how to work better. I want to share what I learned, and how I improved.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Best Practice For The Sole Developer

BEST PRACTICES FOR THESOLE DEVELOPER

1Friday, May 17, 13

Page 2: Best Practice For The Sole Developer

JOHN CONGDON

2Friday, May 17, 13

Page 3: Best Practice For The Sole Developer

JOHN CONGDON

•PHP Developer Since 2003

2Friday, May 17, 13

Page 4: Best Practice For The Sole Developer

JOHN CONGDON

•PHP Developer Since 2003• SDPHP User Group Organizer

2Friday, May 17, 13

Page 5: Best Practice For The Sole Developer

JOHN CONGDON

•PHP Developer Since 2003• SDPHP User Group Organizer• Sr PHP Developer for Networx Online

2Friday, May 17, 13

Page 6: Best Practice For The Sole Developer

JOHN CONGDON

•PHP Developer Since 2003• SDPHP User Group Organizer• Sr PHP Developer for Networx Online•PhoneBurner.com

2Friday, May 17, 13

Page 7: Best Practice For The Sole Developer

JOHN CONGDON

•PHP Developer Since 2003• SDPHP User Group Organizer• Sr PHP Developer for Networx Online•PhoneBurner.com•MeetingBurner.com

2Friday, May 17, 13

Page 8: Best Practice For The Sole Developer

JOHN CONGDON

•PHP Developer Since 2003• SDPHP User Group Organizer• Sr PHP Developer for Networx Online•PhoneBurner.com•MeetingBurner.com• FaxBurner.com

2Friday, May 17, 13

Page 9: Best Practice For The Sole Developer

JOHN CONGDON

•PHP Developer Since 2003• SDPHP User Group Organizer• Sr PHP Developer for Networx Online•PhoneBurner.com•MeetingBurner.com• FaxBurner.com•Over 8 Years Being a Sole Developer

2Friday, May 17, 13

Page 10: Best Practice For The Sole Developer

TYPES OF SOLE DEVELOPERS

3Friday, May 17, 13

Page 11: Best Practice For The Sole Developer

TYPES OF SOLE DEVELOPERS

• The “IT” Guy

•Works for a small company, but is the only developer

3Friday, May 17, 13

Page 12: Best Practice For The Sole Developer

TYPES OF SOLE DEVELOPERS

• The “IT” Guy

•Works for a small company, but is the only developer

• The Entrepreneur

•Works for him/herself on their own project

3Friday, May 17, 13

Page 13: Best Practice For The Sole Developer

TYPES OF SOLE DEVELOPERS

• The “IT” Guy

•Works for a small company, but is the only developer

• The Entrepreneur

•Works for him/herself on their own project

• The Remote Developer

•Works with others, but by themselves

3Friday, May 17, 13

Page 14: Best Practice For The Sole Developer

Don’t Do It *IT Guy

4Friday, May 17, 13

Page 15: Best Practice For The Sole Developer

HAVE A SET SCHEDULE *Remote, Entrepreneur

5Friday, May 17, 13

Page 16: Best Practice For The Sole Developer

http://www.scrollinondubs.com/2007/05/08/you-dont-know-what-you-dont-know/

Learn To Know What You Don’t Know *Everyone

6Friday, May 17, 13

Page 17: Best Practice For The Sole Developer

PARTICIPATE IN COMMUNITY

7Friday, May 17, 13

Page 18: Best Practice For The Sole Developer

PARTICIPATE IN COMMUNITY

National

Conferences

7Friday, May 17, 13

Page 19: Best Practice For The Sole Developer

PARTICIPATE IN COMMUNITY

National

ConferencesRegional

Conferences

7Friday, May 17, 13

Page 20: Best Practice For The Sole Developer

PARTICIPATE IN COMMUNITY

National

ConferencesRegional

Conferences

User Groups

7Friday, May 17, 13

Page 21: Best Practice For The Sole Developer

PARTICIPATE IN COMMUNITY

National

Conferences

IRC

RegionalConferences

User Groups

7Friday, May 17, 13

Page 22: Best Practice For The Sole Developer

CONFERENECS

• PHP|Tek (You’re here :)

• ZendCon

• CodeWorks

• SunshinePHP

• LoneStar PHP

•MidWest PHP

• SDPHP (Coming soon)

8Friday, May 17, 13

Page 23: Best Practice For The Sole Developer

Comment Your Code

9Friday, May 17, 13

Page 24: Best Practice For The Sole Developer

Comment Your Code

9Friday, May 17, 13

Page 25: Best Practice For The Sole Developer

COMMENTS MUST BE USEFUL

10Friday, May 17, 13

Page 26: Best Practice For The Sole Developer

COMMENTS MUST BE USEFUL

if ($a >= 21){ // if age is over 21 // beer is allow $b = true;}

10Friday, May 17, 13

Page 27: Best Practice For The Sole Developer

COMMENTS MUST BE USEFUL

if ($a >= 21){ // if age is over 21 // beer is allow $b = true;}

// The current legal age to drink// is 21 years old

if ($users_age >= 21){ $beer_allowed = true;}

10Friday, May 17, 13

Page 28: Best Practice For The Sole Developer

11Friday, May 17, 13

Page 29: Best Practice For The Sole Developer

Use a Coding Standard

12Friday, May 17, 13

Page 30: Best Practice For The Sole Developer

A coding standard helps everyone on the team read code more easily.

if (DEBUG){ file_put_contents( $file_handle, $object->getErrorMessage() . PHP_EOL, FILE_APPEND );}

13Friday, May 17, 13

Page 31: Best Practice For The Sole Developer

Issue Tracking

14Friday, May 17, 13

Page 32: Best Practice For The Sole Developer

Issue Tracking

14Friday, May 17, 13

Page 33: Best Practice For The Sole Developer

Many Options, Choose One And Use It

Issue Tracking

14Friday, May 17, 13

Page 34: Best Practice For The Sole Developer

Many Options, Choose One And Use It

•Trello•Pivotal Tracker

•GitHub Issues•BitBucket Issues

•BugZilla•Mantis

Issue Tracking

14Friday, May 17, 13

Page 35: Best Practice For The Sole Developer

PROJECT MANAGEMENT

• Breakdown your tasks

• Track progress

• Stay Focused

• Sense of accomplishment

15Friday, May 17, 13

Page 36: Best Practice For The Sole Developer

STAY FOCUSED

• Track time

• Try the Pomodoro Technique

•Work 25 minutes, stand and stretch for 5 minutes

• Every 4th break, make it a little longer, 15-30 minutes

• Lather, rinse, and repeat

16Friday, May 17, 13

Page 37: Best Practice For The Sole Developer

Version Control

17Friday, May 17, 13

Page 38: Best Practice For The Sole Developer

How I Got Started With Version Control

18Friday, May 17, 13

Page 39: Best Practice For The Sole Developer

How I Got Started With Version Control

• I used two directories on the same server (it’s a starting point)• I learned to use the Git-Flow workflow• http://nvie.com/posts/a-successful-git-branching-model/

18Friday, May 17, 13

Page 40: Best Practice For The Sole Developer

How I Got Started With Version Control

• I used two directories on the same server (it’s a starting point)• I learned to use the Git-Flow workflow• http://nvie.com/posts/a-successful-git-branching-model/

Starting in my production codegit initgit add -A git commit -m “Initial import”

18Friday, May 17, 13

Page 41: Best Practice For The Sole Developer

How I Got Started With Version Control

• I used two directories on the same server (it’s a starting point)• I learned to use the Git-Flow workflow• http://nvie.com/posts/a-successful-git-branching-model/

Starting in my production codegit initgit add -A git commit -m “Initial import”

I then created a dev directorygit clone /path/to/production .

code, commit, and test here

18Friday, May 17, 13

Page 42: Best Practice For The Sole Developer

How I Got Started With Version Control

• I used two directories on the same server (it’s a starting point)• I learned to use the Git-Flow workflow• http://nvie.com/posts/a-successful-git-branching-model/

Starting in my production codegit initgit add -A git commit -m “Initial import”

I then created a dev directorygit clone /path/to/production .

code, commit, and test here

Time to deployGo to production directorygit remote add dev /path/to/developmentgit pull dev master

18Friday, May 17, 13

Page 43: Best Practice For The Sole Developer

Unit Testing

19Friday, May 17, 13

Page 44: Best Practice For The Sole Developer

BILLING AND INVOICING

20Friday, May 17, 13

Page 45: Best Practice For The Sole Developer

BILLING AND INVOICING

• It’s easy to end up working for free :-(

20Friday, May 17, 13

Page 46: Best Practice For The Sole Developer

BILLING AND INVOICING

• It’s easy to end up working for free :-(

•Don’t let it happen to you

20Friday, May 17, 13

Page 47: Best Practice For The Sole Developer

BILLING AND INVOICING

• It’s easy to end up working for free :-(

•Don’t let it happen to you

• I recommend freshbooks.com

20Friday, May 17, 13

Page 48: Best Practice For The Sole Developer

BILLING AND INVOICING

• It’s easy to end up working for free :-(

•Don’t let it happen to you

• I recommend freshbooks.com

• Track invoices (especially outstanding ones)

20Friday, May 17, 13

Page 49: Best Practice For The Sole Developer

BILLING AND INVOICING

• It’s easy to end up working for free :-(

•Don’t let it happen to you

• I recommend freshbooks.com

• Track invoices (especially outstanding ones)

• Accept payments

20Friday, May 17, 13

Page 50: Best Practice For The Sole Developer

BILLING AND INVOICING

• It’s easy to end up working for free :-(

•Don’t let it happen to you

• I recommend freshbooks.com

• Track invoices (especially outstanding ones)

• Accept payments

• Track estimates / expenses / time

20Friday, May 17, 13

Page 51: Best Practice For The Sole Developer

Continuous Integration

21Friday, May 17, 13

Page 52: Best Practice For The Sole Developer

Contribute to Open Source

22Friday, May 17, 13

Page 53: Best Practice For The Sole Developer

Hire a Consultant

23Friday, May 17, 13

Page 54: Best Practice For The Sole Developer

Any Questions?

24Friday, May 17, 13

Page 55: Best Practice For The Sole Developer

JOHN CONGDON

PLEASE RATE ON JOIND.IN

https://joind.in/8156

25Friday, May 17, 13

Page 56: Best Practice For The Sole Developer

JOHN CONGDON• twitter : @johncongdon

PLEASE RATE ON JOIND.IN

https://joind.in/8156

25Friday, May 17, 13

Page 57: Best Practice For The Sole Developer

JOHN CONGDON• twitter : @johncongdon • email: [email protected]

PLEASE RATE ON JOIND.IN

https://joind.in/8156

25Friday, May 17, 13

Page 58: Best Practice For The Sole Developer

JOHN CONGDON• twitter : @johncongdon • email: [email protected]• irc: freednode.net (#sdphp)

PLEASE RATE ON JOIND.IN

https://joind.in/8156

25Friday, May 17, 13

Page 59: Best Practice For The Sole Developer

THANK YOU!!!!

26Friday, May 17, 13