DEV Community

Cover image for Land Your First Freelance Client as a Developer
Rutam Bhagat
Rutam Bhagat

Posted on

Land Your First Freelance Client as a Developer

Introduction

Hello, everyone! Freelancing offers us an opportunity to earn income while gaining valuable experience in the tech industry. Today, we'll go through everything you need to know to land your first client, from building an online presence to delivering exceptional value and reinvesting in freelancing.

Image description

Freelancing: Money and Experience

Before we dive into the specifics, let's understand the charm of freelancing, especially for new developers. There are two primary reasons why freelancing is so compelling: money and experience.

Money: Generating Income While Learning

As newb devs, we often find ourselves in a catch-22 situation – we need experience to land a job, but we need a job to gain experience. Freelancing provides a solution to this conundrum by offering a way to earn income while you're learning to code. It offers the flexibility to generate revenue as you grow your skills, which can be a lifeline for many individuals pursuing a career in tech.

Experience: Overcoming the "New Engineer Smell"

Image description

While the initial income from freelancing is certainly valuable, the experience it provides is even more impactful. One of the biggest hurdles for entry-level engineers is the "new engineer smell" that screams risk to potential employers. When you have client experience, hiring managers see that you've already been employed and delivered value, significantly de-risking your profile.

By taking on freelance projects, you're not only honing your technical skills but also developing essential soft skills like client communication, project management, and problem-solving. These experiences make you a more well-rounded and attractive candidate for full-time roles in the future.

Building Your Online Presence: The Trinity

In the world of freelancing, your online presence is your business card – it's how potential clients will find and evaluate you. To establish a strong online presence, you need to focus on three key elements: a portfolio, a Twitter account, and a LinkedIn profile.

Image description

Portfolio: Simple But Effective

When it comes to your portfolio, it's important not to overthink it. You don't need to be a design wizard or spend countless hours crafting a masterpiece. The key is to showcase your skills and projects in a clear and professional manner.

Templates

Free:

https://html5up.net

After your first client:

https://wrapbootstap.com

https://themeforest.net

Image description

I'll share two examples of portfolios that have helped students land clients and jobs, all built using simple templates.

Example 1: Barbara's Portfolio

Barbara, a past student and current moderator of #100Devs, landed a $1,000 contract and a fantastic six-figure job with a simple, straightforward portfolio.

Key takeaways from Barbara's portfolio:

  • Clear call to action: Barbara clearly states her services and invites potential clients to connect.

  • Homework as portfolio pieces: The portfolio showcases projects from 100Devs homework assignments, demonstrating real skills.

  • Simple contact form: Barbara uses Netlify's built-in form functionality for easy email collection nothing too fancy.

  • Template-based design: The portfolio itself uses a pre-built template from HTML5 Up, saving time and effort.

Example 2: Sean's Portfolio

Sean, another past student of #100Devs, landed a $1,495 client and a job at Amazon with a clean and concise portfolio.

Key takeaways from Sean's portfolio:

  • Direct pitch: Sean confidently positions himself as "your next software engineer".

  • Variety of projects: The portfolio includes a range of projects, showcasing his versatility.

  • Template-based design: Sean also utilizes a template from HTML5 Up for a professional look.

  • Free hosting: Sean's portfolio URL is hosted on Netlify's free platform, demonstrating cost-effectiveness.

Both Barbara and Sean's portfolios are excellent examples of how to create a professional presence without overcomplicating things. We'll dive into templates and hosting in more detail later.

Twitter: Talk The Talk

Your Twitter profile is a powerful tool for building authority and showcasing your personality in the tech community. Use it to establish your identity as a software engineer and share your interests and insights.

Example 1: Naya's Twitter

Naya, another former student of 100Devs and current mentor, has mastered the art of Twitter branding. Her profile clearly states her identity as a software engineer and uses powerful language to showcase her skills and interests.

Key takeaways from Naya's Twitter profile:

  • Clear professional branding: Naya's Twitter profile clearly communicates her professional identity, highlighting her roles as a Developer Evangelist at Couchbase, Coding Instructor at GCodeHouse, and Ambassador at RenderATL.

  • Diverse experience showcase: Naya's profile showcases her diverse experience, including her previous role at SuborbitalDev, her alumni status and mentorship at ResilientCoders, and her current roles.

  • Professional credibility: Naya's profile exudes professionalism, with a clear and concise description of her roles and affiliations, establishing her credibility in the tech industry.

Example 2: Sam's Twitter

Sam, a 100 Devs alum and developer advocate, uses Twitter to share valuable freelancing advice and build a strong community presence.

