Becoming a master developer is like becoming a master craftsman; you just can't rush the process. You learn the basics, apply those skills, and over time master them and adapt them to be your own. As time goes on, you take on bigger and more complicated tasks, and apply appropriate skills to those, and so on. Our journey as developers is really much the same and yet sometimes I feel that we don't help those at the very start of the journey as much as we could. Continue reading
Although I've been "making websites" for a lot of years, I've mostly avoided the kind where people actually pay for anything. The result of this is that I built Bitestats (elevator pitch: sign up and get a printable summary report of your web stats every month by email) but then got busy and never built the bit where people can actually pay to use it.
I recently carved out some time to correct this situation, and fell into an absolute pit of confusion when I tried to figure out what my options even were. My requirements are that my customers are global, I am UK-based, people will set up a regular subscription, and I don't have (and I think I don't want) a merchant account at this point. I'm not PCI compliant and have no intention ever to attempt that. This post is an attempt to round up some things I found out along the way. Continue reading
I am delighted to announce that I'm speaking at the upcoming DayCamp for Developers in early March. The idea behind the daycamps is to bring important but non-technical skills to developers everywhere - so the sessions are virtual and so are the speakers! This time around the topic is Business, so we have a series of speakers to give you advice from a practical, developer-centric point of view - on everything you need to know!
My own talk is "Time and Money"; both are pretty important concepts to have a handle on when you are in business, either as a freelancer or when starting or helping to start a bigger business. Even as an employee, these are really important concepts to understand; most of what I learned about business I learned working with business people in the jobs I had beforehand.
Time is important because we need to figure out how much we have and how to share it around. Money is important because we all like to get paid. I'll be sharing my own tactics for keeping both of them under control so I hope you'll join us!
The situation goes like this. Lots of excellent, capable people have great ideas for new software products. They are bootstrapping their venture, so they look for a developer who wants to give some time up front and receive a fair (let's assume fair) share of the rewards once the product becomes successful.
The question is: as a developer, how do you know which of these products (I get about one tempting enquiry a month from what sounds like a real person who isn't building a social network) is a good bet?
Last year, someone asked me what I'd chosen for the company Christmas cards (I was relatively newly self-employed at the time). The idea of company Christmas cards had not even crossed my mind, but that conversation stayed with me and this winter, I picked a photo I took last winter, and uploaded it to moo.com, producing this:
A year ago, I left my job at Ibuildings and went freelance. At the time, I didn't really know what I wanted to do next, and I was excited about the opportunity to try out a few different things. I blogged about my new (ad)venture when I launched it, but I haven't written much since and people keep asking me for updates - the anniversary seems like a good time to reflect.
Well, I still don't know what I want to do next, but that seems like less of a problem these days. I'm busy but in a planned-in-advance, only wearing myself down because there was something so exciting I couldn't say no, kind of a way. I am not a great fan of travel, and have always tried to avoid it, but in fact so many interesting things came up this year that I ended up on the road more than ever. It turns out that there is a world of difference between being sent somewhere on short notice, and planning a series of interesting professional engagements that just happen to involve being away from home a lot all at once. And if I don't want to go: I don't go. It's amazing how many people will wait til next month if you ask them!
You might have noticed that things have been a bit quiet around here lately ... that's because I'm writing a book and doing a lot of editing at the moment. I love doing both of these as part of my work, but it turns out that when you're already writing/editing 3k words a day, it's hard to find more words to blog with (well, and I usually blog whatever code I'm writing which isn't a whole lot right now). I did however want to share with you the news that I'm working on a book (about PHP, for the lovely Sitepoint).
I'm completely new to book-writing and it felt like a mountain to climb. I have five chapters of around 8 thousand words each to write for the book (I have co-authors, who are also lovely), and the general advice I got was to just take it all one step at a time. This sounds a lot like the way I teach project management and time management to developers, so I used those same skills and created a burndown chart (I blogged about creating these before):
As you can see, there have been some great days, and some quieter days. The flat lines are mostly weekends or days where I was out of the office with other clients. Although I feel slightly overwhelmed (and this doesn't show the edits that come back after I submit each chapter), the graph is at least going in the right direction!
Since I started working for myself almost 6 months ago, I've had to get to grips with running a company myself, and I must admit that the paperwork was one thing that stopped me from making this move sooner! I've kept everything in order and I'd like to mention one tool which has helped me hugely with that: Harvest.
I mentioned the 360 Degree Feedback Technique during my keynote at PHPNW10 and had many comments and questions about it since, so I thought I'd post about it in more detail
Introduction to 360 Degree Feedback
The basic premise of 360 degree feedback is that rather than being given performance feedback at work solely by your superior, the feedback comes from people all around you. This would include your manager and your peers, but could also include your direct reports, and people that you work closely with from other areas of the business. For example a developer might receive feedback from the rest of the development team, the design lead, and the project manager.