Monday, November 16, 2015

Career Idea: Web Development, part 1

We all would like to work hours that suit our schedules and personal feelings. Some days I frankly don't care to get up early in the morning to work. I know I need to work because I need money. I need that money to pay my rent, utilities, gas for my car, insurance, food, and every other little thing, but sometimes I just don't want to work!

It's a dichotomy for the ages: You need money to live, but you don't want to work for it. Actually, most people do want to work for it, it's just that they're stuck working a job they really, really don't like. Perhaps you work in insurance, a 9-5 job Monday through Friday. It's stable, not terribly difficult, and the pay is OK. But you hate it. You dreamed of being a quarterback in the NFL, or a professional boxer, or a Nobel-prize winning author. You dreamed such things because that's what you were passionate about, and ok... maybe the money would be good too. But your main focus on any of those professions was a direct result of your natural attraction to those trades. Insurance is a grind to you and you get zero utility out of; no satisfaction.

Truth is, most of us are stuck in similar situations. Grinding day after day, looking forward to going home, eating a big dinner, and plopping ourselves in front of the television and turning our brains off! Well, what if life didn't have to be that way? What if you could do something that you may actually enjoy? Or at the least, enjoy more than your current job.

Introducing.... web development!

It's not glamorous like playing in the NFL, and frankly maybe its not something you're super interested in, and that's ok because this is just one example that you can extrapolate to many other professions. I am focusing on it specifically here because I just want to... I will do others later.


Why web development?

Generally speaking, if you decide to start your own web development business, one awesome thing about it is that you can learn it entirely for free using any number of video tutorials, academic courses, and free coding camps. Want more reasons why it's awesome?
1) Free to learn
2) Low startup costs
3) Can start as a freelancer, no business licensing!
4) Set your own hours
5) Make as much or as little as you want
6) Do something new every day
7) Help others
8) Lots of help available through supportive communities
9) Work from home

That said, there are some peculiar cons:
1) Very competitive at scale
2) Can be time consuming
3) Financially expensive for large, custom jobs
4) Difficult clients, unrealistic expectations

A good thing to note about the cons is that only half of them apply to smaller web-developers. Probably the most frustrating thing is dealing with clients. We love them and we.... don't love them sometimes. Some clients will be happy just to have a website up and running, others will want a specific design which, after you give them exactly what they want, will then ask you to redo the entire website for whatever reason.

It's also important to note that a web-developer today is not like the webdev of yesterday... or more like ten years ago. Today's webdevs have more responsibilities, such as SEO, digital marketing, site maintenance, and sort of a business partner/liaison.... if you want to grow significantly.

It is common to establish yourself with clientele who care only about the basics, and are not interested in anything more than simple websites and maybe some upkeep. It's a great way to earn a a few hundred dollars a month, but in most cases you will eventually run into a more complex, and demanding client that will rock your boat. Just be prepared!

To get started, you will need to learn the following:

1) HTML
2) CSS
3) Photoshop/GIMP/basic image editing

HTML is pretty easy to learn. It's important to know the basics of HTML and the basic HTML layout of a website.

CSS is slightly more difficult at first, but you will quickly pick up on its structure. Again, you don't need to master it to get clients and complete basic jobs, but you should know some of the basics. Anything you don't know, you can Google.

Basic image editing is important because your clients will ask you to insert images, create logos, or edit any number of things. It's a great tool to understand and become good at.

These three tools will get a lot further than you may think. Again, you don't need to become a master at them. A lot of companies and individuals will be happy just to have a site, so if those are your clients then you don't need much more.

Another useful thing to use are templates. Some webdevs argue that templates are too easy and take away from the real art/science/whatever of web development but I would strongly argue against that. Most businesses and organizations ranging from small to medium size will not need a built-from-scratch website. And why do you want to spend the time building one anyway when there are templates available to you? You don't! You want to crank them out fast but with exceptional quality. The thing with templates is that you must get familiar with them and you will have to change and customize some of the code, that is a fact. So while you don't have to become a master at HTML and CSS it would be good to build a site from scratch just as a way to practice and become familiar with everything.

After you learn those three skills, you should build your own website. You can do this first through a simple editor, I like Notepad++. Then you should buy a domain name, get your own real-working website, and go from there. After all that, the next item on the agenda list is to get clients.

Getting clients can be difficult and frustrating so I will share what I do.

First; I build multiple websites, and use one website as my main "web development company" and I use the others as part of my portfolio. Next, I market like crazy. Social media, commenting and including my website as part of my comments on as many websites as possible (especially tech and local websites), I print out paper flyers and post them wherever local businesses will let, and if I hear someone complaining about computer/web issues while I am out, I will politely introduce myself and offer my services. Basically, I become a walking advertisement.

The next issue to work out is pay.

Let's assume you finally get your first client, he or she will want to know what you charge... by the hour? By the project? Piece-meal? What about additional fees? Weekly fees? Monthly fees? Lump sum?

There are a ton of ways you can devise a pricing structure, but I find that simplicity works best. A good piece of advice to listen to but not exactly follow is by looking at the market or going rate. This varies considerably but I like to dive and see what other webdevs are charging in my area so I can undercut them. If you can't find any of that info then create your own prices. My rule of thumb is to price humbly. I know exactly what I can do and I know exactly what my time is worth. Personally, I usually don't charge for the initial meeting, but not always. I like to feel out the client as best I can and decide if I think it will scare them off or not. As you get more clients you can charge a more standard rate as you figure out what your time is worth.

I'll just throw out how I do my pricing, you don't have to follow it like this:

1) No charge for initial meet and greet.
    -Involves saying "hi", getting to know the customer and explaining what I have to offer and listening to their needs.
2) Charge for anything more than a very basic meet and greet.
    -Involves going over everything in detail, sometimes includes a walk-through of their business.
    -Includes the initial fee for meeting them (1 hour minimum fee) plus a higher fee for every hour after that (I charge by the hour here).
3) Charge for website mockup
    -This would be a demo of the website, not a fully functioning site.
4) Charge for travel expenses if over a certain number of miles from my residence.
5) Charge per-project + hourly for any additional changes.
    -In some cases, I charge only hourly. Mostly depends on the project and what the client wants.
6) Any additional work outside of coding the website is charged.
    -Includes graphics, photo editing, analysis, etc.
7) Charge by month for any maintenance up to a certain threshold then I being charging both monthly and hourly.

If it is a simply website, I will explain to the client that I will charge them for the project itself plus hourly if they have any additional requests. So, if they have one additional request and it takes me anymore than five minutes to implement, I charge them for the full hour. I do this because I know what I am worth and have plenty of demand.

Maintenance costs are a pretty standard, flat-fee. These include upgrades to the site, updates, changes, and any social media maintenance. For smaller companies I don't require a lot of upkeep I will charge them monthly, because more often then naught I will only have to go in for an hour a week at the very most to make changes, market, and update the site. It's normally very easy, very simply, fast, and at the end of the month I will have an extra $200 or so. Again, it depends on the workload.

  If you have any free time, or have yet to get a client, use that time to hone your skills and market yourself. And practice, practice, practice. If you're going to use templates, you will have to decide if you can manage with free ones, or paid. And how is that cost going to be passed down to the customer?

Lastly, before I forget: learn the basics of SEO! It is incredibly important you learn about tags, meta, permalinks, and how to build a site that is searchable and crawler-friendly!

No comments:

Post a Comment