Avoid the Most Common Mistakes Web Developers

Since the term the World Wide Web was coined back in 1990, web application development has evolved from serving static HTML pages to completely dynamic, complex business applications.

Today we have thousands of digital and printed resources that provide step-by-step instructions about developing all kinds of different web applications. Development environments are “smart” enough to catch and fix many mistakes that early developers battled with regularly. There are even many different development platforms that easily turn simple static HTML pages into highly interactive applications.

All of these development patterns, practices, and platforms share common ground, and they are all prone to similar web development issues caused by the very nature of web applications.

The purpose of these web development tips is to shed light on some of the common mistakes made in different stages of the web development process and to help you become a better developer. I have touched on a few general topics that are common to virtually all web developers such as validation, security, scalability, and SEO. You should of course not be bound by the specific examples I’ve described in this guide, as they are listed only to give you an idea of the potential problems you might encounter.

Common mistake #1: Incomplete input validation

Validating user input on client and server side is simply a must do! We are all aware of the sage advice “do not trust user input” but, nevertheless, mistakes stemming from validation happen all too often.

One of the most common consequences of this mistake is SQL Injection which is in OWASP Top 10 year after year.

Remember that most front-end development frameworks provide out-of-the-box validation rules that are incredibly simple to use. Additionally, most major back-end development platforms use simple annotations to assure that submitted data are adhering to expected rules. Implementing validation might be time consuming, but it should be part of your standard coding practice and never set aside.

Common mistake #2: Authentication without proper Authorization

Before we proceed, let’s make sure we are aligned on these two terms. As stated in the 10 Most Common Web Security Vulnerabilities:

Authentication: Verifying that a person is (or at least appears to be) a specific user, since he/she has correctly provided their security credentials (password, answers to security questions, fingerprint scan, etc.).

Authorization: Confirming that a particular user has access to a specific resource or is granted permission to perform a particular action.

Stated another way, authentication is knowing who an entity is, while authorization is knowing what a given entity can do.

Common mistake #3: Not ready to scale

In today’s world of high speed development, startup accelerators, and instant global reach of great ideas, having your MVP (Minimum Viable Product) out in the market as soon as possible is a common goal for many companies.

However, this constant time pressure is causing even good web development teams to often overlook certain issues. Scaling is often one of those things teams take for granted. The MVP concept is great, but push it too far, and you’ll have serious problems. Unfortunately, selecting a scalable database and web server and separating all application layers on independent scalable servers is not enough. There are many details you need to think about if you wish to avoid rewriting significant parts of your application later – which becomes a major web development problem.

For example, say that you choose to store uploaded profile pictures of your users directly on a web server. This is a perfectly valid solution–files are quickly accessible to the application, file handling methods are available in every development platform, and you can even serve these images as static content, which means minimum load on your application.

But what happens when your application grows, and you need to use two or more web servers behind a load balancer? Even though you nicely scaled your database storage, session state servers, and web servers, your application scalability fails because of a simple thing like profile images. Thus, you need to implement some kind of file synchronization service (that will have a delay and will cause temporary 404 errors) or another workaround to assure that files are spread across your web servers.

What you needed to do to avoid the problem in the first place was just use shared file storage location, database, or any other remote storage solution. It would have probably cost few extra hours of work to have it all implemented, but it would have been worth the trouble.

Common mistake #4: Wrong or missing SEO

The root cause of incorrect or missing SEO best practices on web sites is misinformed “SEO specialists”. Many web developers believe that they know enough about SEO and that it is not especially complex, but that’s just not true. SEO mastery requires significant time spent researching best practices and the ever-changing rules about how Google, Bing, and Yahoo index the web. Unless you constantly experiment and have accurate tracking + analysis, you are not a SEO specialist, and you should not claim to be one.

Furthermore, SEO is too often postponed as some activity that is done at the end. This comes at a high price of web development issues. SEO is not just related to setting good content, tags, keywords, meta-data, image alt tags, site map, etc. It also includes eliminating duplicate content, having crawlable site architecture, efficient load times, intelligent back linking, etc.