Key takeaways from Sam's Twitter profile:

  • Multifaceted professional: Sam's profile showcases his diverse professional roles, including developer advocate, technical writer and editor, and React engineer, highlighting his versatility and range of expertise.

  • Personal touch: Sam's profile adds a personal touch by mentioning his hobbies and interests, such as being a musician, author, reader, and athlete, making him more relatable and human.

  • Whimsical tone: Sam's profile has a lighthearted and humorous tone, with the phrase "wannabe CSS wizard" and "friend to all dogs", which can help to build a connection with his audience and make him more approachable.

Both Naya and Sam's Twitter profiles are excellent models for creating a strong online presence and building authority within the tech community.

LinkedIn: Keep It Simple

LinkedIn can feel intimidating, especially for those just starting out in their careers. However, it doesn't need to be a complex resume clone. Keep it simple and focus on the essential experience that showcases your journey to becoming a developer.

Example: Andy's LinkedIn

Andy, a past student of 100Devs currently working at DraftKings, has a concise and effective LinkedIn profile.

Key takeaways from Andy's LinkedIn profile:

  • Clear career progression: Andy's profile showcases a clear career progression, with a logical flow from his education to his technical support role at Kronos Incorporated, and then to his software engineering roles at Resilient Coders and DraftKings Inc.

  • Detailed work experience: Andy provides detailed descriptions of his work experience, including specific skills and accomplishments, giving a clear understanding of his capabilities and expertise.

  • Technical skills: Andy's profile highlights his technical skills, including full-stack web development, responsive design, and collaboration with development teams, demonstrating his proficiency in software engineering.

This "Rule of Three" approach is a simple yet effective way to structure your LinkedIn profile, highlighting your relevant experience and positioning yourself as a capable developer.

Finding Clients: Start Close, Go Local, Then Wide

Image description

Now that you've established your online presence, it's time to find clients. Here's a step-by-step process that has worked for hundreds of students:

  1. Start Close: Tell Everyone You Know

The first step in finding clients is to leverage your personal network. Tell your friends, tell your family, and post on social media. You never know who might need a website or web application, or who might know someone in need of your services. Be clear about your offerings: "Hey, I'm a software engineer, and I build websites and web applications for clients. If you know anyone who needs help, send them my way!"

  1. Go Local: Network and Leverage Listings

Being local is a huge advantage when it comes to finding clients. When networking, introduce yourself as a software engineer who builds websites and web applications for clients in your area.

Image description

Use online listings like Craigslist, Facebook Marketplace, and local chambers of commerce to connect with potential clients. Infuse locality into your messaging: "I'm a local developer in [your city]. Let's grab coffee at [local coffee shop] and discuss your project."

  1. Talk to the Places You Know

Look around your community. Does your barber need a website? Does your favorite restaurant have a clunky online ordering system? These are all potential clients, and the fact that you already have a relationship with them makes it easier to start a conversation.

  1. Be Outbound: Dial for Dollars

If local networking and listings aren't yielding results, it's time to be more proactive. Pick a niche, compile a list of businesses in that niche, and start dialing for dollars.

Example: Restaurant Niche

Image description

In a past 100Devs boot camp, we used this process to land two clients in a single day! We focused on the restaurant niche, recognizing that many restaurants needed help modernizing their online presence. We created a list of restaurants in Boston, noted whether they had a website, and started calling.

Simple Script:

"Hi, this is [your name]. Do you have a website where I can see your menu?"

If they say no, ask: "Is the business owner available?"

If they say yes or no, follow up with: "I'm a Boston-based web developer, and I make websites. I'd love to help out a local business."

Two Outcomes:

  1. Agree to a package of at least $100

  2. They hang up on you

This simple script and persistent approach led to two clients for $500 and $800.

Go Wide: Build Authority

If you don't have a local area to leverage, going wide is your strategy. While gig sites like Upwork and Fiverr can be challenging, building authority is a more sustainable approach.

Pick a niche and become the expert. Build a blog, create content, and establish yourself as a go-to resource for businesses in that niche. This is a long-term investment, but it will pay dividends in the long run by attracting clients who value your expertise.

Remember, finding clients takes time and effort. Start close, leverage your local advantage, and build authority. Persistence and dedication will help you land clients and build a successful freelancing career.

Crafting Proposals: Templates, Contracts, and Closing the Deal

You've built your online presence, networked your heart out, and finally landed a client meeting. Now what? It's time to craft a winning proposal and close the deal.

Image description

Proposals: Clear, Concise, and Compelling

A proposal is a crucial document that outlines the project scope, deliverables, and pricing. It sets expectations and gets everyone on the same page. Don't worry; you don't need to reinvent the wheel.

Free Templates:

There are excellent free proposal templates available that you can utilize:

  • Proposify: Offers a comprehensive overview of goals, services, recommendations, and timeline.

  • PandaDoc: Provides a clean and structured format for outlining project details and pricing.

Real World Example:

Image description

Let's look at a real proposal from a past student who landed a $1,000 project:

Key takeaways from Ibrahim's proposal:

  • Clear breakdown of services: The proposal clearly defines the logo design and website development services.

  • Pricing transparency: The proposal includes separate pricing for each service and a total project estimate.

  • Payment terms: The proposal outlines a monthly retainer fee for website maintenance and updates.

  • Termination clause: The proposal includes a clause allowing the client to end the agreement at any time.

Logo Design Made Easy with Ideogram

Ideogram, is a powerful AI image generator. Enter your prompt, and Ideogram creates stunning visuals. With advanced AI technology, customizable templates, and unique capabilities, Ideogram empowers users to generate eye-catching visuals quickly and efficiently.

How to Use Ideogram

  1. Visit Ideogram, create an account, and log in.

  2. Enter your prompt, and click "Generate".

  3. Browse and select the image you like best.

  4. Download the image and explore additional features.

Additional Uses

Create social media posts, design presentations, generate images for videos, and more

Contracts: Protecting Both Parties

Contracts can seem scary, but they're essential for protecting both you and your client. Think of them as a safety net in case things go wrong (and they will!).

Image description

Free Templates:

  • Contract Killer: A comprehensive contract template specifically designed for freelancers, covering all the essential elements.

  • Sam's Updated Contract Killer: Sam, our freelancing guru, has updated the Contract Killer template with US-specific language.

Key Contract Clauses:

Two clauses are absolutely essential for every contract:

Indemnification Clause:

we can't guarantee that our work will be error- free and so we can't be liable to you or any third-party for damages, including lost profits, lost savings or other incidental, consequential or special damages, even if you've advised us of them.

This protects you from liability if your code causes the client to lose money or incur damages. Remember, code is never perfect!

Intellectual Property Clause:

We'll own any intellectual property rights we've developed prior to, or developed separately from this project and not paid for by you. We'll own the unique combination of these elements that constitutes a complete design and we'll license its use to you (ONCE PAID IN FULL), exclusively and in perpetuity for this project only, unless we agree otherwise.

Why do we do this? This clarifies ownership of the code. You grant the client an exclusive license to use the code for their project, but you retain ownership, allowing you to reuse code for other projects and showcase it in your portfolio.

Payment Terms:

Always get a deposit! Never start work without at least a partial payment upfront.

Typical Payment Structure:

  • 50% deposit upfront

  • 25% payment upon completion of 50% of the work

  • 25% final payment upon project completion

This protects you from getting stiffed and ensures the client has skin in the game. What if the client asks "Is the deposit refundable?" Absolutely not!!! Cause you are paying me to do the work. I don't want to get halfway through the project and you no longer want it, I only do the work that I have been paid for.

Closing the Deal: The Magic Question

Image description

You've built rapport, discussed the project scope, and outlined your services. Now it's time to close the deal. Here's the magic question:

What is your ballpark budget?

This question accomplishes several things:

  • It avoids hourly rates: Hourly rates punish you for being efficient and don't accurately reflect the value you provide.

  • It sets a framework for the proposal: Knowing the client's budget allows you to tailor your proposal and outline what you can realistically deliver.

  • It opens the door for negotiation: Once you have a budget range, you can discuss tradeoffs and adjust the scope of work to meet their needs.

Closing Script:

Wow, this sounds like an amazing project. There's a lot here. What is your ballpark budget?

I'd love to build you a proposal that incorporates everything we talked about at that budget. Do you have time to talk on Thursday to discuss it?

Key Takeaways:

  • Be firm: Don't undervalue your skills or let clients pressure you into taking less money or doing more work.

Delivering the Goods: Communication is Key

You've signed the contract, received the deposit, and the project is officially underway. Now it's time to deliver the goods and build a lasting client relationship.

Image description

Under Promise, Over Deliver

Remember the golden rule: under promise, over deliver. Set realistic expectations in your proposal and then go above and beyond to wow your client.

Communication is King

Consistent communication is crucial for keeping the client happy and avoiding misunderstandings.

Weekly Updates:

