I've come to realize now that one of the fastest things I can do on a project is to draw up the XHTML/CSS stuff first, drawing out every page and admin page, before I even start work. Of course, if the client has a designer in mind, or can use who I recommend, that's great. But if they're cheap and cannot, then it's best if I start on every page.
I had this all wrong, really. I used to draw each part of the site as I went along, and then have these painful discoveries with the client where, once they visualized something, they would either have feature creep or explain that they messed up in the functional spec or were not clear enough or that I interpreted thing completely wrong. By drawing a UI all the way through and presenting it to the client, it makes the functional spec that much more clear.
At that point, building the site moves along much faster because it's just a matter of plugging in items into the backend database.
Showing posts with label freelancing. Show all posts
Showing posts with label freelancing. Show all posts
Friday, July 11, 2008
Sunday, June 22, 2008
Subtle Hint From Client -- Work Faster!

I just got a chat from a client today, on a Sunday of all things. Chat sucks. I hate chat because sometimes you get undesirables, and clients reaching you at times when you're mega-tired. I really only like using it to talk to a business associate, and only one or two of them because more than that it gets hairy to manage and sucks valuable time. I've got one person (non-client) named Steve who is always depressed and miserable all the time, and I try to be nice, but the guy just drags and drags on me, asking my advice with his miserable software testing job, wanting me to cheer him up, wanting me to call him or do online chat, whatever. I'm about to the point where I want to advise Steve to leave his job and then not to call me anymore unless he's got happy news because he's depressing the mess out of me.
Anyway, back to the client. The client read my work log. He noticed that I didn't progress much last week as far as coding. He's about right except for the fact that I spent like 10 hours on a Friday to Saturday timeframe configuring a new staging server with all the required software, fighting with custom compile of PHP and the stuff that goes into that. (My last blog post explains a one-liner script that fixed me in 5 minutes, but I had to waste 10 hours before I found that.) And when I explained that, he was like, phhht, who cares? And then I have been waiting on XHTML templates in order to make my stuff look good, and they don't have this yet, and so I shrugged my shoulders, said what the hell, and wasted two days on the project schedule doing bitmap to XHTML conversion on my own with Gimp and Blueprint CSS. What an aggravating mess that was. I finally got it going and tested in FF2 and IE 7 at least for now, and it will do until the real templates arrive. But when I mentioned that to the client, again, he was like, phhht, who cares?
Now, when the client chats you and usually uses "lol" in his chats, but then suddenly stops using that and starts saying things like, "how much longer do you think this is going to take?" then ALARM BELLS SHOULD BE GOING OFF IN YOUR HEAD THAT THEY ARE NERVOUS ABOUT YOU AND YOU MIGHT LOSE THE CONTRACT. So, my advice is to handle it like so:
- Ask them how long do they have for this project to be built. They'll tell you a number, but realize that no client in their right mind would tell you a reasonable number, and most clients want to not even think about how long it takes to work out quirks in the admin pages or handle bugs, so you can guarantee you'll need to take their estimate and tack on 3 weeks. Now, consider that -- their view of the timeline + 3 weeks -- and if you can't make it happen in that timeframe, then respond and say it's going to take 3 weeks longer than their estimate to handle misunderstandings and bug fixes, and then another x weeks to finish the project. When they ask about misunderstandings, I could give you countless examples. For instance, my last client wanted an admin system, so I whipped it out fairly fast based on his functional spec. But then he came back and said that he wanted to edit several member transactions at a time, rather than onesy-twosey, and that's the sort of misunderstanding that is not cleared up in the functional spec most of the time.
- Tell them that they'll have a significant demo of some key user features within 7 to 10 days. And bust ass to get that goal accomplished.
- Split the project up into 2 week periods with demos on each timeframe.
- Stop all chats, reading websites and news, and so on. Get some good tunes to listen to so that you can get into your zone, build a project schedule and stick to it, don't over-engineer something, and bust ass getting work done because evidently you are behind schedule in their opinion.
- Print up some signs for the wall above your monitor:
- Software does not write itself. It's up to you.
- Most clients only care about visual results in the web pages.
- Clients want visual results every two days. If you haven't delivered, then you have one day to make that up.
- If you consider a website as a set of forms, and haven't knocked out at least two forms a day, then your client will be disagreeable.
My other advice is to never ever take on more than 2 clients at once unless you can't pay your mortgage or vehicle payment, or unless the gigs are under $2000 a piece.
Listen to your conscience. If you have a sense of dread come over you about your work output, then you are more than likely right that your client feels the same thing. Every time I feel this, my client comes back and responds the next day with either bad news or "asking me how much further?" So listen to that, deal with that, and get some work done.
Labels:
clients,
deadlines,
dread,
freelancing,
timelines
Thursday, June 12, 2008
Some Clients Really Make Your Day

