5. JOHN CONGDON
•PHP Developer Since 2003
•SDPHP User Group Organizer
•Sr PHP Developer for Networx Online
2Friday, May 17, 13
6. JOHN CONGDON
•PHP Developer Since 2003
•SDPHP User Group Organizer
•Sr PHP Developer for Networx Online
•PhoneBurner.com
2Friday, May 17, 13
7. JOHN CONGDON
•PHP Developer Since 2003
•SDPHP User Group Organizer
•Sr PHP Developer for Networx Online
•PhoneBurner.com
•MeetingBurner.com
2Friday, May 17, 13
8. 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
9. JOHN CONGDON
•PHP Developer Since 2003
•SDPHP User Group Organizer
•Sr PHP Developer for Networx Online
•PhoneBurner.com
•MeetingBurner.com
•FaxBurner.com
•Over 8Years Being a Sole Developer
2Friday, May 17, 13
11. TYPES OF SOLE DEVELOPERS
• The “IT” Guy
• Works for a small company, but is the only developer
3Friday, May 17, 13
12. 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
13. 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
26. COMMENTS MUST BE USEFUL
if ($a >= 21)
{
// if age is over 21
// beer is allow
$b = true;
}
10Friday, May 17, 13
27. 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
30. 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
34. Many Options, Choose One And Use It
•Trello
•PivotalTracker
•GitHub Issues
•BitBucket Issues
•BugZilla
•Mantis
Issue Tracking
14Friday, May 17, 13
35. PROJECT MANAGEMENT
• Breakdown your tasks
• Track progress
• Stay Focused
• Sense of accomplishment
15Friday, May 17, 13
36. STAY FOCUSED
• Track time
• Try the PomodoroTechnique
• 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
38. How I Got Started With Version Control
18Friday, May 17, 13
39. 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
40. 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 code
git init
git add -A
git commit -m “Initial import”
18Friday, May 17, 13
41. 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 code
git init
git add -A
git commit -m “Initial import”
I then created a dev directory
git clone /path/to/production .
code, commit, and test here
18Friday, May 17, 13
42. 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 code
git init
git add -A
git commit -m “Initial import”
I then created a dev directory
git clone /path/to/production .
code, commit, and test here
Time to deploy
Go to production directory
git remote add dev /path/to/development
git pull dev master
18Friday, May 17, 13
46. BILLING AND INVOICING
• It’s easy to end up working for free :-(
• Don’t let it happen to you
20Friday, May 17, 13
47. 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
48. 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
49. 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
50. 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