Preface: I would like to start by saying I am not a professional web developer, I am just a person who recently graduated and wanted a project to work on to build my portfolio. Please read at your own discretion I just wanted to share what I personally learned from my experience.
When I first graduated from college, I knew that to be a successful web developer, I would need some projects under my belt. I didn't know a lot about web design but I knew I understood the core concepts. I connected with a local historical society my girlfriend was volunteering at the time, and they decided to let me have a run at it. Without further ado, here are somethings I learned after working on the website.
This probably sounds pretty silly to say because of course, you are hopefully going to grow and build cooler things in the future, but this was something that I had to learn as I was getting started with my first site. I wanted to implement so many cool features, design elements, and throw fancy bells and whistles I was starting to lose sight of what the customer actually wanted. After wracking my brain over how I was going to do any of these things, I went back to the basics of what my client wanted. This was a simple static website, with consistent design language. After understanding this I worked to create a basic responsive site, then I just built little nice to have things on top of it.
When I first signed up to work on this, I knew one challenge I would have to face, was being able to communicate with people who had no experience working with a freelance developer. Many times there were multiple points of contact, each with different opinions, discussed features that would take months to implement, flip-flopping on design choices, and arbitrary deadlines. From this, I learned that I needed to draft a contract, and set in stone exactly what I was doing for my client. By doing this I was able to set a designated point of contact, manage the expectations of the project, and get a better understanding of what I needed to do.
When building the site, I knew that I wanted to build it so the client could have a cool new site, but I also really wanted to use this as an opportunity to learn something new. I knew that my customer wanted a static website, so I started playing around with Jekyll. I found that it worked nicely for what I wanted to achieve. By playing around with new tools and technologies like Jekyll, Netlify, and Firebase I was able to challenge my self to learn some new tools, without overwhelming my self. Now whenever I continue to build projects I see them as a chance to try something new without getting in over my head. I learned that it was okay to be uncomfortable while trying to learn something new.
This was something that I actually learned about while listening to a
Syntax.fm podcast. There was a while when I was working on the project and I got so caught up in the fun of developing, I completely forgot about charging for the project. I had to decide if I wanted to bill my client hourly, or if I wanted to charge a lump sum agreed amount. At this time I was working a full time job and only doing this freelance website as a side gig to buy a Nintendo Switch (and build my portfolio). I knew that I could not devote all of my hours to the project. I ended up charging a one time fee for the project. Though, I really wish I calculated for the taxes I would pay on this project. I really took a hit when I spent the money from the project right away.
Once I had completed the project, I had been kinda burnt out on it, and I knew that I even though I had a lot of fun with it, there was a light at the end of the tunnel, and I wanted to ship it. This is something that I am still continuously learning about, and that is, when am I done with this thing. Luckily when I had built the site, I had built it out as a static website, so it didn't need to be continuously tinkered with, though my client will still ask me if I am interested in a new contract to continue to update, and work on new features for this site. This is something I am actually interested to hear about from others who have developed sites, and that is When am I done with this? When is it okay for me to cut off support, or how to other handle the hand off of a freelance project.
I have linked the site here if anyone wants to check it out: