Rule 1: Know your worth.
There are two painters on the side of the road. One is advertising their services for 5 dollars an hour. The other is advertising what looks like the same service for seventy-five. Which do you pick to paint the inside of your business?
This is a common pitfall for people who just start out contracting or freelancing. The first reaction is to undercut the market. "All these others are charging 30. I'll charge 29, no, 25!" they think.
This is a logical assumption. You have less to offer, so you have to charge less. However, this not only hurts the market, it hurts your prospects as well. If 15 people apply for a job at around 50 an hour, and you come in at 15, well, suddenly that pile is one resume slimmer. The employer doesn't know why your rate is so much lower, but it's a safe bet that your product is far inferior to the competition. Once you have a skill-set, experiment to find that comfort zone of price, and everyone will be better off for it.
Rule 2: Find your niche.
It can be difficult to compete with the vast market of web developers. You can't throw a stick without hitting a WordPress designer or a brand-new framework dev ( I should know, I was one), and this makes getting started difficult. I found out the importance of finding your niche very early. Follow the news, look at the technologies available, and go from there. I started in the absolute wide pool of webdev, moved to making webapps in Gatsby quickly, and now I'm starting to migrate in the direction of embedded systems. This also goes to say, don't be afraid to change specialities, either. The market changes, and you will have to as well, especially in software development.
Rule 3: Learn to say 'No'.
If a client responds, and what they are saying is vastly different from what you read initially, it's okay to back out or say no. In fact, you don't have to apply to most jobs in the first place. Find what your skill level is, be honest with yourself, and pursue items in that area. You do not want to be the guy who is three weeks into the project and suddenly realizes that there is no way for you to finish what you promised. You won't be doing yourself any favors if you go too high above your skill level and your client is left holding scraps when the project is over. Like it or not, as a freelancer your bread and butter is the reviews and connections you get after a successful project. Like so many other aspects of the digital age, not getting 5 stars means that you might as well be getting one, especially for those first few projects. Stay in your comfort area, and expand your skills doing side-projects instead.
Rule 4: Trust your instincts.
This rule ties in with the ability to say no, and if you can stay away from some of these jobs, you are better off for it. If your instincts are warning you that there is something off about a job, there probably is.
##Rule 5: Get a healthy snack
This rule is a bit different from the others before it. Web development is a sedentary job, and it's worth noting that if you aren't used to the lifestyle, you might find yourself putting on a pound, or ten... or twenty. Find something healthy to snack on instead of other junk to help mitigate some of this damage. I personally have found myself eating dried seaweed and drinking hot tea, sans sugar. The former has the crispness of chips and still salty enough to sate cravings, and the latter is more interesting than water minus all the extra sugar of other drinks. Daily long walks and gym sessions will help as well.
Rule 6: Flat payment? Get paid half up front, have set goals to avoid scope creep
I almost never do flat charges these days, with how difficult it is to scope a project, especially as the client has changes they want to run by you. But, it still is a major issue for incoming contractors, so this one is to protect both you and your client. You don't want to reach the end of two or four weeks of work and find that there is no money, and The client also doesn't want you to finish for one massive feedback review at the end and a quick revision.
Even if the project is almost perfect, spending hours and hours at the eleventh hour going over the app with you is something that most people just don't want to do. Space out the project, set some points where you both can take a step back and see where the project is, and where it is going. It will make it easier in the long run. Also, be sure to remain vigilant for scope creep. Clients will sometimes try to ease some extra work into a flat rate project. If this happens, take a step back and renegotiate. Your time and labor has value. It is okay to charge for that time.
Rule 7: Beware certain phrases
The only salve here is experience. My absolute top red flag is anything along the lines of "This won't take an expert very long" on a rush job. Especially if that job is set as seeking an entry level candidate.
Rule 8: Charge what you're worth
Yep, this one again, just for good measure. When I was getting started, I approached my hourly rate like many others did. I took the yearly salary of someone with my experience, and I divided it down to the equal hourly rate. At the time, I hadn't wanted to scare off clients by being too expensive, and thought that undercutting the market was the best way forward. Those first few months were slow. I eventually learned that clients will avoid hiring those whose proposals are too low, just as they avoid those who are charging far too much. In the end, you don't get any benefits like health insurance, and you are going to spend a good chunk of your time chasing down clients. Plan accordingly for these extra costs.
Being the one who over-promises and under-delivers is a bad place to be. Be reasonable in your timelines, add extra time onto the time-line, and be clear in your communication as to where the project is at. There aren't many clients that don't like updates.
Always refine your process
When I first got started, my response rate was close to an answer or job every thirty or so bids. Over time I've worked this number so it's far closer to a response every five or so. Don't let rejections get under your skin, it happens. Sometimes you reply late, or they're looking for skills, or just the feel is wrong. Keep hustling, keep improving, and keep trying to view things from the client's perspective. Perhaps brush up or learn new skills to stay competitive or gain an edge. Contract work for software is difficult, but it can really pay off, and it is a great experience to meet new people, new teams, and work on new projects in a relatively short span of time. Keep at it.