(Best) Practices for the Solo Developer

  • Published on
    17-Jul-2015

  • View
    1.377

  • Download
    4

Embed Size (px)

Transcript

Practices of the Solo Developer

You are the only developer in your company. Maybe youre an independent consultant. Maybe you work from home, maybe not. Any way it goes, being the lone developer can be tough. Whether you work in a cube or the comfort of your home office or the local coffee shop, there are many challenges facing the solo developer. Project management, estimation, testing and even writing code all change when you work alone. In this session, I will discuss many of the lessons learned and practices Ive developed working almost exclusively as a single developer for the past ten years.(Best) practices of the solo developerMichael EatonValidus Solutions, LLC.@mjeaton

Who is Michael Eaton?Owner / Validus Solutions, LLCCustom Software Development / Training / CoachingSpeakerC# MVP, MCSDKalamazoo X Conference lead organizerAnn Arbor Give Camp organizermjeaton@validussolutions.comBlog: http://mjeaton.net/blogTwitter: @mjeaton

I have been a self-employed software developer since 2001, but have been developing software since 1994. I tend to focus on Microsoft tools and technologies where possible but Im also a big believer in using the best tool for the job.

I am a C# MVP. The MVP is an award from Microsoft for contributing to the software development community. The MVP is pretty cool in that it gives me access to a lot of cool people as well as ton of great software.

I head up the Kalamazoo X Conference this is a 1-day, single-track conference thats devoted to many of the non-technical areas that developers are historically bad at doing things like interpersonal skills, design and architecture. Check us out at kalamazoox.org.

I also head up the Ann Arbor Give Camp.

Here is my contact information if you have ay questions or comments about what we discuss today, or if you just want to keep in touch.

During the course of the session, several other independent developers will be in and out of the room to help me answer questions and to provide you with other perspectives on the topics presented.

Well wrap up the session with a panel discussion where you can ask us about things not covered during the rest of the session. My friend Dave Giard will be facilitating that discussion.

3History1994 to 1995 Worked remotely on a team of 6 or 7. Worked in a silo.

1996 Sole developer for small, custom dev shop

1997 to 2000 Worked on a team of 5. Best team EVER.

2000 to 2001 Project Director/Team Lead for mid-size consulting firm. Led several project teams.

2001 to early 2006 Independent consultant worked mostly alone, but did contribute to a couple project teams during that time.

2006 (roughly 9 months) Tried my hand at working for The Man again. Worked on a small dev team.

2006 to Now Independent consultant. Work mostly alone, but one of my projects has me on a team of 5 local developers + an offshore contingent.1994 to 1995 Worked remotely on a team of 6 or 7. Worked in a silo.

1996 Sole developer for small, custom dev shop

1997 to 2000 Worked on a team of 5. Best team EVER.

2000 to 2001 Project Director/Team Lead for mid-size consulting firm. Led several project teams.

2001 to early 2006 Independent consultant worked mostly alone, but did contribute to a couple project teams during that time.

2006 (roughly 9 months) Tried my hand at working for The Man again. Worked on a small dev team.

2006 to Now Independent consultant. Work mostly alone, but one of my projects has me on a team of 5 local developers + an offshore contingent.

4A team of one is never wrong Tim Wingfield, 2011ConsiderationsGet hit by a busGet sickGet firedQuitSomeone else joins the teamGet hit by a busGet sickGet firedQuitSomeone else joins the team

6TechnicalAlways use source code controlIts not about sharing code with others, its about securityA folder on your drive is NOT good enoughDropbox is NOT good enoughExternal, when possibleGithubBitbucketCommit early, commit oftenIts not about sharing code with others, its about securityA folder on your drive is NOT good enoughDropbox is NOT good enoughExternal, when possibleGithubBitbucketCommit early, commit often

8Write testsTests give you:Confidence in your codeSafety net when changes comeDocumentationPotentially saves timeTests give you:Confidence in your codeSafety net when changes comeDocumentationPotentially saves time

9Continuous IntegrationMove builds and deployment from your personal computerIsolated from day-to-day changes to your systemMove builds and deployment from your personal computerIsolated from day-to-day changes to your system

10Get virtual (machines)Allows custom environmentsGives you a safety net if your laptop (or work computer) dies unexpectedly

Allows custom environmentsGives you a safety net if your laptop (or work computer) dies unexpectedly

11Non-technicalTrack your tasksKeep it simple, but keep your task list somewhere other than in your headI