Coding with Jesse

Finding time for side projects

August 1st, 2020

In many ways, time has been going very slowly amidst this pandemic, as we've all waited for case numbers to come down, lockdowns to lift, and vaccines to be tested. In other ways, time has been flying by. It's hard to believe I bought joyofsvelte.com almost seven months ago, and my initial Spring 2020 launch date is already months behind us.

I've never launched a product on my own before. I didn't realise how different it would be recording videos for a paid video course compared to making free videos for YouTube. If I'm going to expect people to pay, these videos have to be absolutely perfect. That means when I record them, I need to have a large block of uninterrupted time, completely free of distractions, and I need to be well-rested, in a good mood, full of joyful energy and inspiration.

Well, I have a four-year-old at home. I absolutely love being with my son all day, but there's definitely not much stillness around here, and any extra energy is either spent on getting some freelance work done, cleaning up the house, or trying to fit in a grownup movie or game before bed.

Last weekend, my wife took my son to a socially distanced birthday party, which marked the first time I had the house to myself in four months. I got to sleep in too, so I was well-rested, in a quiet house, full of joyful energy and inspiration. It was time to finally record. And I did! I recorded two more videos. Well, one and a half before they came back home. But I had momentum, so while we let my son quietly play Mario Kart, I went and finished the second video!

It's hard to find time for side projects. It's even harder when you have such high standards for that time. They say that perfect is the enemy of good, and I'm coming to realise that something like a video course can never be perfect anyway. I can only do my best with the time and energy I have available. I'd rather finish this course and share my experience and insights on using Svelte with the world, than to plan it forever and never launch.

If you keep calling it a side project, it'll keep getting pushed to the side.

I wrote that tweet back in May and obviously I've failed to take my own advice. But I'm not giving up. I'm going to keep at it and keep trying to find the time. We're probably going to keep my son home from school this fall, so it doesn't look like I'll have a quiet house for a long while. I'm going to have to get creative and find a way to make it work.

I hope you're able to find some time for your own side projects too, and know that you're not alone in that struggle. We usually only see people launching projects once they're already done. I'm sure there are countless more unfinished and unlaunched side projects that the world will never know about. Don't let your side project become one of them.

5 Reasons Freelancers Can Succeed in a Shrinking Economy

October 24th, 2008

Like many people, I've been a bit obsessed about the economy lately. I'm wasn't sure whether or not to be scared, and to be honest I still don't. But I did think of some reasons freelancing might be a safe place to be.

  1. You have a diversified clientele. Your clients can be anywhere in the world, and you have many of them. And if you're lucky, you have more than enough work to fill your time. No matter how bad the economy gets, there should still be some business available.
  2. You have very little overhead. For most freelancers, all you need to work is a laptop and the Internet, both of which you'd probably have even if you weren't freelancing. You probably pay $10/month for your web site hosting, but otherwise you don't have a reason to borrow money. The gears of the credit crunch don't touch your business.
  3. You can drop your prices whenever you want. If you find less people can afford what you're charging, you'll be able to adjust accordingly. If you have a job and they decide they can't afford you, then you get laid off.
  4. The Internet is the place to be for self-employed professionals. With the considerably low cost of having the Internet, I would assume that a lot more business will happen online as more people become self-employed and work from home. The number of people you can potentially connect with online feels infinite.
  5. Businesses who don't want employees might turn to freelancers. Who knows, maybe in uncertain times, more business will want to hire freelancers on a contract basis rather than dedicate to hiring an employee they don't know if they'll be able to keep.

For those of you who don't freelance, I'm not suggesting you quit your job and start freelancing tomorrow. You'll have to decide that for yourself. If you want to start freelancing, I would suggest is to get the ball rolling on the side while you have a job. Get that website up and get some presence on the Internet. That way you'll have something to fall back on if you lose your job.

So things don't look too bad for us freelancers. How about you? Have you noticed the shrinking economy having a direct effect on your business or job? What do you think we can expect?

Wanted: Ajax Developers

April 18th, 2007

I'm starting to get really swamped with work, and it's about time I started looking for some great talent to help me out with cool projects like FlickrCash.

