best practice for the sole developer
DESCRIPTION
As a single developer, I needed to learn how to work better. I want to share what I learned, and how I improved.TRANSCRIPT
![Page 1: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/1.jpg)
BEST PRACTICES FOR THESOLE DEVELOPER
1Friday, May 17, 13
![Page 2: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/2.jpg)
JOHN CONGDON
2Friday, May 17, 13
![Page 3: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/3.jpg)
JOHN CONGDON
•PHP Developer Since 2003
2Friday, May 17, 13
![Page 4: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/4.jpg)
JOHN CONGDON
•PHP Developer Since 2003• SDPHP User Group Organizer
2Friday, May 17, 13
![Page 5: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/10.jpg)
TYPES OF SOLE DEVELOPERS
3Friday, May 17, 13
![Page 11: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/14.jpg)
Don’t Do It *IT Guy
4Friday, May 17, 13
![Page 15: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/15.jpg)
HAVE A SET SCHEDULE *Remote, Entrepreneur
5Friday, May 17, 13
![Page 16: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/17.jpg)
PARTICIPATE IN COMMUNITY
7Friday, May 17, 13
![Page 18: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/18.jpg)
PARTICIPATE IN COMMUNITY
National
Conferences
7Friday, May 17, 13
![Page 19: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/19.jpg)
PARTICIPATE IN COMMUNITY
National
ConferencesRegional
Conferences
7Friday, May 17, 13
![Page 20: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/20.jpg)
PARTICIPATE IN COMMUNITY
National
ConferencesRegional
Conferences
User Groups
7Friday, May 17, 13
![Page 21: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/21.jpg)
PARTICIPATE IN COMMUNITY
National
Conferences
IRC
RegionalConferences
User Groups
7Friday, May 17, 13
![Page 22: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/23.jpg)
Comment Your Code
9Friday, May 17, 13
![Page 24: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/24.jpg)
Comment Your Code
9Friday, May 17, 13
![Page 25: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/25.jpg)
COMMENTS MUST BE USEFUL
10Friday, May 17, 13
![Page 26: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/28.jpg)
11Friday, May 17, 13
![Page 29: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/29.jpg)
Use a Coding Standard
12Friday, May 17, 13
![Page 30: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/31.jpg)
Issue Tracking
14Friday, May 17, 13
![Page 32: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/32.jpg)
Issue Tracking
14Friday, May 17, 13
![Page 33: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/33.jpg)
Many Options, Choose One And Use It
Issue Tracking
14Friday, May 17, 13
![Page 34: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/35.jpg)
PROJECT MANAGEMENT
• Breakdown your tasks
• Track progress
• Stay Focused
• Sense of accomplishment
15Friday, May 17, 13
![Page 36: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/37.jpg)
Version Control
17Friday, May 17, 13
![Page 38: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/38.jpg)
How I Got Started With Version Control
18Friday, May 17, 13
![Page 39: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/41.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/42.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/43.jpg)
Unit Testing
19Friday, May 17, 13
![Page 44: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/44.jpg)
BILLING AND INVOICING
20Friday, May 17, 13
![Page 45: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/45.jpg)
BILLING AND INVOICING
• It’s easy to end up working for free :-(
20Friday, May 17, 13
![Page 46: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/46.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/47.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/48.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/49.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/50.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/51.jpg)
Continuous Integration
21Friday, May 17, 13
![Page 52: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/52.jpg)
Contribute to Open Source
22Friday, May 17, 13
![Page 53: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/53.jpg)
Hire a Consultant
23Friday, May 17, 13
![Page 54: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/54.jpg)
Any Questions?
24Friday, May 17, 13
![Page 55: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/55.jpg)
JOHN CONGDON
PLEASE RATE ON JOIND.IN
https://joind.in/8156
25Friday, May 17, 13
![Page 56: Best Practice For The Sole Developer](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/56.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/57.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/58.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052900/555a07a0d8b42ad00a8b53c2/html5/thumbnails/59.jpg)
THANK YOU!!!!
26Friday, May 17, 13