Every Friday, send a detailed email update outlining:

  • What you accomplished that week

  • Any challenges you encountered

  • The plan for the following week

This demonstrates your professionalism and keeps the client informed, even if you had a slow week.

Mid-Week Check-Ins:

On Wednesdays, send a brief email highlighting a recent win or progress update:

"Hope you're having a great week! We just finished implementing the [feature name] – check it out on the test server!"

These regular check-ins build trust and demonstrate your commitment to the project.

Benefits of Consistent Communication:

  • Client satisfaction: Clients feel valued and informed.

  • Flexibility: You'll have more leeway if you need to adjust the timeline or budget.

  • Stronger relationships: Open communication fosters trust and builds a foundation for future projects.

Get Help When You Need It

Don't be afraid to ask for help! You built buffer into your timeline and budget, so use it if you need to.

Resources:

  • Discord: Our 100 Devs community is a treasure trove of knowledge and support. Ask questions, bounce ideas off other developers, and find collaborators.

  • Other Freelancers: Don't hesitate to bring on other engineers to help with specific tasks or challenges.

Remember, it's better to ask for help than to struggle in silence and risk jeopardizing the project.

Reinvesting and Growing Your Freelancing Empire

Image description

Congratulations! You've successfully landed your first client, delivered a fantastic product, and received payment. Now it's time to reinvest in your freelancing business and build a sustainable future.

Why Reinvestment Matters

Freelancing is a journey, not a destination. Your first projects will be learning experiences. Reinvesting your earnings allows you to:

  • Improve your online presence: Invest in a better portfolio website, professional headshots, or premium templates.

  • Upgrade your tools and resources: Purchase better software, subscribe to educational platforms, or hire a virtual assistant.

  • Seek professional guidance: Consult with a lawyer to review your contracts, hire a CPA for tax advice, or work with a business coach.

The key to long-term success is continuously improving and investing in yourself and your business.

The Power of Repeat Clients

While landing new clients is exciting, the real key to a successful freelancing career is building a base of repeat clients. Clients come back for a reason:

  • You deliver exceptional value: You understand their needs and provide solutions that exceed their expectations.

  • You communicate effectively: They feel informed and involved throughout the project.

  • You build strong relationships: You're reliable, trustworthy, and go the extra mile.

Evergreen Clients: The Holy Grail

Evergreen clients are those who consistently bring you new projects. They're the bedrock of a sustainable freelancing business. To attract evergreen clients:

  • Become an expert in your niche: Develop deep knowledge and understanding of a specific industry or service. This will make you invaluable to clients in that niche.

  • Build a strong reputation: Deliver exceptional work and build a track record of success. Word-of-mouth and positive reviews are powerful marketing tools.

  • Network strategically: Attend industry events, connect with potential clients, and build relationships. Position yourself as a thought leader and go-to resource in your niche.

By cultivating strong relationships with evergreen clients, you'll have a steady stream of work and can focus on growing your business instead of constantly chasing new leads.

The Freelancing Rollercoaster

Freelancing can be incredibly rewarding, but it's also a rollercoaster. There will be highs and lows, feasts and famines. Preparing for this reality is crucial.

Emergency Fund:

Build a financial cushion to weather the inevitable slumps. Aim to have at least 6 months of living expenses saved before relying solely on freelancing income.

Mindset:

  • Be resilient: Freelancing requires grit, determination, and the ability to bounce back from setbacks. Rejection and dry spells are part of the journey.

  • Be patient: Building a successful freelancing business takes time and effort. Don't get discouraged if it doesn't happen overnight. Stay focused and persistent.

  • Be adaptable: The freelancing landscape is constantly changing. Stay flexible, embrace new opportunities, and never stop learning. Adapt to industry shifts and client needs.

Having the right mindset and financial cushion will help you navigate the ups and downs of freelancing and emerge stronger on the other side.

Conclusion

Freelancing can be a powerful tool for earning income, gaining experience, and building a fulfilling career in the tech industry. By following the steps outlined in this comprehensive guide, you'll be well on your way to landing your first clients, delivering exceptional value, and building a thriving freelancing business.

Remember, you don't have to go it alone. The 100 Devs community is here to support you every step of the way. Ask questions, share your experiences, and celebrate your successes together. Now go out there and get that bag, while creating a fulfilling and sustainable career for yourself in the process!

Top comments (2)

Collapse
 
cobykalter profile image
Coby Kalter

This is a great and concise guide to freelancing as a dev, thanks!

Collapse
 
rutamstwt profile image
Rutam Bhagat

Thanks for the read Coby