Here's what I need you to be:

  • You're a self-employed individual (no teams or agencies, please).
  • You're freelancing full-time (at least 20 hours per week).
  • You are an expert in JavaScript, Ajax, CSS and XHTML.
  • You're always doing your best to produce work that is valid, accessible, and uses JavaScript unobtrusively.
  • You're at least familiar with jQuery. (You don't have to be an expert because jQuery is easy to learn.)
  • You're very experienced programming on the server side, especially with PHP and MySQL. Ruby on Rails experience is helpful too.

If this sounds like you, drop me a line and let me know. Please give some details like where you live, how long you've been freelancing, what kinds of projects you like to work on the most, what your hourly rate is, etc. I'll be in London for the next week but I'll email everyone back as soon as I can. Thanks!

Freelancing: First eight months

April 8th, 2007

It's now been one year since I started freelancing, eight months since I announced I was doing it full-time, and exactly six months since I did a two-month review. And wow, I've learned a lot in the past six months. Let me share with those of you thinking of freelancing or already doing so.

  1. Schedule in time for long-term projects

    This has bit me in the ass more than once. It's one thing to say that long-term projects deserve attention, it's another to physically schedule them in. Your clients will need quick fixes and other maintenance, and they may not want to wait until you have some "free time" (which doesn't exist as a freelancer). I'd recommend pencilling in a few hours per week for any long running projects, whether the client anticipates a need for it or not. Besides, it's better to have extra time than not enough.

  2. Schedule in time for family, friends and yourself

    I don't know about you, but my family and friends (especially my mom, dad and girlfriend) need help with their websites. And I always promise to help out, but assume I'll do it in my "free time" (again, it doesn't exist). Well, that just doesn't work. Even if I don't get paid to help, I need to book them in just like any of my other clients, otherwise they'll be the first people I neglect even though they're most important to me in "real" life. My own projects get neglected even worse, something I definitely have to improve on.

  3. Try to find a good daily routine

    Even after eight months, I haven't quite figured this out. I've tried working all at once when I wake up, working before I go to bed, or working in small chunks throughout the day. Some days it feels like I've worked all day even though I get nothing done. Other days I get a ton done but feel like I haven't done anything. I'm still trying to figure out which times of day to work for optimal productivity, but this remains elusive.

  4. Stay focused on your speciality

    When I started freelancing, I agreed to work on anything that came my way. Granted, I was worried about finding enough work to fill my time. Nowadays, I can keep busy with just JavaScript and Ajax projects (Ajax being my speciality), and end up turning down other projects (hint: heavy server-side development). I highly recommend figuring out what it is you do best and enjoy doing best, and stick to that as much as possible. Nobody benefits when you work on projects you don't enjoy.

  5. Try not to overcommit yourself

    Man, I say I've learnt these things, but they keep getting me time and time again. I hate to say no to people and try to give the best service I can. And unfortunately, when combined with optimistic time estimates, this can really be overwhelming. If something seems like it will take 25 hours, you can probably assume there will be at least 5-10 hours of stuff you're not thinking about, so try and factor that in. If you don't, it'll be your weekends and evenings that pay for it. Let me repeat my mantra: it's better to have extra time than not enough.

  6. Learn to relax and have fun, even under stress

    This has saved me from having a nervous breakdown at least once or twice. Even if you're completely running out of time, overworked and overstressed, the best thing you can do is take a deep breath, put your shoulders back, do what you do best and try to have fun. Your work and your health will suffer if you try to work faster than normal to meet a deadline. Nothing can make you work faster than your natural pace, so just enjoy the work as best you can.

  7. Find a tax accountant as soon as possible

    Tax accountants are very smart, knowledgeable people, and they'll be able to give you advice on all sorts of financial topics. If you're like me, you'll spend hours reading tax advice on the web, only to feel like you might be missing something important. Rather than waste your time trying to master the art of tax jujitsu, find a great accountant and relax. Chances are you'll want one eventually anyway, so the sooner you do it the better.

  8. When taking time off, get off your computer

    As I mentioned, I often spread my work out in chunks throughout the day. Unfortunately I spend all the time in-between reading blogs, chatting with clients on IM or surfing the web. At the end of a long day, I feel like I've worked the whole day even though my billable time is just a few hours. The only real way to relax and refresh is to get away from the computer, whether it's just washing dishes, watching a movie, or leaving the house.

  9. Learn when to charge fixed rate or by the hour

    This is something I struggled with when I started freelancing, but now the difference is clear to me. If I'm doing something quite small and tangible, where I can picture all the steps involved, then I'm happy to charge a fixed rate. You always take a gamble with a fixed rate. Sometimes it takes you half the time you estimated, sometimes longer. It's best to over-estimate (ie. factor in the unknown) when doing a fixed rate. Also, new clients tend to like a fixed rate because they don't yet trust you, and a fixed rate minimizes surprises.

    For longer term projects with many unknowns, where you'll be expected to fix bugs, and where the whole project is fairly open-ended, hourly is the only way to go. This way things are the most fair for everyone. The client only pays for the work you do, and you get paid for every minute you work. It's still important to remain transparent and communicate how many hours you work, and always ask before doing something billable that wasn't explicitly requested.

  10. Honesty and trust are at the centre of freelancing

    When a client hires a freelancer, they're not sure what to expect, whether they will get ripped off, or somehow be tricked into spending too much. It's very, very important to build trust with a client, and the only way to do this is by being completely honest and transparent. This means admitting when you make mistakes, explaining how you spend your time, and not lying about the number of hours worked. On the other hand, if you're (painfully) honest, your clients will be more than happy to put their faith in you to deliver.

    Being honest also means managing expectations. If you think you'll have to miss a deadline, explain this as soon as you suspect it, and be honest about why you're behind schedule. If you're going to have things finished early, say this as well. Otherwise, next time when you're (only) on time, your clients will be disappointed because they expected that you'd be early.

  11. Working for a reduced rate in exchange for ownership

    This is something I've had to struggle with since I started freelancing. As a freelancer, most of your clients will be very small companies or independent entrepreneurs, and very often they will be looking for a partner to help build their company. This can be tempting. What if this company becomes the next big thing? What if you say no and miss out on a million dollars? It's important to really look at the numbers and what's being asked of you. If you would normally charge $1000 for the project, and they want you to work at half price in exchange for 10% of the company, what they're really doing is selling you 10% of the company for $500. Ask yourself if you'd pay $500 for 10% of the company even if you weren't the web developer (or whatever).

    Also very, very important is to get this agreement in writing, and this means answering a lot of questions. What happens if you stop freelancing? What happens if they decide they don't want you involved any more? Is the ownership conditional on how many hours you work per month? If the company gets successful, are you willing to be involved with it full time? It's easy to have entrepreneurial dreams about people getting together to create something great and get rich, but reality is very unpredictable, so make sure you can answer all these questions on paper before you agree.

It's been a really great time freelancing, despite the occasional stressful moment. I don't think I could ever go back to working full time for a single company, having to be at an office 40 hours per week. I choose how many hours I work per week (typically 25-30), I choose when to work them, and I choose where to work. I choose which projects I work on, and I choose how much money I want to make. I wouldn't give up this flexibility for anything. I highly recommend freelancing for anyone thinking about taking the plunge.

Freelancing: First two months

October 8th, 2006

It's been two months now since I announced I would start freelancing full-time, and hardly anything has gone the way I expected. Here's a little list of some of the things I've learnt or found surprising:

  1. You don't work as many hours in a day as you think

    Originally, when trying to figure out how many hours I'd be working per day, I just figured I'd do the same I did at my day job: 8 hours, from 9 to 5.

    The first time I tried to work that long, I realised it just wasn't going to happen. I discovered that it takes me about an hour of checking email, reading news, etc. to wake up enough to start working. Then, I can only work about 2 hours straight before my mind turns mushy and I have to take a break.

    I quickly realised that my prime working length was around 5 hours in a day, spread out over a period of 7 or 8 hours. But when you're billing by the hour, you really should only charge for the time worked, not the time eating lunch or surfing the web. This is a major difference between freelancing and a regular job.

  2. Scheduling can be very hard

    Scheduling is a juggling act based on a few difficult tasks: estimating how long it takes to do something, and figuring out when you'll have time to do that work. Multiply these simple looking problems by the fact that you'll occasionally be stuck waiting for something from clients. This can create these weird bubbles in time where you have nothing to do, but know that a few days from now you'll have way too many things to do.

    With web development, the size of projects can vary from an hour or less to over 400 hours of work. It's especially hard to deal with very large projects. You can say it'll take 100 hours, and that it'll take a month to work those hours. What do you do while you wait for the client to get back to you - tell everyone else who asks for work that you're all booked up? Then what happens if the project never happens? You get screwed!

    I'm starting to figure out I have to just explain my situation to my clients, tell them I don't know exactly when I'll have time, but that I should be able to finish within the next month or two. I'm also being careful not to commit more than maybe a third of my time to any one project, because anything can happen. The more flexibility I can work in, the better.

  3. Freedom isn't free

    Probably the best part of freelancing is the freedom to work when and whereever you want. While this is true in theory, when you schedule work for yourself, you have to make the commitment to actually work those hours. If you don't, well, you'll either have to work extra hours later or else deliver things late. These are the only stresses that really force you to work, but I'm glad that they're there, or else I would probably be taking off way too many days.

    Freedom also gives you the opportunity to find your own rhythm. I'm starting to think that I may work better in the evenings, though my girlfriend isn't so excited about that idea. It's actually not so easy to figure these things out, something you don't have to think about when you're told exactly which hours you have to work at.

  4. No time for blogs

    When I had a day job, and I wanted to take a little break, I just loaded up Bloglines and tried to catch up on the 200 or so feeds I subscribe to. Now, I can say I haven't read any of them since I went completely full-time. You may also have noticed that I've hardly blogged at all during this time, either.

    The reason is, now that the computer at home is where I work, when I take breaks or stop working, I want to get as far away from the computer as possible. It's like blogging and even reading blogs is a part of work that I need to schedule in or make time for, except it seems like the least important thing I have to do, so I never end up with time for it.

  5. It's not so hard to find work

    I once told a guy who worked at a web development company that I was about to start freelancing. He said, "That won't work. When will you have time to find clients?" I haven't had that problem at all.

    Okay, I do have the advantage of having this blog. Nearly all of my clients come from my Hire Me page. But I'm not scared that this will stop. I know that I can easily find more work through sites like Rent A Coder or Guru, even if it pays a bit less than I prefer. I could also step up my marketing efforts at any time (which means doing any, since right now I'm doing practically none).

    Okay, it's true, I don't have a lot of time to go find clients. But if I ever ran out of work, I'd certainly have the time to find new clients. It should balance itself out quite well.

So there's some of the things I've learned. Do any other freelancers out there have anything to add to this list?

Finding a job as a web professional

August 17th, 2006

If you're a web professional looking for a job, or looking to find a better job, there are some really great job boards to keep an eye on:

  • 37signals Job Board

    This is a great site to find some of the best jobs out there. Many of them are looking for Rails developers, but there are other development, design and management jobs. Plus, I think it's a good sign when a company knows about 37signals.

  • jobs.rubynow.com

    Certainly the best place to find a Ruby On Rails job. There's new postings nearly every day.

  • Vitamin Job Board

    There's a nice variety of web professional jobs posted here, though mostly centred around development.

  • CSS Beauty

    If you're passionate about web standards and semantic markup, there's probably a good job for you on here. I bet it would be nice to work in a company where you don't have to convince anyone about the benefits of web standards.

  • craigslist

    If you know the city you want to work in, Craigslist is a great place to look for a job. It doesn't have every job, but in my experience the companies that post on there tend to be at least a little hip. The squares probably haven't even heard of craigslist.

  • Indeed

    Indeed's like the coolest job search out there. You can put together a complex search string and search across a number of job boards (including craigslist). Then, you can subscribe to the RSS feed for that search. This can be really great if you want to specialize in a particular technology or filter out all jobs mentioning ASP.NET.

When looking for a job, it helps if you either live in a great location like California, New York or London, or you're willing to relocate. Who knows, though, maybe your dream job is just around the corner.

I think all of these job boards have RSS available, so you can just subscribe now and keep an eye on the results while you mull over quitting your current job.