Like with scalability, you should think about SEO from the moment you start building your web application, or you might find that completing your SEO implementation project means rewriting your whole system.

Common mistake #5: Time or processor consuming actions in request handlers

One of the best examples of this mistake is sending email based on a user action. Too often developers think that making a SMTP call and sending a message directly from user request handler is the solution.

Let’s say you created an online book store, and you expect to start with a few hundred orders daily. As part of your order intake process, you send confirmation emails each time a user posts an order. This will work without problem at first, but what happens when you scale your system, and you suddenly get thousands of requests sending confirmation emails? You either get SMTP connection timeouts, quota exceeded, or your application response time degrades significantly as it is now handling emails instead of users.

Any time or processor consuming action should be handled by an external process while you release your HTTP requests as soon as possible. In this case, you should have an external mailing service that is picking up orders and sending notifications.

Common mistake #6: Not optimizing bandwidth usage

Most development and testing takes place in a local network environment. So when you are downloading 5 background images each being 3MB or more, you might not identify an issue with 1Gbit connection speed in your development environment. But when your users start loading a 15MB home page over 3G connections on their smartphones, you should prepare yourself for a list of complaintsand problems.

Optimizing your bandwidth usage could give you a great performance boost, and to gain this boost you probably only need a couple of tricks. There are few things that many good web deveopers do by default, including:

  • Minification of all JavaScript
  • Minification of all CSS
  • Server side HTTP compression
  • Optimization of image size and resolution

8 Tips To Become A Better Front End Developer

Whether you are a newbie or professional, chances are that some of these points will help you to bring your front-end development career to the next level.

Here are 8 tips to help you to become a better front-end developer.

1. Plan your projects

he first mistake and surprisingly very common even with senior developers is that most of us don’t plan.

It’s boring, we don’t know how to plan and we feel that it’s not our job.

That’s why we quite often skip this very important step.

Good planning can help you to:

  • save you a lot of time
  • reduce stress when the deadline is approaching
  • comfortably finish on time everyday

And it doesn’t have to be complicated.

Simply putting down a list of templates and elements which need to be converted from PSD to HTML or breaking up any complex elements into a smaller parts and writing them down is enough.

Making a simple project based to-do list will allow you to:

  • stay organised
  • keep your head clear and focused on the task at hand
  • highlight any roadblocks early in the project phase
  • easily keep your client, boss or project manager in the loop

More on the last benefit in the point #2.

Helpful tools for planning

Workflowy – dump a list of templates into a Workflowy bullet list
Writemaps – create a website site map
Trello – create a project board and cards for each of your templates and elements
Pen and paper – all of the above in an old fashioned but still effective way
Planning is important, but not always everything goes as carefully planned.

2. Be Proactive

There is nothing worse then telling your client or boss, that things are taking longer than expected and that the project won’t be delivered on time.

Proactively highlighting any roadblocks or delays is a very powerful way to keep everyone happy.

It’s ok if things are taking longer then initially planned, but it’s not ok to keeping this for yourself.

You’re stacked with a bug or can’t figure something out? You are not alone, everyone even the most experienced developers have the same issues on almost every project.

When this happens, call it out!

Everyone will appreciate that you are trying your best and keeping them in the loop with the progress.

Do you want to delight your client and boss? Send them a short summary of what you did today and what you will be working on tomorrow, highlighting any concerns.
It should only take 5 minutes, and if you use tools from #1, even less time.

They will love you for that because it gives them a time to think about a plan B, which might be simply asking the client for more money or extending the deadline.

Other reasons why to be proactive:

  • it makes you look more professional
  • it boosts your credibility
  • it helps to build a trust

Setting a daily or weekly reminder will help you to never forget to give a project progress update.

Helpful tools for reminders

Google Calendar – create a simple reoccurring event
Evernote – create a note with a checklist of your tasks and set a reminder
iOS Reminders – doesn’t need a description, does it.
Curious about the next point? Great.

3. Be curious

Newsletters for Front End Developers

I believe that one of the most important attributes on this list is being curious.

New tools, plugins, techniques and languages are being released almost every day.

It is very important that you stay open to all the new things and will make an effort to explore and understand them.

The bad and at the same time the beauty of front-end development is that it’s moving forward very fast.

This means that you can quickly become an expert but also your skills can become very quickly outdated.

Tip: You don’t need to know everything, just having a rough overview about a topic or technique is fine. You can then dive deeper into it when the right project comes along.
Helpful sources for front-end development news

CSS Weekly
HTML5 Weekly
JavaScript Weekly
Responsive Design Weekly
Sidebar.io
Web Design Weekly
Let others filter out the noise and concentrate on the top news only.

4. Invest in your skills

Invest in your career

Front-end development and everything related to it is just a skill and any skill, believe it or not is learnable.

You will need to invest in yourself in order to grow. I don’t mean spending money on expensive courses, seminars or books, I am more thinking about investing your time.

There is no short-cut to success and researches show that it takes around 10000 hours to master a skill, that’s around 4 years practicing 40 hours a week.

Be prepared to put up with late nights exploring other websites, experimenting with a new plugins and frameworks, reading web development blogs, listening to podcasts and chewing through thousands of tweets.

TIP: Schedule a time for self-development into your week. I know this might be harder if your employer doesn’t support you, but be prepared to invest some of your free time into your own career.
Helpful blogs and podcasts for front-end developers

CSS Tricks
Codrops
ShopTalk Podcast
Boagworld Podcast
Apply Filters Podcast
BONUS TIP: Setting the podcast playback to 1.5x or 2x speed will help you to get through more stuff quicker.
Did you say yes, sir?

5. Don’t say YES to everything

Don’t say YES to everything

Clients and bosses are demanding, we all know that.

But saying yes to everything can eventually turn against you and you will end up working for less, being under the pump and stressed out.

Carefully evaluate what are the project requirements and align that with your skills. Also be sure to ask which browsers you need to support.

There is nothing wrong in highlighting which parts of the project will need a senior assistance or will need to be left out of the project scope.

Highlighting these earlier in the project timeline will make the whole process from start to finish much smoother for everyone.

Tip: Don’t be afraid to call out functionality or feature which is out of your skill set. Being honest is the key, but also make sure you don’t say no to everything.
Did you say no, sir?

6. Don’t say NO to everything

Don’t say NO to everything

Contradictory to the previous point, but also important attribute of a highly effective front-end developer is learning something new on every project.

Each project is a great way to implement a feature which you are not familiar with or you do something new for the first time.

By saying no to everything and only doing the things you are familiar with, you are essentially closing the doors for personal and career development.

You will soon drown in the sea of average developers.

On the other hand, exploring the unknown will give you a great feeling of achievement, satisfaction and will keep you hungry to learn new things again and again.

Tip: Pick a feature, plugin or a technique you wanted to use for some time and implement it in your next project.
And if you need, use a mentor to steer you into the right direction.

7. Find a mentor

Find a mentor

You are keen to learn, but not sure where to start? What should you learn next? How to implement this or that?

That’s what mentors are great for.

Find someone with more experience than you, someone who is keen to help you to grow.

Your mentor should be someone who you respect, someone who you would like to be like. Someone who can teach you how to code and what to avoid doing.

This could be your boss, your colleague or someone online who you will follow.

Bigger companies might have a formal mentorship program in place, but if you are in a small studio or on your own, look on the internet.

Following developers like a Chris Coyier, Paul Irish or getting a mentor through Thinkful or similar programs might be a good idea.

TIP: If you are not going forward, you are going backwards, especially in web development.
A good mentor will help you:

to get advice on your project approach
to get a sense of direction
to help you foresee any potential roadblocks
Tip: Remember a mentor is not a guy who will do everything instead of you and is not there to motivate you. You still need to be curious and self-motivated in order to grow.
Still with me? Great..thanks, but don’t forget to move.

8. Stay active

Stay active

Working in the digital industry means that we spend a lot of time staring at the computer screen.

Sitting 40-60 hours in the office will sooner or later take it’s toll.

That’s why it’s vitally important that you look after your body the same way as you take care of keeping your markup nicely organised and commenting everything you do.

Healthy body and healthy mind means a better code. So when you schedule your week, don’t forget to include some non digital activities – walk, run, gym or whatever else will make you forget about all the pixels around you.

Tip: Watching YouTube or TV is not an escape from the tech world and won’t make you feel refreshed. Anything that gets your blood pumping will.

5 Web Development Tips for Increasing Online Sales

Some merchants might not realize it, but the design of their online storefronts-from the landing page to the shopping cart-has a direct effect on sales. Even the smallest of design elements can improve or harm conversion rates, and this tutorial will tell you five things you can do as a web developer to increase online sales.
Think about it from a shopper’s perspective. It seems pretty clear that you want your shopping process to be as intuitive as possible-but a lot of online storefronts don’t practice what they preach. Sometimes, web stores get too artsy with their designs. Others use flash animations that can slow down the shopper’s browser. Still others use color schemes that send the wrong signals to shoppers.
Performing A/B testing on your online storefront is an important part of making sure your site appeals to customers and makes shopping as intuitive as possible. There is a range of ways that different design elements can affect online users, and testing helps put those ways in perspective. With more than ten years of experience designing online storefronts, we’ve seen enough to know what the “dos and don’ts” of web store design look like.
Here are five tips on how you can turn more visitors into customers and seriously improve conversion rates using some simple design techniques.

Make sure your shopping cart is visible

If the customer adds an item to their cart, they want to have the peace of mind that the item was actually registered. Therefore, somewhere on the page at all times during the shopping process, your store should have an area listing the number of items in the customer’s cart and other relevant check-out information.
Having checkout data visible and readily available also helps ease the transition from shopping to checkout. No matter where the customer finishes shopping, it’s important to have a quick link back to the checkout page.
It isn’t enough to simply have shopping cart information somewhere on the page, however. Make it pop so it’s easier to find. Contrasting colors from the color scheme on the rest of the page is a good way to help the cart stand out.

Optimize your “add-to-cart” buttons

Site visitors and customers respond differently to different calls to action. For instance, if your “add-to-cart” button says “more details” or “learn more,” our experience has been that customers don’t react as well to this kind of indirect call-to-action. In contrast, an “add-to-cart” button that says “buy now” is a specific, direct call to action that elicits a much more positive response from shoppers.
Coloring is also an important design element here. Blue and green are gentler colors that usually cause people to follow up, whereas orange and red can hurt the performance of your “add-to-cart” button. Using colors that flow with your site’s color scheme helps further clarify the call-to-action.

Clean up your product pages

The organization of your site’s product pages is a crucial part of ensuring that your customers are drawn in by the information that is most appealing to them.
Have you ever thought about where your customer reviews reside on the product page? Sure, customer reviews are an important part of gaining the customer’s trust-but they don’t have to be the first thing that the shopper sees. So many elements on any given page mean a complex organization process.
The first element should always be the product images. The shopper wants to see exactly what he or she is getting for the money. After that, make sure to feature the product name, description and the price to get the customer’s attention. Keep elements like customer reviews and links to similar products closer to the bottom of the page.

Clarify your navigation paths

Hidden menus and other elements on the page are very ineffective and can sometimes lead to shopper frustration. One of the most important parts of clarifying your navigation is by avoiding hidden elements on the page.
If you have too many categories, this can be a difficult task. However, fly-out menus (that “fly out” when you mouse over them) are an effective way to keep your page from getting too cluttered while giving the shopper the opportunity to access any category page at any time.
Don’t get caught up in getting too artistic about how you design category and other navigational elements; shoppers will always thank you through better conversion rates when you make practicality a priority.
Using bread crumbs so shoppers can trace their way back from where they came is another way to ensure the shopping experience is a smooth one. Make a path between categories and subcategories somewhere on the page. After shoppers add something to their carts, a “continue shopping” button makes returning to shopping as intuitive as possible.

Eliminate distractions from your checkout page

When your customer proceeds to the checkout, you want them to go in a very specific direction. So, when you’re designing your checkout, this is the time to remove items like left sidebar navigation to define a clear path to the goal.
Ignore the urge to continue selling into the checkout process. Every second between landing and checking-out is precious to ensuring the sale is actually made.
Single-page checkouts tend to have the highest conversion rates. Simplifying the checkout process and making it easier for the shopper is a great way to ensure the sale is completed. In one page, the customer should be able to fill out their shipping, billing and credit card information. One-click checkout is also a great way to keep customers coming back. A good checkout experience will stay in the shopper’s mind.

How To Become A Freelance Web Developer

You could have a number of reasons for making the decision to break out of the corporate machine, but if you’re looking for examples, here are four that you might have considered while sitting at your desk job, imagining all the creative ways of saying “I QUIT”:

1. A better work-life balance

    – you can have breakfast with your boyfriend/girlfriend again!

2. Being your own boss

    – you can work all morning (or all night for that matter), and then spontaneously take a couple of days off to, I don’t know, play disc golf?

3. Freedom to choose your working hours/clients/rate of pay

    – say a polite ‘no thank you’ to that miserable client and a ‘no thank you’ to his criminally low budget too.

4. The chance to work on more interesting projects

    – no more monotony, each month bringing a variety of work, clients and opportunities. Cue envious looks from your former colleagues.

Perhaps you’ve already trained in Ruby On Rails, or you learned HTML at college, or you’re a dab hand at Java. If so, now could be the perfect time to join the freelance movement and become your own boss.

[Sidenote: if you haven’t learned to code yet, then that should be your first order of business! Check out the CareerFoundry Web Development Course , and once you’ve learned a bit, come back and read this post again!]

Who should consider freelancing as an option?

If you’re a developer already, in all likelihood you’ve been working for the same company, or bouncing from opportunities year by year, leaving every time something that started out fascinating became quickly mundane. For a while now you’ve been thinking about calling your own shots, and breaking away from your circular work life.

On the other hand, if you’re a tech junky looking for a way to build a skillset that allows you to work on your own terms, this is a pretty stellar option.

Being your own boss has a huge number of advantages, and not just because you get to decide the theme for the office Christmas party (Jumanji, anyone?) but getting started is tough. As a freelance web developer you put yourself in a high value position, but only for as long as you are able to run your own business, which includes managing the worst kind of employee you know… you!

Just kidding, but let’s face it, self discipline is tough when your other options are watching movies on your sofa with a box of cookies. You have to be strict, but incase you need the motivation, here are a few things about being a freelance developer that work to your advantage:

  • Your skills are highly sought-after in every industry (AKA lots of demand)
  • There is a huge shortage of web developers worldwide (AKA lots of demand)
  • Contract salaries are frequently high (AKA … awesome)

1. Find Your Niche

Wanna stand out from the crowd? Find yourself a niche, find a web development course and upgrade your skills. While it’s great to be a programmer that can do a bit of everything, your value will be higher as an expert in just a few.

“Becoming known as the solution to a particular set of problems is crucial to your freelance career, so you need to be willing to differentiate and then lock it in.”
– Ted Johnson, longterm freelance developer.

If you’re not sure your current abilities solve a common enough problem, consider learning a new language altogether, or try building a skillset of complementary abilities other than coding, such as User Experience Design, orUser Interface Design for the more creative types. A developer who can also plan out a usable and effective information architecture is rare, and this dual-skilled approach could see you turning clients away left, right and centre.

You don’t ever just want to be “that developer guy/girl I know” but rather “an expert developer for [insert problem here]”. It’ll be much easier to advertise your skills and make a name for yourself if you can say you’re the best in a particular, sought-after area, or the only one who can do it.

Not sure what’s hot on the market right now? Here are the three most up and coming demands you’ll find today:

