In 1998 I took a contract to build the backend of a site for a real estate agent using PHP. That evening I went home, dove into devshed.com, and started learning PHP. Fortunately, I figured it out, built the site, and in the process fell in love with PHP.
I continued to teach myself for two years, and in 2000 I took a full-time job as lead (read: only) web developer for a radio station and news service. I spent 10 years as a senior developer, mostly working alone or with interns.
By 2003, I distinctly remember feeling bored.
I felt lost. I didn’t have anyone to talk or any idea where to go next.
Let’s skip ahead a little. In 2010, I went 100-percent freelance. WordPress 3.0 came out, and I fell in love all over again. I dove in head-first and have been doing WordPress ever since. However, I was still learning on my own. It took me weeks to figure out that WP_Query existed because I didn’t have anyone to ask. A few years later I took part in a startup and built a very complex plugin. Looking back, I know it was terrible because I didn’t have anyone to bounce ideas off of. When I left the startup I decided it was time to change all of that.
I wanted to work with other people. I wanted to be the least knowledgeable person on the team. After looking around, I joined an agency I respected and that’s when my real education began.
I asked questions incessantly. I’m sure I annoyed some of my coworkers, but they never hesitated to answer. My entire outlook on website development changed during my time with that agency. Those 14 months taught me more than anything I’d learned in the previous five years.
So, how can you transition from being an army of one to a team player?
Don’t go it alone
In my early learning, I didn’t know of any strong online communities. Today there are many and you don’t have to work for someone else to surround yourself with experts. I work in WordPress. Our community is rich with meetups, WordCamps and online support groups.
Find an equivalent in your development community, whether it’s another PHP CMS like Drupal or Joomla!, or something like Rails or .Net. Seek them out, it will change your life.
Form a mastermind group
If you can’t find a group that fits what you’re looking for, make one. Form a Slack or IRC channel and approach people you respect. Ask if they’d be willing to be involved in a group whose goal is to help each other grow. Don’t be offended if some say no. Not everyone has time for one more group in their life, but some will say yes. Meet regularly. Share what you’ve learned since the last meeting. Then ask about what they learned. Every single one of you will benefit and grow in your knowledge.
Form a team
Find people who excel at things you aren’t good at, or don’t want to do.
Pay them to do those tasks. Trust me, it makes life so much better. Less stress for you, more work for your friends, better quality output. And, generally, you’ll make more money in the long run.
Get a … job
I loved freelancing. After working in a cube for 10 years, it was breathtaking. Sure, I know all about the downsides — but it was worth it. When I quit my startup in 2013 I thought about going back, but there was a new kind of employer available, one that let me work from home. Not only that, since they hired people all over the world, they didn’t care what hours I kept. It was remarkably like freelancing with some positive exceptions:
- I had a team.
- I never hunted down my own work.
- I had a regular paycheck.
- They offered insurance.
However much you love freelancing, you might at least consider working for the right employer. The right employer will fit the lifestyle you want.
The Golden Rule
The point I’m trying to make is that you should never work alone. There’s too much value in working with a team. The wisdom, confidence and knowledge you gain are truly priceless. A good team is greater than the sum of its parts, and will make you a stronger, more agile developer.