Things I’ve learned from freelancing as a web developer – Part 1/n

Here is a random jumble of thoughts from almost 7 years of developing websites for clients. Some of these are specific to WordPress.

Set timers and work in 20 minute bursts if you struggle with concentration, like I do.

Use the laravel-dd plugin. It’s far, far more useful than var_dump

Only work for clients you respect.

The satisfaction of being in control of my own time is worth more to me than almost anything else in the world – but you still have to work hard and get your work done in time.

Learn to enjoy service without becoming servile.

Spend time populating the sites you make with content, like your clients will, so you get a feel for which bits are annoying or hard to use.

Use Timber rather than plain PHP templates. Far more manageable for larger sites.

Learn to look at your work from your client’s perspective. If there are fields or options in the wp-admin backend that aren’t used, take them away so they don’t get overwhelmed. Treat the CMS as your canvas, remove anything superfluous.

Make the copyright in the footer show the current year so you don’t have to constantly update it:

<p>Copyright &copy; {{ 'now'|date('Y') }} Your Business</p>

Keep a big list of small bugs, niggles and tweaks you’d like to make while working on a project. Things you could do in one minute or less. If you feel bored and can’t be arsed doing any work, pick something from the list and just do it – it will only take a minute but it’ll get you going.

Use favicons.

Be generous with your time when it comes to offering support, advice and guidance to clients. Be stingy with your time when it comes to design and development.

Scope your projects out properly and estimate how long each task will take. Time yourself when you actually do the work and compare the difference. Adjust your estimates to reflect this. (I’ve learned this the hard way.)

Don’t make accessibility an afterthought. Add alt tags and aria roles as standard practice. Yes, it’s boring, but it will help someone out someday.

Don’t chase fads, but don’t shut yourself off to new approaches.

Don’t compete on price. If you allow yourself to work for very little money you will attract demanding, petty clients who will mistreat you and take liberties.

Use WP CLI and learn all the commands. It’s an invaluable tool that will speed up your work considerably.

Learn all the shortcuts for your text editor and try to work a little bit quicker every day.

Use version control (like Git) and commit regularly.

Get good at researching bugs and issues on Google quickly. This is much more important than being able to memorise things (lucky for me, I’ve got a crap memory.)

Avoid keeping unhealthy snacks and energy drinks near your desk.

Sit up straight when you’re working. Your future self is begging you right now.

Use a caching plugin like w3-total-cache.

Become aware of tasks that you do over and over again. Find a way to avoid this kind of repetitive work – either automate it, delegate it to someone else or build a library of code that you can pull in snippets from.

Use Advanced Custom Fields Pro.

Learn at least a little bit of design, it’s invaluable as a developer.

If you do good work, charge appropriately.

Test your work using crappy old computers, tablets and phones. If you have a fancy PC, that’s wonderful, but what kind of computer will your client’s users have? Consider this carefully as they are who you’re really working for.

Don’t be scared to be inventive or weird. Ignore the way other people do it, find a way that works for you and the problems you’re trying to solve.

Be kind to your clients and know them as human beings and friends. Don’t ever treat other human beings as objects you can manipulate to earn money.

Pay your collaborators like you’d like to be paid.

Always tell your clients and collaborators the truth, but be kind.

Don’t lie or exaggerate. If you have staff it will only demoralise them and turn them into jaded husks, and the truth always gets out.

Take pride in your work at all costs!

Avoid cognitive dissonance at all costs!

Avoid cynicism at all costs!

Stay curious and playful at all costs!

Leave a Reply