After I walked out of my day job in a fit of rage last Christmas, right before the eyes of my HR manager and two supervisors, after working miracles for that lousy company and never getting any serious praise, and after constantly getting called at all times of the day, night, weekends, and vacations, and working 60 hour weeks, I really didn't know what to expect as a freelancer where you literally have to sing for your supper.
But who would have thought I'd be getting people to pay me for $40/hr, 40 hours of the week, almost indefinitely on a laid-back project, permitting me to have another client if I still maintained my 40 hours of week for them, and getting praise for my work?
But that's exactly what has happened. I've even been paid on retainer for awhile as a freelancer, although that didn't work out, but I learned a lot in the process and I know that I don't prefer retainer as much as just getting paid by the hour. Retainer pay is usually like working for peanuts, but then they give you work in bursts and during dry periods of no work you still maintain a paycheck. The retainer pay happened simply by posting my case about quitting my job in a forum, saying that I do PHP, and the CEO of a wealthy company read it, felt sorry for me at the time, and gave me retainer pay on a project. In the end, I got along well with him and his partner, but his third partner and I disagreed too much and that was the kicker that ended that project. But oh well.
And who would have thought that so many PHP freelancers (and ex-PHP guys who now do Affiliate Marketing) are so nice, sharing advice, simply by asking? You'd think we'd be competitors, but in reality it's just like that old Christmas movie -- Miracle on 34th Street -- where the Santa tells people if they can't get a product at this department store, he would recommend where they could get it down the street. And that same sort of philosophy and sharing exists among us PHP freelancers -- we remember the talents and approximate rates of our associates, and when something is not in our price range for our services, or not in our skillset, or if we're simply too busy, we would rather deflect to another PHP freelancer in order to present ourselves to our client in the best light.
And who would have thought what a symbiotic relationship that PHP freelancers would have with web designers and with affiliate marketers? It's those great relationships that help give me cash, and then I produce things that give them cash, and then they reinvest in me. Or, I produce things for their clients, and they keep sending me gigs, or I send them work when it falls in their speciality.
Anyway, in the past couple days, one client told me, "Phew! We're so glad we found you." Another one said "I have heard some amazing things about you. I've seen some of your works as well, and you carry a fairly sophisticated portfolio with a very diverse arsenal of skill sets. I am thoroughly impressed." He also mentioned, "I fully trust the knowledge and expertise you have in your field."
Wow! If my last day job heard the good luck I've been having, they'd probably be kicking themselves that they didn't keep me.
Labels:
affiliate marketing,
clients,
freelancer,
freelancing,
PHP,
portfolio,
retainer,
web design,
web designers
Dealing with the IRS as a PHP Freelancer in the USA

Just so you know, I contacted the IRS the other day and asked if I have to pay extra taxes if I build websites for non-domestic clients in Europe, Canada, etc. Would I have to pay some exotic foreign work tax, or have a limit on how much I could take in per client per month?
The answer I got back was no, that the IRS treats foreign work that you perform under your USA-based LLC, sole proprietorship, corporation, or partnership as domestic work and is taxed just like that. The only exception is that other countries won't issue you a 1099-Misc form as a contractor -- although your non-domestic clients may request your Federal ID for their special government forms in some cases. And just so you know, even if you do the work on foreign soil, but get paid back to your business entity, then this is treated as domestic work and is taxed like domestic work.
The other thing you have to remember is the quarterly estimated income tax on the moment you start to earn your first check and can make a draw on the account. Now, if you never make a draw or a W2 or pay anyone at all, such as just filing checks into the bank for safekeeping and paying expenses only with that, then you never have to pay the company's federal or state income taxes until you actually make your first draw or personal payment to you or any employee or contractor in the business.
Now, a quarterly estimated income tax is a real racket. The IRS wants you to guess your next quarter's earnings. Guess too low and they could tax you more at the end of the year. Guess too high and they end up earning interest off that income, not you. So, the only realistic thing you can do is to take last quarter's earnings + the last quarter's earnings from the same quarter last year, and then divide by two to get the average estimated income tax going forward in the next quarter. This shows the recent trend as well as the seasonal trend for your business.
Plus, there are stiff penalties for missing your quarterly estimated income tax.
Now, realize that unfortunately this is how business works. I mean, do you want a whopper of a bill that you have to pay twice a year or, worse, once a year? I don't want that. So they have to break it up into quarters, but if they don't get their money, then you have placed the burden on other businesses that are like, in a sense, paying your tab while you miss paying yours.
But my beef with the IRS is that I am opposed to income and property taxes, and would prefer either a flat tax and a decent sales tax, or just give me purely a sales tax. However, this is the USA government here -- don't hold your breath.
I'm also opposed to the fact that the business estimated income tax is about 40% to 45% of your income + penalties if you have them. And if you look at big business -- remember that Enron in one year owed absolutely zero tax because they had worked all the loopholes and had the army of tax accountants and lawyers to cook the books like that. That's just not fair.
And when you look at what you get for that 40 and 45 percent, those dollars aren't spent very wisely in America.
Labels:
Canada,
consultant,
domestic,
Enron,
Europe,
fair tax,
flat tax,
foreign,
freelancer,
freelancing,
LLC,
pay,
PHP,
sales tax,
taxes
Subscribe to:
Posts (Atom)