andy_adams
Joined 14 years ago
Joined 14 years ago
What does "In order to keep up" mean, exactly?
If you're billing hourly, and the client chooses not to use your time, you don't work any hours and you don't get paid. If you then billed them for 100 hours without working, you've committed fraud.
If you're billing monthly, you've set aside the month for the client. If they choose not to use your time, you still get paid, because in your agreement you specified "use my time it or lose it".
The trap I fell into: I specialized in WordPress performance. I was really good at solving complex performance problems. But...who is my client? Maybe eCommerce stores, but which of them have performance problems? Typically, when they did have performance problems they felt it was a temporary problem and didn't _really_ want to spend the budget to fix it.
So that's my warning: If you tout yourself as a tech-specific problem solver, you should have a clear picture of how you're going to find clients with that specific problem. I find this harder to do than the reverse process of picking a type of client and THEN identifying their problems.
PHP dominates the web, but I'm sure there is plenty of business elsewhere. The internet is pretty vast - some of my clients are in niches you've likely never heard of. If you were working in particular industries, you might see ASP/Java more often, depending on who the major players are there.
A couple of lame examples:
Instead of "I'm a React Developer", think "I build web-based software for the mining industry".
Instead of just "I build websites", think "I help nursing homes build websites that bring in new clients"
Though nothing has changed with the freelancer themselves, this has many benefits including:
* Helping the freelancer to realize who their ideal client is.
* Allows said clients to self-select into the freelancer's services - clients don't know they need a Shopify developer, but they sure know they need a website that can take customer orders and do fulfillment.
However, if you're marketing yourself purely as a "web developer", you're already commoditizing your skills. Instead, become an expert in a specific type of business/client and sell your ability to solve problems in that business domain. Your clients should not care about the tech you're using. You need to instead be seen as the expert who solves their problems with tech.
If you go this route, not only is freelancing viable - I think it's the best way to maximize your earnings as a developer.
I wrote about freelancing in more detail if you're interested: https://andyadams.org/everything-i-know-about-freelancing/
Do you pre-filter clients at all to ensure they have the budget? I've done scoping work for free, only to learn afterwards that the clients budget was 10% of what it needed to be. Do you just accept that as part of doing business, or is there a way to avoid it?
Would you recommend this even to a solo consultant, where scoping can take multiple days with the prospect of that time being lost? I'm in a situation where the potential client desperately needs a scope developed, but I don't feel I can risk doing it for free as it might take a week.
1. There is no easier way to set up a standard marketing/business website, despite many quality attempts to build replacements. The plugin library is a big part of this.
2. It's extremely easy for anyone to start hacking on, leading to lots of developers "cutting their teeth" on WordPress by following online tutorials. Show me a self-taught front-end developer and I'll be shocked if they didn't learn on a WordPress site. This has good & bad aspects, of course.
Most everything else you said could also be said of Ruby - docs, helpful community, flexibility from scripting up to massive webapps. That's what perplexes me - what are the "more of the things people actually want" specifically that drive Python's growth?
It has been utterly game-changing and time-saving. I question each new bid I do: Should I assume AI will continue to help this much, and adjust my pricing?