Tech consultant, freelance developer or contractor...Who am I?

Whenever I meet someone new they inevitably ask "What do you do for a living?" and I never know what to tell people. My best take is to say "I'm a developer that companies hire to develop software, create technology strategies and fix their development issues".

Whenever I meet someone new they inevitably ask "What do you do for a living?" and I never know what to tell people. My best take is to say "I'm a developer that companies hire to develop software, create technology strategies and fix their development issues". I tried that full sentence once and the person replied by saying "So...like a consultant?". Well yeah, but depending on who you ask you get a different answer. Am I a consultant, a freelance developer or contractor?

All three of these titles are similar but just different enough that I spend time thinking about it. I think of myself as both a technology consultant and a freelance developer, those two roles complement each other pretty well and are a good umbrella for what I do for my clients. On the day to day, I don't consider myself a contractor. Sometimes though, I find myself in a contracting gig so then I do consider myself a contractor. So, in an effort to understand my job title, I'll define these roles and how they're all a little bit different.

Consulting from Despair.com

Consultant

Companies hire a consultant to focus on high level things like planning and advising the organization on their strategic goals. Essentially they are there for their expertise and guidance. Maybe not as much for their technical skills.

They provide valuable insights, help shape technology strategies, and offer solutions to complex problems. Depending on the context they may or may not do any development. A good consultant will road map an entire solution, lay the ground work for the system architecture, guide the rest of the in-house development team as well as interface with the C-level executives.

A good consultant can also deliver and ship a product. They don't need to custom code an entire solution, sometimes this means that they can recommend an off-the-shelf product that solves the business' problem.

I like to think of a consultant as a person who is brought in to solve the entire problem. If an organization has a problem - or thinks they have a problem - the consultant can come in, ask the right questions, figure out the problem, propose multiple solutions and implement the solution. All these things being done by them or a team that the consultant is leading. Companies have high expectations from consultants...or at least in my opinion they should.

Freelance Developer

A freelance developer emphasizes hands-on coding and development, often working on specific projects or tasks. They bring technical expertise and the ability to create custom solutions tailored to client needs. A company that is going to hire a freelancer already has a product or solution in mind.

For instance, you are a startup that wants to sell their product online. You know you need an e-commerce solution but you don't have the in-house development staff knowledge or skill set. These companies will bring in a freelance developer to implement their e-commerce solution - either a custom build or an off-the-shelf product like Shopify. Companies are hiring freelance developers because they don't need to be consulted or guided on strategy. They need a doer who can come in and get things done for them. When the freelancer delivers the project they usually hand it off and are on to the next project.

Freelance developers typically possess deep expertise in specific programming languages, frameworks, or technologies. So they might not know the full stack or have the ability to complete a database, back end and front end. They also work in time-bound projects rather than ongoing roles like a consultant might. This could range from building entire applications to implementing specific features or resolving technical issues.

Contractor

Contractors are usually treated like in-house staff when it comes to their day-to-day work. The length of the gigs is usually set before you start work, like 3-6 months or long term contracts of 12 months. If the code you are working on or the project gets extended, the contractor's contract will be extended for however long the team needs the contractor for.

Another term for contractor can be staff augmentation or staff aug. Essentially you are being added to a group of developers or a team to work on a solution alongside other people. The contractors are not privy to the higher level thinking or solution design - sometimes you are - but most of the time the contractor is brought in to build a product or feature only. While valuable, this is not the service I provide nor is it a position I can thrive in. I think of the contractor as the most expendable of the three roles I'm talking about here. Generally if you are not a good fit, companies can cut a contractor on little notice without losing too much of their investment.

Another thing that makes contracting so much different than freelance or straight consultants is they are usually brought in via a recruiter. The recruiter takes a cut of the hourly wage while the contractor is working for the organization.


So, who am I? I'm a software professional who embodies the best aspects of both a consultant and a freelance developer, adapting to what each project and client needs most.

Consultant Side

I have an extensive background in healthcare IT, data management, and system architecture that allows me to provide strategic insights. When I'm hired as a consultant, I'm analyzing your current systems, identifying bottlenecks, recommending new features and crafting technology roadmaps that align with your organization's goals.

For instance, when working with a highly visible medical research group, I not only advised their data management strategy but also developed custom data visualizations that provided insights into their data, implemented best practices for data security, and compliance with healthcare regulations. This strategic input ensured that their technical direction was not just functional, but also future-proof and aligned with industry standards.

Being a good consultant means you have to be able to discuss high level concepts with executives and stakeholders but also have the skills to communicate your solution to the technology team.

Freelance Developer Side

While strategy is important, I also love coding and building products for clients. As a freelance developer, I bring a wealth of hands-on experience in all sorts of technologies (.NET, React, and Azure are my go-tos right now). These development skills allow me to not just come up with solutions, but also to implement them. Clients of mine know that when they're hiring me they are getting someone who can come in, understand their problem and build them a solution.

How I Differ from Contractors

Unlike contractors who often function as temporary employees, my role is more autonomous and project-focused. I'm not looking to fill a seat or augment staff, but rather to bring expertise to solve specific challenges. This approach allows me to maintain objectivity, bring fresh perspectives, and focus on delivering value rather than simply logging hours for 3-6 months.

The ability to both strategize and implement a solution is invaluable for a consultant. As a consultant and freelance developer, I offer a unique blend of skills that can adapt to the diverse needs of healthcare, research, and government organizations. Whether you need high-level strategic guidance or hands-on development work – or both – I'm equipped to help drive your projects to success.

If you're looking for a consultant or freelancer who can seamlessly transition from advising on your technology strategy to implementation, let's connect. Together, we can turn whatever your technology challenges are into opportunities for growth.