The web – technology as a whole – takes massive leaps ahead. One day you’re happily coding in PHP5.X and the next you hear – PHP7 is out!
Wait! What?! What happened to PHP 6?!
PHP 6 was tabled as a version name/release candidate because it failed in its mission to bring native unicode support to the language. Apparently, doing so made PHP 6 a memory hog and a bear to program in.
To recover from this misfortune a new version number was chosen and new features implemented. The first RC of PHP 7 happened last month (Where was I for this party?!) Word has it that PHP 7 ‘is a scorcher’ – super fast and responsive on the server! Yippeeee! Take that Facebook!!
PHPNG – PHP Next Generation – competes directly with HHVM and implements a JIT engine into Zend.
There are other goodies too. But I am still trying to wrap my head around what they are and how they’ll benefit me!
So. I have work to do to get up to speed on PHP 7 and see how much of 6 actually made it into 7 and which pieces of which version of 5 are defunct.
You can follow my learning curve – it shouldn’t be too steep – with this book.(Aff link)
I had a very interesting interaction with a client this week that had me thinking:
What?! My time is worth SOMETHING!!!
I need a new gig!!!
This particular interaction was all about time with a subtle inference that I was not accurately billing the client.
But this was the third time in about two months where I was pulled into explaining how I keep time. I have been at this long enough that I no longer DEFEND how I keep time. It is what it is. But now I am tired EXPLAINING it.
So this blog post and the accompanying contract addendum are going to help me NEVER to have to visit this again.
Hope springs eternal.
I have two types of projects – fixed price and hourly. No surprises there. Du jour for freelancing.
I am not going to talk about how I set fixed prices. I am going to explain how I track time for my hourly projects.
For hourly project :
I print off the email containing the task that is to be done. Yes, the task must come to me in written form. This is my proof that the task was requested. If the task originated as a phone call I will send a follow up email to the client who must reply giving permission to start. This is a CYA – Cover Your Assets. If you are a new freelancer, this is a REALLY good practice.
When I retrieve the print out, I sit at my desk and turn on a timer.
(Ahem – Don’t laugh) This is a humble kitchen timer. You know the Kitchen Aid count up/count down/keep time timer your Mother probably has in her kitchen? Yeah. That.
I have used ALL kinds of timer, from apps on my phones, online timers to programs on my p.c. One that I even customized (it was in php) for myself. After a while I just decided I liked the kitchen timers better. I have several – right now I have three on my desk. I like them. You don’t? That’s fine. Just figure it out for yourself.
I have a “work sheet’. This sheet is a form on which I make notes about EVERYTHING I do or see. It becomes a permanent part of my client’s file. I have these going back 10 years or more for some projects. I also, usually, start a NotePad++ text file for copying text from the screen (error codes etc).
When I finish, I write the time and highlight it so it is OBVIOUS how much time I was at the job.
I bill time in 15 minute increments. Time is round up to the nearest 15 minute – so 2 hours and 6 minutes is 2 hours 15 minutes. Without exception. Because the application I use does it for me.
I do not bill for answering emails.
I do not bill for composing and sending emails.
I do bill for ALL meetings, phone calls and Skype calls.
I do bill for time spent doing research, trouble shooting and any sort of
maintenance or preparation work related to the project being executed.
I try to get my invoices out at the beginning of the month for the previous month. This is where I fail. But I have gotten better. I usually get them out by the 15th.
Other questions I get:
Do I do free work?
Do I comp time?
How accurate are my timers and time keeping?
The timers are new and newish. They are all running on Costco’s Kirkland Brand batteries. So they are as accurate as they can be. As for my accuracy – habit serves me well. It’s an old habit.
What no one has ever asked me is , do I care about my clients?
YES! Without them I would have NO JOB. Besides that, most of them are just like me; we watch our budgets and finances. So I am always mindful of their goals when it comes to budgets!
And almost all of them are really good people.
However, I have to earn a living also. Clients pay for my time which when I am expending it on their projects, I use my expertise to help them reach what ever goals they have. I bill for my time. I respect my time. I don’t like wasting it. Because when it is gone it will never be recovered.
Hopefully this blog post helps both you and me not waste time being anxious about how I track what I do for you!
I started writing this and thought, “Whiner!” But really I a noodlin’ and leaving this here in the hopes some enterprising person will drop some information in the comments (would beat all the stupid spam…)
Proposal writing is hard.
It has to look professional
It has to cover what the client asks for
It has to say enough without giving away the farm
Legalese (it’s the devil!)
I am writing a lot of proposals lately. And realize that it is hard – perhaps harder than it should be because
The clients NEVER give me the info I ask for. This is really bad since MOST of these clients are web developers or designers who run really nice shops.
The format I am currently using is clunky (WORD!) Though the design is beautiful and the layout is really professional looking and easy to read. Well… I hope so. No one has complained.
So I think I should find a more efficient solution.
What I like about my proposal and contract documents:
They are mine! They live on my machine.
The layout, the colour scheme and the font choices. I love having the granular level of control in the design and the ability to affect change on a whim.
They are free… HAHAHAHAHA…
What I really need is to create a php script that takes a bunch of fields, builds some pages and spits out an HTML page which I can them save as a PDF…
(Sounds like work to me…)
I searched for Proposal and Contract generators. Nothing looks promising.
Still the idea of fields appeals… Hmmmm. Maybe EXCEL?
It has always irked me (maybe too strong) that I do not have a traditional portfolio.
I work with other developers and small shops, doing every kind of thing.
Module repair, update, building, trouble shooting
CMS install, configuration, update and repair.
Content writing and editing,
Full website UI development, clipping and coding.
Ad nauseam (also may be too strong).
Most of these activities are not documented because of the types of contracts we have. Not unusual I think. Additionally, I offset some of the work with my own gigs under my own brand. The latter seem few and far between of late. So my portfolio and viewable work history seems light.
With the above in view, I thought, since this is a blog in which I blog, I would at least document what I am currently up to. In my quirky, laid back voice I will be writing either in detail or just a summary of the weeks events as related to the life and times on a Freelance Developer.
So this week what do I have on the board?
Drupal – Update a very old version of a Drupal install and then upgrade to the latest Drupal 7 version. I think I feel a cosmic whine coming on about clients who let their Drupal instances wane…
Proposal writing – an existing site that needs to be migrated from its current CMS into Drupal.l Not too taxing (kinda boring since this one isn’t a community type site). BUT there maybe an opportunity to learn Adobe Services. Not really sure what that is (?! Should I say that?) But gee willickers! How hard can it be? …
Okay! Okay! I wont be programming that portion, just learning!
My daily job as a Q/A for emails etc.
Hmmm… kinda light. But as it goes I expect by week’s end to be inundated with ‘right now!’ requests.