Ruby on Rails

    Ruby on Rails is an open source web application framework which runs via the Ruby programming language. Currently the hottest of the hot among startups worldwide.

Swift

    Swift is Apple’s new innovative programming language for Cocoa and Cocoa Touch. Structured for iOS development, syntax is concise yet expressive, and apps run lightning-fast.

Node.js

    Node.js is a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications. Many argue it is the up-and-coming competitor to Ruby on Rails.

As our friend and expert web developer Stephen Young put it:

“Focus on the underlying principles and driving forces behind new technologies.”

2. Start Building, Anything & Everything

So you’ve found your niche. Now it’s time to get building. The best place to start is your portfolio website, the one website you will update, edit and continually develop for your entire career. Your portfolio is a way of displaying your skills and having an easy reference for potential clients. If in doubt, remember that your goal in self-representation is to be easy to find, easy to remember, and good to know. See a full description of how to do this in last week’s article:

My Secrets To Becoming A Successful Freelancer (And How You Can Get Out Of Your Desk Job In 30 Days)
by Emil Lamprecht, CMO at CareerFoundry and 7 Year Freelancer

But once you’ve published your CV, previewed samples of your past and added a contact form, what should you do?

“No one hires based on where you’ve been, they hire based on what you’ve done.”
Emil Lamprecht, CMO CareerFoundry

Build your ideas, they are what make you, you.

Once you’ve built your portfolio, you need things to put in it, which is your opportunity to boost your personal brand by:

  • Practicing your niche skill
  • Building your own ideas
  • Exhibiting your technical chops

You’re essentially killing two birds with one stone: you’re improving on and applying your new skills while simultaneously showing your wares. Your portfolio is your shop window, so make sure that it, and its contents, represent your very best work.

And if you want help making it better, help others! Keep a blog that explains your process, ask and answer questions on social media build, build, build every day. A great example of this is here: Confessions Of An Unlikely Developer

[Don’t forget to sign up for the free 10 Great Resources For Freelance Web Developers PDF! Just enter your email in the pop up box to your right.]

3. Build Your Personal Brand

Getting your name out there as an expert in the field can be tough, but if you want the freelance lifestyle, you’ll have to hustle for it, so get ready for some sleepless nights.

There are so many opportunities for professionals to get known without spending a penny that advertising is not a route you need to go down, not at this stage. By showcasing your work, building a network and teaching and blogging like an expert you will find more than enough ways to connect with people and for people to find you.

It’s crucial that you talk to people. Online and off.

The internet, as you may know, is a marvellous marketing tool. There are so many opportunities for creating and building on new relationships that with a little tact your voice will quickly become vastly superior to any ads you’ll produce. Always keep in mind that you’ll have to talk to a lot of people to find and land clients, so get used to it!

As professional freelancer Rebecca Shapiro told us:
“Make sure that you seek freelancers outside of your industry, as well. Be as far reaching as possible. Go into building these relationships with an attitude of giving instead of getting and you’ll find you’ve easily built a reciprocal referral network.”

From a visibility standpoint, keep your goals simple. Getting Google to find you if you have a normal name can be tough, so focus on attaching your name across your portfolio, social profiles and content to the terminology of your niche skill, and the problems your clients will search for.

To kick it off, here are some great websites for online marketing:

  • Twitter – create a following by tweeting about current news in your niche, having conversations with people in your field and answering questions.
  • Quora – answer questions from people interested in your niche. Make these as detailed as possible: the more content you write the more likely Google is to associate your name with web development.
  • YouTube – create online tutorials and upload them using YouTube. Put them on your own website. Give them easy-to-Google titles like: “What is ” or, “How to ….” so that people can easily find them when they search. Try to make them personal and funny – without going too far off-topic – the more watchable they are the more people will come back to you for more videos.

Then keep an eye out next month for our free ebook:
“The Freelancer’s Brand – A Practical Guide To Owning Your Career”
Sign up here to get updated when it launches!

