It is time for another yearly overview of my freelancing career: the third year.
You could read the report on my first and second year, too.
Clients
During the last year, I have been working with four clients on multiple projects. The clients contacted me via:
- Toptal,
- recommendations, and
- my website.
All clients but one had more than one project where they needed my expertise.
Only one client came from Europe, Germany, while others came from the United States. I have a continuous agreement with all my clients. Some clients need my services more often, some only a few times a year. The important thing is that my schedule is almost always full, with very few windows opened for new opportunities.
Tasks and Assignments
The tasks for the last year could be summarized in two main categories:
- user interface development, and
- page speed optimizations.
User interface development assumes the following tasks:
- building and maintaining styleguides,
- developing reusable components,
- creating layouts and templates,
- converting designs to pages, and
- creating user interface animations.
Page speed optimizations assume the following tasks:
- optimizing CSS delivery by extracting Critical CSS and purifying the unused CSS code,
- optimizing JavaScript delivery by deferring and optimizing the JavaScript code,
- minifying the code, including HTML, CSS and JavaScript,
- optimizing and compressing images,
- optimizing font delivery, and
- improving scores by applying the best practices.
I realized that I don’t have a preference for technology stack. I have been working on the following stacks:
- WordPress/WPengine,
- Shopify,
- Jekyll/Netlify/Netlify CMS, and
- Hugo/Netlify/Netlify CMS.
If the project is frontend related, I am quite positive I could work on it as long as it is not a JavaScript-heavy application.
Side Projects
Last year I published two side projects:
- Code Line Daily, and
- The UI Development Mentoring Program.
Code Line Daily is a website dedicated to a single line of code that produces stunning results. The lines are mostly PHP, JavaScript, CSS, and HTML code. It is also available as a Chrome extension, and it has an open API, which I used to develop a small widget on my homepage.
As I am getting older, I appreciate the time away from the computer more, and I am trying to work on side projects only during my “office time”.
The UI Development Mentoring Program is a new initiative in which I am trying to help beginners to get better in UI development. Besides the mentoring part, you could find other useful sources on the site, like learning resources and daily reads. You could subscribe to the newsletter, too. The newsletter contains hand-picked frontend and UI articles and tools.
I am still maintaining my other projects like Starter Project and Starter Project CLI. I am utilizing these to make development easier for myself on both client’s and personal projects, no matter which platform is in use.
Working on side projects is like a hobby for me. I like to get away from the client’s projects and play around with my projects instead. As I am getting older, I appreciate the time away from the computer more, and I am trying to work on side projects only during my “office time”.
Remote working
Having multiple clients at the same time could often involve difficulties with time management and organization. It is essential to organize your time, but there is one other critical aspect: communication.
Whenever I start a new engagement, I tend to communicate the preferred way of working on a project. It is vital to establish trust from the very beginning. That way, my clients know all about my working habits and my preferred method of working.
For example, I like to establish an agreement that all tasks will be resolved within 24 hours period. If I am blocked within that time, I usually send my client an email or a message announcing what is blocking me—that way, the client respects my time and could plan tasks according to my schedule.
It is vital to establish trust from the very beginning. That way, my clients know all about my working habits and my preferred method of working.
Another example of honest communication is when one client decides to do a significant update or a whole new project. In that case, I inform all other clients that my availability will be decreased for that period. That is often communicated at least a couple of weeks in advance. Again, other clients usually respect my availability and plan the tasks accordingly.
I never hide the fact that I am working with other clients. I am always very open, and all my clients respect that. If I have a problem or concern, I usually communicate it very early because I want to resolve it sooner rather than later.
Problems
During the last year, I got a significant amount of job offers, and I rejected a lot of them. Some proposals came via professional networks like LinkedIn, and some came directly from my site.
There are two significant reasons for rejecting an offer:
- uneducated recruiters who don’t understand my profile and skillset,
- client disagreement.
The first reason lies in the fact that recruiters are not adequately educated about the Great (Frontend) Divide. I understand that React is a hot requirement these days and everybody works with it, but I don’t.
I don’t:
- develop applications,
- use React,
- use TypeScript, or
- think React nor TypeScript should on every job posting.
I do:
- develop websites,
- use Vanilla JavaScript, and
- think React is overused.
I like to think that I am fair, and I give every client a chance to convince me why I should work on their project.
The other reason why I reject proposals is that the client and I are not fit. Here are the most common reasons:
- I am not too fond of the project, and
- I am not too fond of the client.
Here is the example of the project I am not too fond of: optimize WordPress site built with page builders.
Here is the example of the client I am not too fond of: could you make a landing page within one day.
Other reasons are mostly disagreements about the rate or estimation.
I like to think that I am fair, and I give every client a chance to convince me why I should work on their project. The problem emerges when the client feels the other way around—that I should persuade him/her to work on their project. When this happens, I know the communication would be the problem, so I avoid these clients.
Conclusion
My third year of freelancing is undoubtedly the most successful one. With my family expanded by a new member, I managed to dedicate my time to work on high-quality projects like Westwing, Credit Card Insider, Huggable and Domino Data Lab. All thanks to honest and open communication, quality time management and support from my family.
Top comments (12)
Do you plan on ever scaling your freelancing journey to collaborate/hire other freelancers? I too want to go freelancing and I already plan to collaborate and eventually to run as a kind of agency.
Also, I know it's a bit sensitive, but I would have liked to know more about the financial aspect of your journey, without too much detail, just the big picture. I think one of the major insensitive to go freelance is the pay.
To be honest, I often thought about running the agency, but never took the courage to do so. I don't think that is off the table, too.
I always wanted to make a product and then build the company around that. Unfortunately, every idea I got is either not good enough or already exists.
From the financial aspect, my freelancing career has been successful and exceeded my expectations.
I've recently read Kelly Vaughn Start freelancing today ebook and its what really inspired me to really pursuit freelancing and ultimately going the agency route. I strongly recommend it, it's a gold mine.
That's great. I am also into freelancing since last 2 years, developing applications for local clients but scaling application makes me uncomfortable. I use MEAN Stack. I was wondering if you could advice me on the same.
Thanks
I don't know much about MEAN stack. The good starting point would be to ask a question here on dev.to.
I respect your vision and distinction in website and web app. But it's truthfully becoming a blurred line. React is great, Vue is great, Angular is great. And it sounds like you in my camp, JavaScript original is great. So I don't know how you might take this suggestion being the captain of your ship as I once was. I absolutely love lit-html being just JavaScript not pretending to be anything more and maybe you might enjoy it? Anyway have another smashing year.
Hey, I've been planning to do freelancing with WordPress not the drag and drop one. I wanted to dive in WordPress development but I don't know what I should learn and focus.
I was wondering if you have any tips whatsoever with WordPress development
WP tips:
General tips:
Good luck!
Could you please elaborate a bit on what are the most used online payment services clients typically prefer to use to pay for your work?
Thanks for this info. Always good to know more about this area of my career.
Good Job bro, keep it up
Keep up the good work!
P.S. Like your username :)