DEV Community

Discussion on: How much did you know when you got your first freelance Web Dev project?

Collapse
 
noncototient profile image
Bo

I had basic understanding of how a website works and knew that WordPress was slow. So I found Jekyll and was impressed by the speed of a static site.

I then went on to offer a website for a restaurant, but the deal never went though. However, their accountant got in touch we me and said he wanted a website redesign. His site was on WordPress, and I sold him on the speed of a static site. He said he was happy with it and I went on building it. But I had no idea how to build it or how to deploy it or anything really.

I follow a 10 or something part long Jekyll tutorial by DevTips and 3 months later (😳😂) I finally finished the site and showed to the guy and he liked it. We deployed and he was happy with it. And that’s the story of my first freelance project. The dude was cool and offered my advice on running a business and the importance of delivering on promises. I said it would take 1 month to build the site, but took 3 months like I said.

After that, I learned more business wise, technology wise and got more work from the accountant’s clients and then their referrals.

Moral of the story is don’t be afraid to learn as you go, but you have to absolutely make sure you delivery what you promise (mostly time wise).

Collapse
 
atrooo profile image
atrooo

Thanks, Bo! That's really helpful. Good advice on delivering on your promises. I imagine for a first project its hard to know how long you'll take.

If you don't mind me asking, did it take so long because you didn't give yourself enough time? My hope is to solidify a pipeline and to build up a library of reusable code so I can cut down on delivery time, but I understand my first project may take a while. Do you think 1 month is a typical first project deadline?

Collapse
 
noncototient profile image
Bo

Oh man my first project was a mess. I was very lucky to get a client who was really chill.

The reason why it took so long was because I put too much pressure on myself, and struggled to design the site first. Designing was never my thing, but I had to do it, and it was stressful. Eventually, almost 1 month in I sent the design to the client and he liked it, so I was really happy about it. In fact, so happy that I decided to take a break 🤦🏻‍♂️

I did nothing for a whole month, and not sure what it was, either I was excited to have created something another person paying me money liked, or maybe because I burned out doing it and wanted a break.

After that month I got inspired again to finally code the project, and did my best to do a good job creating the site based on the design. Once it was done, I showed it to the client and they loved it!

I did also underestimate the workload and underestimated time, but it was with other projects where I had no idea how to build them, but had to do since I took on the project. But its a different story.

Having a library of reusable code and components is definitely a great way to go. In fact, a company where I currently am working is using a similar approach and it saves a lot of development time and money! So definitely invest time and money in making those components, and making them great and flexible enough to tailor to various projects. Often, components end up so catered for one project, you end up spending more time fighting the component to make it work than it would take you to build a whole new one from scratch.

1 month is how much time I would usually give myself with the first few projects, and in hindsight it wouldn't be impossible to delivery within that time. However, in my experience most of the time is spent not coding, but catering to the client. Their ideas change all the time, and they take days to reply to emails where you essentially stuck waiting for their reply, or take a week or so to pay you, which prolongs the project's timeframe as well.

I know make sure to make the time I need to code the whole project very clear GIVEN I have designs and clear scope, and let the client know that they can expect delays because of emails/clarifications etc. So if you think you need 1 month time, easily multiply that by 2 and it would be a more accurate prediction. Just to be safe 🙌(remember, always deliver on your promises).

But all that will come with experience, and just be prepared for difficult times and difficult people. The harder it is, the more experienced you will get.