Finally, a great opportunity for web developers to build a brand with is teaching. There are thousands of opportunities across the web for building, writing and mentoring in your particular niche, including our own platform.

4. Get Organised

Becoming a freelance web developer is not just about knowing how to code. It’s about being a project manager, a sales person and head of customer care. You might not have had much experience in these areas but they are just as crucial to the success of your freelancing career as anything you can do with your programming skills. This means you need to get organised!

Check out these time and project management tools and you’ll see how things have moved on since the days of the Filofax.

  • Quoteroller is a practical, time-saving way to create and send professional proposals to clients in a matter of minutes. You can chart your proposal’s performance and even see when the client has opened it.
  • Toggl can be a great way to track projects and see how much time you are spending on each one.
  • Asana is an excellent project management system, especially if you are working with others and need to delegate tasks or collaborate.
  • Google has an infinite range of calanders and management apps.
  • BillingsPro can be used to do project management and invoicing.
  • FreshBooks can organise your projects, invoicing and expenses all with one app.

Do your research, ask friends, colleagues and other freelancers what they use.

Josh Boyd, longterm freelancer and writer for Crunch, gave us his advice:

“The most useful thing I realised about freelancing was not to despair when things went a bit wrong. New tax forms to fill out and late-paying clients would make me reconsider, but it’s worth remembering freelancing is meant to be a challenge. If it were easy, it wouldn’t be half as rewarding.”

5. Build up your experience, project by project

Now that you’ve got that new, in-demand skill under your belt and a slick website, it’s time to do some real projects to show potential clients. Elance,oDesk and Freelancer.com are great online marketplaces for newbies in the field to start taking on jobs and gaining experience. Do this while you’re still in your fulltime job to get a feel of the amount of time you’ll need and what you can realistically start to earn per project. While you are still finding your feet, experience is what counts.


It’s a learning curve…

You are still very much in the learning process here: Learning how to be a business person and a freelancer. Use this step as a chance to learn how to handle clients, to find out what they will expect from you. It might also be worth doing projects for local charities, schools or small businesses who simply can’t afford to pay a web developer’s rate. As Joshua Kemp writes in his blog,Confessions Of An Unlikely Developer:

“Find a friend with a TINY small business (any business) or you can just find a crappy old site that needs a serious facelift.”

By doing this you are building up your portfolio and getting great references for your CV; crucially, you’ll learn how to deal with people.

[Don’t forget to sign up for the free 10 Great Resources For Freelance Web Developers PDF! Just enter your email in the pop up box to your right.]

6. My last piece of advice? Be brave.

Let’s face it, when you start out you’re not going to be an expert in your field. You may take on projects that you aren’t sure how you’re going to finish. If that’s the case, if you’re not 100% confident of how you’re going to complete a project…

give your client a realistic idea of when they can expect that work back.

If you tell them it’s going to take longer than they expect it’s better you tell them that now than when the deadline has passed. No one likes (bad) surprises. Particularly people who are paying you to do something.

Our reliable friend Google can help you with almost every kind of programming query you have, as well as websites like Stackoverflow. But don’t let lack of confidence stop you from taking on these bigger projects. It’s how you’ll develop as a freelancer and how you’ll learn your trade.

So, in summary, how do you become a freelance web developer?

  1. Find your niche
  2. Build, build, build
  3. Get your name out there and establish a network of other freelancers and industry professionals, as well as rebuilding links with previous colleagues and employers
  4. Do some research into and invest in some decent management and invoicing software
  5. Start getting experience every which way you can until you’re ready to….
  6. Take on your first big client.

It’s not easy. It’s damned hard work. But the rewards of the freelance lifestyle will outweigh all of this hard work by 100 times if you do it right from the beginning. Building your reputation as a hard worker, a reliable, honest web developer who treats his or her clients well will pay off time and time again as you continue along your freelance journey. Word of mouth recommendations are worth a hundred of any advertisement you could pay for. So don’t take short cuts. Don’t rush a project or treat any client better or worse than the next one. Get as much experience as you can and always, always do a good job.