adventures in freelancing: freelancer to software consultant
This is the last post in the Adventures in Freelancing series, for reasons that will become apparent shortly. You can check out the other posts in the series here.
For the past year and a half, I’ve referred to myself alternately as a freelancer and sometimes as a business owner. I’ve attended meetups for small business owners and previously found that freelancing felt unique enough that identifying as a freelancer and discussing my “freelancing business” specifically was important, and the distinction useful. However, I also noted that there were subtle differences between freelancers and consultants that made the term freelancer feel like a poor fit.
In general, freelancers seem to complete tasks as directed. A consultant, on the other hand, will talk to you about your overarching goals, offer advice, and might decide exactly how a specific task will be completed, whether that’s by the consultant or someone else. There can be overlap between the two categories as well. I noticed that when I called myself a freelancer, the image that people had of me didn’t line up with my actual work, so some key aspects of my skillset went unrecognized.
For example, I do a lot of project management work. When starting a new project, I map out the entire project from start to finish and look at things from a high level. I meet with potential clients and synthesize their ideas and goals into realistic technical requirements. On the other hand, if I’m meeting with a client and I think another approach might be better for them, I’ll tell them this directly. For many projects, I decide which tech stack makes the most sense to use. I make sure to thoroughly document all of the work that I complete and add testing. To some, this is included in the term “freelancer.” But for many people, it’s not.
I’ve especially found this to be true in the field of software engineering, since the way that an engineer works on a team can be drastically different from the way that a developer works by themselves as a freelancer. For example, a freelance software engineer working with a client outside of the tech industry could write spaghetti code, avoid testing altogether, and ultimately create a project that is difficult to maintain. This of course differs from how a developer might work on a team for a large tech company where testing, documentation, maintainability, readability, and the software development lifecycle are all the more important and valued. However, since I do focus on approaching my work in a similar way, this stereotype of freelance developers was working to my detriment. I’ve found the term “software consultant” to be more indicative of my skillset and how I approach all of my work as a whole. You can learn more about my approach to software consulting in my recent interview on the Hello Turing World podcast.
I’m still new to software consulting and I’m definitely still learning, so it’s possible that the terminology I use and the way that I refer to myself may change in the future. I should also mention that freelancing can encompass the aspects I’ve described above. However, for software engineering, the term “freelancing” is not necessarily used or perceived that way. “Software consultant” seems to be easier to understand. For now, I’m leaving the term “freelancer” behind and closing out my Adventures in Freelancing series to begin my own adventures in software consulting.
Want more articles on software consulting delivered straight to your inbox? Subscribe today!
For the past year and a half, I've referred to myself alternately as a freelancer and sometimes as a business owner. I've attended meetups for small business owners and previously found that freelancing felt unique enough that identifying as a freelancer and talking about my "freelancing business" specifically was important, and the distinction useful. However, I also noted that there were subtle differences between freelancers and consultants that made the term freelancer feel like a poor fit.