Vous êtes sur la page 1sur 52

How to Become a $50/Hour Software Developer

2017 Geoffrey Bans www.loudprogrammer.net Page i


Copyright Notice
How to Be a $50/Hour Software Developer in 7 Simple Steps

Copyright 2017 By Geoffrey Bans.

Any unauthorized reproduction or transmission of any aspect of this book


is prohibited. You may not resale, repackage or give away any part of this
book by any means, electronic or mechanical, without permission from the
author.

This book is not intended as legal, financial or investment advice. The


consumer of this book assumes all responsibility for their outcomes as a
result of following the advice and materials in this book. Geoffrey Bans and
the LoudProgrammer Blog assume no responsibility or liability for the
actions of any reader of this book.

Website http://loudprogrammer.net/

Follow me on Twitter @geoffreybans


How to Become a $50/Hour Software Developer

Table of Contents
Copyright Notice .................................................................................................. i
Introduction.......................................................................................................... v
How I Became a $50/Hour Software Developer ............................................. vi
Does Earning $50/Hour Make You a Great Software Developer? .............. viii
How to Read This Book ...................................................................................... ix
STEP 1: Learn To Code ....................................................................................... 1
Importance of learning .......................................................................................................................... 1
How to Learn .......................................................................................................................................... 1
i. College.......................................................................................................................................... 2
Teach yourself ..................................................................................................................................... 3
i. Take an online course ................................................................................................................ 4
ii. Books ............................................................................................................................................ 4
iii. BootCamps .................................................................................................................................. 6
Learning tips ........................................................................................................................................... 6

STEP 2: Network ................................................................................................. 7


Tech Meetups .......................................................................................................................................... 8
Online Support Groups ......................................................................................................................... 9
Alumni groups ...................................................................................................................................... 10
Tech forums .......................................................................................................................................... 11
Create a LinkedIn Account ................................................................................................................. 11
Networking tips .................................................................................................................................... 12

STEP 3: Build a portfolio .................................................................................. 13


Create a GitHub account ..................................................................................................................... 13
Purchase a domain ............................................................................................................................... 13
Take freelance projects ........................................................................................................................ 14
i. Start with friends and relatives .............................................................................................. 15
ii. Check with local businesses .................................................................................................... 16
Start your own projects ....................................................................................................................... 17
Contribute to Open Source Projects .................................................................................................. 18

2017 Geoffrey Bans www.loudprogrammer.net Page ii


How to Become a $50/Hour Software Developer

Portfolio tips ......................................................................................................................................... 19

STEP 4: Get Recommendations ...................................................................... 20


Contact friends and family .................................................................................................................. 20
Contact Previous Clients ..................................................................................................................... 20
How to Ask For a Recommendation .................................................................................................. 21
i. Timing ........................................................................................................................................ 21
ii. Approach ................................................................................................................................... 21
iii. Provide an Outline ................................................................................................................... 22
iv. Show Your Gratitude................................................................................................................ 23
Tips on recommendation .................................................................................................................... 23

STEP 5: Send Out Job Applications ................................................................ 24


Importance of Sending Applications ................................................................................................. 24
Start With Your Inner Circle............................................................................................................... 24
Check job boards .................................................................................................................................. 25
Connect with an insider....................................................................................................................... 27
Follow up ............................................................................................................................................... 28
Application tips..................................................................................................................................... 29

STEP 6: Interview ............................................................................................. 30


Acceptance email .................................................................................................................................. 31
Phone Screening ................................................................................................................................... 32
Online interview ................................................................................................................................... 32
Physical interview ................................................................................................................................ 32
Technical interview .............................................................................................................................. 33
Technical Interview tips ...................................................................................................................... 33
i. Practice ...................................................................................................................................... 33
ii. Get Some Sleep ......................................................................................................................... 34
iii. Ask Questions ........................................................................................................................... 34
iv. Take Your Time......................................................................................................................... 35
v. Talk It Out ................................................................................................................................. 36
vi. Have Fun ................................................................................................................................... 36

2017 Geoffrey Bans www.loudprogrammer.net Page iii


How to Become a $50/Hour Software Developer

STEP 7: Perform ................................................................................................ 38


Build things ........................................................................................................................................... 38
Embrace team work ............................................................................................................................. 38
Accept Criticism ................................................................................................................................... 39

Conclusion ......................................................................................................... 40
About Geoffrey .................................................................................................. 41
Resources ........................................................................................................... 42

2017 Geoffrey Bans www.loudprogrammer.net Page iv


How to Become a $50/Hour Software Developer

Introduction
When youre just getting started as a junior developer, it seems like its
impossible to break into the market.

Everybody wants to hire somebody with experience.

How do you get that experience if nobody will hire a developer


with no experience?

In this book I give you a step by step guide on how you can go from a
complete beginner to landing your first software developer job with a
reputable company in 7 simple steps.

I also highlight the common mistakes I made, that most junior and
intermediate developers make that serve to lock you out of the jobs you
actually need, making advancing in your career a pain.

This book is best suited for a beginner, an intermediate as well as an


advanced developer looking to get ahead in their software development
career.

I hope this book helps you set a clear road-map for landing a software
developer job, achieve success in your software career and earn $50/hour
doing what you love.

I encourage you to email me with questions or feedback to help me improve


the contents of this book at bansgeoffrey@gmail.com.

Follow me on social media to keep in touch and share a few more tips.

Here is to your success!

- Geoffrey Bans,

Founder @Gliver @Loudprogrammer.

Twitter @geoffreybans
2017 Geoffrey Bans www.loudprogrammer.net Page v
How to Become a $50/Hour Software Developer

How I Became a $50/Hour Software Developer


In the year 2009 I decided I wanted to become a full time software
developer.

Earlier on I had been toying around with desktop computers and writing
some crappy HTML web pages using framesets.

Having not much exposure and no budget to blow on premium courses, I


decided to start teaching myself. I purchased the Sams Teach Yourself in
24 Hours series of books for C++, PHP and HTML. I then started learning
while practicing to code on my desktop computer.

After learning the basics in code for a few months I came up with some
simple project ideas and built on them using PHP. One was a mobile
payment checkout system. I was able to sell the code to a few businesses in
my local town and this got me really excited.

With no one to show me or offer me any guidance and help, I often got
stuck with code for days, sometimes weeks. I had to figure out everything
by myself either by reading more books, researching the internet or
sometimes simply taking a nap and magically waking up with a solution!

Then I discovered GitHub. GitHub gave me a great opportunity to host my


code, version control my applications and revert changes whenever I
screwed something and could not figure it out.

I could also host HTML user interfaces that I could show to potential clients
who I was looking to build websites and web applications for.

Initially my rates were pretty low. I often worked for $15 per hour or even
less. But the excitement that someone was willing to pay me even a penny
to write code was overwhelming.

Besides I didnt have much portfolio of projects to show on my profile, was


slow to deliver and my projects always had errors. So I just wanted to work
on my experience first.

After 4 years of actively building more projects my experience level and


efficiency increased drastically and so was my confidence.
2017 Geoffrey Bans www.loudprogrammer.net Page vi
How to Become a $50/Hour Software Developer

At this point I decided to get more open to networking with peer


developers, joined LinkedIn.com, joined tech support groups, technology
MeetUps and learnt much about pricing and personal branding.

I then defined my rates and became very choosy with clients. I decided to
only work with those who were willing to give me real value for my time
and appreciated my experience.

After taking this bold move of defining my hourly rates I lost a great deal
of clients. My client base drastically reduced to only a handful but my
rates jumped to the roof!

My way to a $50/hour software developer was a long journey full of speed


bumps and mistakes which almost discouraged me. But I couldnt let go.

I made a great deal of mistakes, including always doing everything all by


myself and never seeking for help.

This report outlines the lessons learned and the process I implemented to
successfully plan, create and launch my software developer career.

In this guide, I aim to guide you through the process that will make you a
full time web or mobile application developer faster and without much
pain.

I outline a more fun way to learn to code and finally land a well-paying gig
that will give you the chance to do what you love and improve other
peoples lives.

A word of warning! Just being passionate, talented and loving what you
do will not make you a great software developer.

You must put in the hours of hard work consistently if you want real
results. If you can get this point right through, you can make your way up to
a $50/hour software developer in less than 6 months.

Geoffrey Bans.

Loudprogrammer.net

2017 Geoffrey Bans www.loudprogrammer.net Page vii


How to Become a $50/Hour Software Developer

Does Earning $50/Hour Make You a Great Software


Developer?
Well, YES.

Your pay as a software developer will vary greatly depending of your


experience, location and getting the right opportunities.

However, this is a good rate to benchmark with. Often you will earn much
less when you are getting started but having a target of getting to $50 per
hour will motivate you to do only the things that will make you a great
developer.

Becoming a great software developer to the point that companies are dying
to hire you and pay the rates you ask requires a great deal of hard work,
consistency, time as well as networking with other developers and keeping
your ears out for the right opportunities at the right time.

Most people who try to become software developers never really reach the
point where they earn $50 per hour. The typical reason why that is, is
because they give up before they even have a chance. Sad but true.

No company in their right mind would be willing to pay $50 every hour,
160 hours a month all year round to a mediocre programmer. So being able
to earn this demonstrates the great value that you add to the company.

So, YES, use this as a benchmark, but dont let it limit you.

NOTE: You will NEVER be able to monetize every single hour you spend
programming.

90% of the code I have every written were never paid for by anyone. These
were in the form of open source contributions, failed startups, difficult
clients, coding help for friends and my own open source projects that I
started, including the Gliver framework.

But all these set me up for success.

Now scroll to the next page and begin your training...

2017 Geoffrey Bans www.loudprogrammer.net Page viii


How to Become a $50/Hour Software Developer

How to Read This Book


This book is available in both text and audio formats so that you can read or
listen at your convenience.

If you want both versions please visit http://loudprogrammer.net/reports


and download this report again by subscribing to my email list. You will get
the download links delivered to your email.

I will also send you additional materials that are more specific and up to
date, with more actionable tips to supplement the contents of this book on a
weekly basis.

I suggest that you read the whole eBook in full before starting anything.

Doing it this way will help you understand how the method works and how
the different parts complement each other.

If you skip any of the steps, it won't work as well for you. You need to follow
all of the steps for greater success.

Sometimes you will achieve success before implementing all the steps.

But reading the whole book before you start anything will enable
you to understand how it all fits into a strategy.

Check the resources section for a complete list of the links to all the
materials that I mention in this book for learning, jobs, networking and
personal productivity.

2017 Geoffrey Bans www.loudprogrammer.net Page ix


How to Become a $50/Hour Software Developer

STEP 1: Learn To Code


If you are looking to get started in software development and become a
highly sought after developer then it follows that you need to learn how to
build software.

This is what you will be hired to do. So you should be able to do it, and do it
well.

The strategies outlined in this book will help you get a chance at a company
as a developer or start your own consulting business. It is an opportunity to
work. So you must be able to take on the responsibilities and deliver.

Importance of learning
You will know how to get the job done when you get a chance
You will gain the confidence that is key when looking for a job
It is a badge of honor and increases your chances of acceptance

How to Learn
In this age, and with the internet, there is no shortage of learning materials
that can quickly get you the skills you exactly need locked in.

But if you dont filter the material and be specific about what exactly you
want to learn, it can turn into information overload.

Information overload leads to a situation where you are forever looking for
the right materials to use to learn but never taking any action. Even with
the best material in your hands, if you dont take any action they
will do you no good at all.

Learning to code, if you are specific as to what exactly you want to learn can
be a short and fun process.

You could get up and running coding apps in just 6 weeks or less depending
on how much time per day you allocate to your studies.

There are various ways you could learn to code and get really good at it.

2017 Geoffrey Bans www.loudprogrammer.net Page 1


How to Become a $50/Hour Software Developer

i. College
You can decide to go the traditional way of taking a college degree say in
Computer Science then learn algorithms and some coding skills.

There is the risk of feeling entitled in the job market when you have a
college degree. In the job market a college degree is just an indication that
you can learn.

It will open more doors for you, but remember you still have to walk right
in there and work. You still have to deliver on the job or you might be
labeled as incompetent.

Often than not, what you learn in the classroom is not what you
actually need to get the job done. So you will still have to put effort to
learn actual software development practices in the real world out of college.

A college degree can easily get you a placement as an intern with a


company. This will in turn give you the chance to learn the skills you need
in order to be productive.

Getting internship placements will be a challenge if you are purely self-


taught with no degree and no experience.

There is no shortage of universities or colleges where you could go and


study. So identifying a school wont be a problem for you.

From my experience it doesnt really matter much where you take your
degree in computer science from. The real skills that you need in order to
deliver on the job will be learnt when you are outside the classroom.

Remember if you go the university way, you will have to take 4 years
studying and then come and spend a year or two in internships before you
can become great at your job.

If you are already in college, by all means go ahead and complete your
studies. It will do you great good. It will open more doors for you and your
job search will be much easier.

College is also a great place to network.

2017 Geoffrey Bans www.loudprogrammer.net Page 2


How to Become a $50/Hour Software Developer

The connections you form at college will prove really useful when you are
out of school. There is more on networking later on.

But if you are still contemplating joining college then check out my next
point.

Teach yourself
Yes, teach yourself.

This is the most common, easiest, shortest and probably the most fun way
to get to learn how to code.

Youve probably heard a lot about self-taught software developers being


founders of successful company startups in the past. They founded software
startups that were really successful while still learning to code.

When you teach yourself how to code, you are able to filter out the noise
and only focus on the material and content that you really need to
get the task at hand.

It really saves you the time, energy and resources youd otherwise have to
spend if you went the traditional way of a college degree.

If you teach yourself how to code, you probably wont spend 4 years
learning to be able to be good at it. Just a year or 2 would do.

Learning is a continuous process, though, and today I still find something


new to learn in every new project I take to build.

This is despite the fact that I have been coding for years now.

If you teach yourself to code you will reach an employable level


much quicker, probably in just a few months.

If everything goes well you will be able to get into a senior position after 4
years of coding, while a college graduate will only be able to secure a junior
position at that time.

So how exactly do you teach yourself how to code?

2017 Geoffrey Bans www.loudprogrammer.net Page 3


How to Become a $50/Hour Software Developer

i. Take an online course


This is the most common and fun way of learning to code.

Video courses that are well done are a great way to get started learning.

When you interact with the instructors authentic voice, it


becomes easier to learn. The instructor is able to stress on key points
with the tonal variations in his voice.

Besides, live code demonstrations on your computer screen make it easier


to learn.

Its much better if the course instructor is within reach, because you will be
able to reach out to them when you are stuck and need some help.

There are great online platforms for learning where you could take a
premium or free course and get started learning.

I have included a comprehensive list of the most popular online platforms


where you can learn to code in the resources section. TeamTreeHouse.com
and Udemy.com would be great places to get started.

Check the resources section below for a complete list of the most popular
online platforms for learning programming.

On these platforms you will find good courses that will teach you Web
development, Android, iOS, Java, Game Development, Desktop
applications, Data Analysis, technically any skill you need to learn.

Besides, some of these online courses have instructors with great teaching
approaches and are available to assist you when you are stuck.

ii. Books
Books are the traditional and proven approach to learning.

However, with technology and particularly coding, you will need to pay
more attention to the year of publication of the book to ascertain relevance.

Programming languages evolve pretty fast.

New versions are released every now and then.


2017 Geoffrey Bans www.loudprogrammer.net Page 4
How to Become a $50/Hour Software Developer

Old commands easily get deprecated with every new release version of a
programming language so if you spend your time studying with an
outdated book you are in for a bumpy ride.

I personally made this mistake when I was starting out learning PHP.

I studied PHP 4.0 which already had a lot of functions deprecated by the
time I was leaning it.

The code I then wrote could not run on the server. It was throwing errors at
every attempt to execute.

Even with the best video courses online, you still will have to pick a few
relevant books by the side to act as your reference.

Most courses are targeted at achieving a particular goal and will not take
time to delve into the details which you need to set a strong foundation.

In this case therefore a book comes in handy when say you want to check
out all the functions related to string manipulations in a language.

You will face a lot of frustration trying to learn from a book that is outdated
because the code most likely will not run on the latest server software.

One other important thing that will help you settle on the right book is to
check on the programming language version that the book is teaching.

If say you want to learn PHP. You grab a book either digital or paperback.
Check the PHP version it teaches.

Then go to the official PHP website to check out the latest version of PHP in
the market. If the book teaches PHP 5.0 and the latest version is
PHP 7.2 then by all means leave that book alone.

Spend more time looking for a more up to date book. It will save you many
a pain.

Even with the availability of video courses and tutorials, books can give you
a very strong foundation, especially if you have limited resources.

2017 Geoffrey Bans www.loudprogrammer.net Page 5


How to Become a $50/Hour Software Developer

I learnt my first three programming languages C, C++ and then PHP purely
from books. It took me longer but gave me a strong foundation that enabled
me to build the Gliver MVC framework.

So dont underrate the power of books yet.

Check the resources section below for the best books I used to learn to code.

iii. BootCamps
BootCamps, CodeCamps or Hackathons are pretty much everywhere these
days.

They are a really fun and interactive way to learn if you can get a chance at
any of the, but HackaThons require you to have previous coding experience.

They are a great place to

network,
make new friends &
find a coding buddy.

Learning to code completely on your own without getting help from


anybody is a recipe for frustration and failure.

Finding a coding buddy is a great way to keep your coding adventures alive
as you will share ideas, enthusiasm and kick out the boredom.

Learning tips
Focus on learning only what you need to get your current task done
Stick to one learning resource till you have a proper grasp of the
basics
Focus on project based learning approach as opposed to general
learning
Have a study plan for your whole study period.
Start with the basics in HTML, CSS and JavaScript before you move
to server technologies like PHP, Python, C#, Java and Ruby.
Find a mentor, a coach or a codding buddy who you have direct
access to, to assist you when you are stuck.

2017 Geoffrey Bans www.loudprogrammer.net Page 6


How to Become a $50/Hour Software Developer

STEP 2: Network
This should have been the first step if not for the fact that your network
wont benefit you much if you dont have the skills required for the job in
the first place.

So youd first set a clear action plan on how to acquire the skills needed for
a software developer job. Then you can get started on your networking
journey.

The job market has become so dynamic.

You will mostly likely have success getting a job by relying on


your network than by frequenting job listing websites.

Some people have had success by just approaching a company that was
hiring and got a chance, but just an exceptional few.

Competition for jobs has gone high though.

You will need to have someone who can recommend you for a job, someone
who can back up your claims.

This will give you more credibility in the eyes of an employer than if you
only had the skills but lacked a recommendation.

Networking with buddies will form a great part of your career. There is no
time to stop.

Quite often job opportunities are not advertised to the public. If you have
the right connection at the right time, you might get alerted about an
opening at a startup so that you could go give it a shot.

Your job search with a company will be easier if you also know an insider:
someone who already works there who could put in a strong word for you in
order to back up your application.

This is not a race to pile 3000 business cards on your desk by the end of the
month.

Only focus on relevant connections.

2017 Geoffrey Bans www.loudprogrammer.net Page 7


How to Become a $50/Hour Software Developer

You might want to broaden your reach by networking with anybody who
has any position at any company.

But remember networking is not that easy. Your focus should be on


building relationships other than just exchanging business cards.

In order to build meaningful connections in this manner, you need to put in


effort and time.

Quality of your connections will work well against quantity.

However, you should not just focus on networking as a tool for the purpose
of a getting a job.

It should be a way to

make friends,
share ideas and
make your professional life fun.

You might not get a job directly from your network but your network will
play a great role in shaping your profession as a software developer.

Programming and software development in general is all about providing


solutions to people. So you need to have people skills. You need to know
how to communicate with people and put your ideas across.

This is what amounts to great software.

Just after you are able to communicate with and understand customer
needs, will you be able to design software with the end user in mind.

There are various ways through which you could network and broaden your
reach.

Tech Meetups
Using a website like Meetup.com will help you locate nearby relevant
Meetup groups in your locality.

2017 Geoffrey Bans www.loudprogrammer.net Page 8


How to Become a $50/Hour Software Developer

Only join MeetUps where there is a great likelihood that you will
meet likeminded people.

Joining a Meetup group about Yoga and expecting to meet programmers is


spreading your chances too thin.

Networking and building real connections takes effort and time so only
focus on making relevant connections that will be of real value in shaping
your career.

If you are a JavaScript developer and you dont intend to venture into back
end languages like Ruby or PHP anytime soon, then your best bet would be
to join a JavaScript-only Meetup group.

During these Meetups guys get to share best practices in that particular
technology.

You get to learn from others how to implement particular


features in that language or framework or technology. You only
want to learn what you really need as a budding programmer. It will ease
the learning burden on you.

People also frequent these Meetups to find passionate programmers who


could collaborate with them on a project.

Some programmer you might meet here knows a startup that is hiring or
someone who is in need of a programmer.

So it would benefit if you had the right skills needed.

Online Support Groups


Dont limit your reach to only your physical locality.

Even distant connections have proved resourceful to me in my career.

Besides, with the on sprout of online work and companies outsourcing


development tasks, you have high chances of landing a gig through a
remote connection.

2017 Geoffrey Bans www.loudprogrammer.net Page 9


How to Become a $50/Hour Software Developer

As a software developer you need to continue learning new tricks


in order to be more efficient at your job.

These online groups that you join are a great place to get to know

What challenges others are facing,


How they tackled them and
The best ways to approach certain problems.

This will save you a great deal of frustration in trial and error and possibly
annoying the management at the company where you work.

At these online groups you could

Ask your buddies particular questions about your work.


How to respond to certain situations at the work place.
Which libraries are the best for accomplishing certain tasks.
How to write efficient code and boost server response time among
other things.

Alumni groups
Your previous classmates will be a very easy place to start networking.

They already know you in depth.

You shared much together so they wouldnt be hesitant to want to catch and
get to know what you are up to.

There are various ways you could catch up:

You could look up your particular alumni Meetups.


You could as well use a tool like LinkedIn to find which of your
previous classmates are on LinkedIn platform and then connect.

This way you will be able to get in touch.

Ask to know what they are doing first.

This will put you at a better position to know how resourceful they could be
to you in terms of taking your career to the next level.

2017 Geoffrey Bans www.loudprogrammer.net Page 10


How to Become a $50/Hour Software Developer

When you seek to know how somebody is faring on first, it comes out as
genuine and the person might be open to sharing more with you.

Then let them know

What you currently do.


What skills you currently have, and
What you are looking for.

Go ahead and let them know how you could be of help to them and how
they could be of help to you too in both your careers.

Tech forums
These are as well common depending on your locality.

These have a broader outlook, attracting a wider range of both technical


and nontechnical people.

You are as well likely to meet people of varying ages and interests.

There are chances you could meet that one right person from these forums.

Go with an open mind and be open to those you meet so that they
can open up as well and share more with.

Mostly you will find entrepreneurs who want to invest in the tech industry
frequent these forums as they want to learn more about the risks involved
as well as meet geeky developers.

Getting hooked up with the right individual from these forums could open
doors of opportunities for you.

Create a LinkedIn Account


LinkedIn is a professional networking platform that connects you with
likeminded professionals regardless of their geographical locations.

Its a great way to keep in touch with buddies, check out their
recent developments and activities in a non-intrusive way.

2017 Geoffrey Bans www.loudprogrammer.net Page 11


How to Become a $50/Hour Software Developer

While you are networking, create a professional LinkedIn account which


you can then share with your new connections as a way to keep in touch.

When there is a connection you need to get in touch with, you could simply
log into your LinkedIn account and search for their profile, say based on
their first name, location or any criteria youd like to use and send them a
message.

LinkedIn makes it much easier to reach out to your connections


when you are separated geographically.

You could simply drop them a message or share with them interesting
materials and opportunities.

This constant communication will keep you in their radar which might be
very useful when the right opportunity surfaces.

Check the resources section below for list of other great networking
platforms for software developers.

Networking tips
Focus on making connections that are relevant to your career
Focus on making a few quality connections other than piling a list of
business cards of people you might never talk to again
Dont be pushy, relationships need time to grow
Dont appear so needy when making connections, its a turn off

2017 Geoffrey Bans www.loudprogrammer.net Page 12


How to Become a $50/Hour Software Developer

STEP 3: Build a portfolio


When looking for a software developer job, you should be able to
demonstrate your skills.

A portfolio of your previous projects, well displayed, goes a long


way to demonstrate what you are capable of doing.

Place your projects at a place where others can see or access them.

Create a GitHub account


When you are starting out as a junior developer, you look like a very risky
investment.

Everyone will most likely be looking for reason not to hire you, instead of a
reason to hire you. But if you can demonstrate your competence you will
have a smoother ride.

GitHub is a version control system for managing versioning of software. It


is as well a free code repository where you can store your code for your apps
for easy access by you and others.

At this time I dont suggest that you begin contributing to other peoples
projects on GitHub, just focus on using it for storing your own code.

This is the time you want to create an account on GitHub.

Put your source code in a public repository, especially if you are a self-
taught developer.

Purchase a domain
You can put your code on GitHub but you also need a place where you can
run the code so that you can demonstrate the user interface.

In order to stay ahead of the competition, having a personal domain


will go a long way to assist your job search.

The fact that someone can launch their browser and search you online and
find you will be a great plus.

2017 Geoffrey Bans www.loudprogrammer.net Page 13


How to Become a $50/Hour Software Developer

Besides, GitHub pages only support static HTML pages of if you need to
run a demo of your PHP or Ruby on Rails applications, you need a real
server.

Generally, someone would be confident to work with somebody whose


capability they could easily ascertain by checking live demos of their
previous projects.

A personal website is great place to put all your previous work together,
including other peoples testimonials that we are about to talk about.

There are other alternatives that can enable you to display your past
projects but they all come with limitations. With your own personal
domain you are able to put a personal touch to your works of art.

When you are starting out as a developer, probably you dont have much of
a budget to blow in purchasing a domain and hosting space.

But remember you are fighting against a huge competition and you need
something to make you stand out.

Having a domain demonstrates that youve taken your career and what you
do seriously and are really seeking to get ahead.

Where do you get the projects to include in your portfolio from


when you are getting started?

You are a junior developer and probably nobody has trusted you yet with
any paid work that you could then include in your portfolio.

Check out the next point.

Take freelance projects


Freelance projects will play a big role in getting your career started.

Check the resources section for a list of the most common freelance
websites for developers to get you started.

Nobody will hire you if you dont have any previous record of work or tasks
that you have successfully accomplished.

2017 Geoffrey Bans www.loudprogrammer.net Page 14


How to Become a $50/Hour Software Developer

You need a way to demonstrate this somehow.

Freelancing is the easiest place to start.

These are the projects that you will later include in your portfolio.

It is from your freelance clients that you will ask for recommendations.

How do you get started freelancing?

The questions of experience will still resurface, right?

Who will give any paid work to somebody without any previous experience?

You just look too risky, huh?

i. Start with friends and relatives


Start from your inner circle of friends and relatives.

This is the time you need their help.

They are the easiest starting point.

1. Approach one of your friends or relatives.


2. Tell them about what you do and
3. See if you could build a website or an app for them.

Remember you will first need to tell them why they need a website, so a
quick brush up of your marketing skills will come in handy.

Probably they will not be as critical of your inexperience as a real employer


who will spend money on you.

In most cases you will take on these projects for free.

Dont worry about the pay for the start. These projects are a great
opportunity to learn. You are still green and you need something to get your
hands on in order to sharpen your skills.

A real project will speak strongly about your credibility and competence so
seek to take on these for the sole purpose of learning, growing and building
your portfolio of projects.

2017 Geoffrey Bans www.loudprogrammer.net Page 15


How to Become a $50/Hour Software Developer

When you build something great, these friends will be able to connect
you to your next paying client and there you go: your career just
launched!

Dont take on so many projects for free, lest you be known as the guy who
works for free.

Id recommend you only do at most 3 projects for free.

Remember to only take projects that will enable you build the
specific skills you need for the particular field you are seeking to
get into.

If you are looking to venture into iOS development, building 10 Android


apps wont prove your point. A potential employer will still need to see your
experience in iOS.

ii. Check with local businesses


Sometimes you just dont want to bother family and friends.

Or maybe they are not a good place to start, it depends.

Some people also sometimes just want to have their coding adventures
secretive and personal by keeping family and friends out of their business.
They just prefer to go out there and give it a shot themselves. Thats great
either.

Getting onto your feet and approaching a local business in your town with a
view to building a project for them is a great way to start. In fact this way
you get real world experience firsthand.

This gives you an opportunity to also work on your

Communication skills,
Time management skills and
Prioritizing.

You need these projects with your new clients to work out well, so you
should definitely put in your best foot forth.

2017 Geoffrey Bans www.loudprogrammer.net Page 16


How to Become a $50/Hour Software Developer

As for real businesses, dont seek to work for free. It sets a bad
relationship between you and the prospective employer or client.

You could accept to work at a lower price but NOT for free.

You work for a lower price because you want to win them. You are a
beginner and your rates are not established yet due to your lack of
experience.

After a couple of successful projects under your belt you will be well able to
set some real price tag or hourly rate.

This client is probably already being approached by many other developers


who want to do the same work you seek to do.

You need to let them buy your idea somehow.

Once you get accepted for this project, do your best. Apply yourself to learn
as quickly as you possibly can and stick to deadlines and schedules.

You will need a great recommendation from this client later on. So prove
your competence now. Nobody wants to hire a mediocre engineer.

Start your own projects


A great alternative when you are looking to build you portfolio is to start
your own pet software project.

This could be some simple application that solves a particular problem that
people experience or automates some manual task that people perform
each day.

The key point is to build something that can actually be run and tested.

Something you can use as a starting point to learn and demonstrate your
skills.

If you a web developer and you already have a domain, then create a
subdomain under your main domain called projects where you can then
host your websites or applications, as you create them, and then show them
as samples to potential clients.

2017 Geoffrey Bans www.loudprogrammer.net Page 17


How to Become a $50/Hour Software Developer

If you are into app development, web, mobile & desktop apps, you could
build an application that you can then sell to potential users in your locality
or in the internet, if you have the budget to invest in marketing.

Marketing a software startup or an app till it gains tracking in the market


takes great amount of effort and resources. Nobody will come banging at
your door in order to buy your software before you market it to them.

Contribute to Open Source Projects


A fun and exciting way to build your portfolio is to join a GitHub
community and contribute to open source projects.

There are various ways you could contribute:

1. By improving the software documentation


2. By translating the documentation to your first language
3. By participating in software testing
4. By submitting code to build feature or fix bugs

Open source contributions add a great deal of credibility to your portfolio


and resume. I got my first paid clients for web app development using only
my open source projects as credentials.

The projects you contribute to have to be related to the field you are seeking
to get into.

For a programmer, contributing to software documentation is a great idea,


but for your contributions to really stand out, it needs to be directly related
to coding.

As a beginner, get started with open source projects will prove a great
challenge because most projects require quite technical skills that you
might have yet developed.

However, it is really worthwhile because you will have a great opportunity


to network, learn great coding practices, learn team collaboration and
improve your communications skills, which are key to a successful software
development career.

2017 Geoffrey Bans www.loudprogrammer.net Page 18


How to Become a $50/Hour Software Developer

Portfolio tips
Only take projects that are related to the field you seek to get into
Dont worry about low pay for the start, it will pay off in the long term
Start where you are most likely to win to make the process of building
a portfolio less frustrating
If possible, put your code on GitHub so that its available for review or
for easy of sharing it with others
When you are rejected at one place quickly move on to the next
Always have a user interface to demonstrate your projects

2017 Geoffrey Bans www.loudprogrammer.net Page 19


How to Become a $50/Hour Software Developer

STEP 4: Get Recommendations


You have learnt and honed the skills you need to get a job.

You are now an amazing coder, kudos!

Its time for you to start thinking of looking for a real job, right?

Isnt that your ultimate goal?

Well, hold your horse we are almost there.

Its time to collect those recommendations first. This is where your previous
clients really come in. So if you did a diligent job before, sit back relax the
recommendations will come after you.

Approach your previous clients who you worked with and see if they can
recommend you for a job.

You could call this a testimonial or so, they are the same thing.

Contact friends and family


If you just collect recommendations from anywhere they might look
scammy on your profile.

In step number 2 we talked about creating a LinkedIn profile.

This is the time to spice up your LinkedIn profile.

Add the recommendations you collected from clients to your


profile on LinkedIn.

Add your previous projects too on LinkedIn. It will be easier for someone to
counter check your recommendations against your projects to ascertain the
validity of your recommendations.

Contact Previous Clients


You can either decide to do this formally or informally depending on how
you related with your client.

A recommendation on your profile will add a great deal of


credibility to your portfolio. Recommendations from clients you

2017 Geoffrey Bans www.loudprogrammer.net Page 20


How to Become a $50/Hour Software Developer

actually previously worked with are stronger than those from people who
you didnt work with yet.

How to Ask For a Recommendation


When you need a recommendation from your past client, it is important
that you ask in the right way and at the right time.

You need to be sure that the person who is recommending you for
employment is willing and able to give you a good reference. Thats really
important because your references can be what makes the difference in
getting or not getting a job offer.

When seeking a recommendation, approach clients who will say something


positive about your work ethic.

i. Timing
When a client says he is pleased with your work, use that opportunity to ask
for a recommendation.

Do this promptly after completing the work and after the client has
expressed satisfaction. If you wait too long, such as months or years later, a
client may not remember you and your work performance.

It is easier to craft a great recommendation when everyone is happy and in


a good mood. Besides, this is the golden opportunity when you got their
attention, ask for the recommendation.

ii. Approach
Before requesting recommendations, review your past projects to
determine whom to contact.

If you havent spoken to a client in a long time, call him to re-connect with
him.

If necessary, remind him of the work you did for him and request a
recommendation.

Say why you need the recommendation and why you chose him. You might
say something like:

2017 Geoffrey Bans www.loudprogrammer.net Page 21


How to Become a $50/Hour Software Developer

I would like to display the recommendation on my website.


Your project allowed you to utilize and broaden my skills, or
Working with him was a pleasant experience for me.

If you stayed in touch with the client, you may send him an email to request
the recommendation.

iii. Provide an Outline


Simplify the recommendation process by doing some of the work for your
clients.

Create an outline or draft of the points you want the recommendation


to address.

This saves your client from having to think of what to say. Avoid telling him
specifically what to say about you. Instead, focus on bullet points that serve
as a guide or starting point for what the letter should include.

People dont want to be tasked to think.

If you make the mistake of having your reference to think hard about what
particularly to write, how to write it and whether its what you expect, you
might lose on the opportunity to get a reference.

For example, you might ask:

How would you describe my communication skills?


What part of my service were you most satisfied with?
How did you feel about that change I suggested that resulted in the
project being a success? Lastly, you may ask
Would recommend me to others?

Asking questions will give him a guideline on what to think and probably
write about.

This will ensure that the recommendation is actually useful and relevant to
the job opportunity you are pursuing.

2017 Geoffrey Bans www.loudprogrammer.net Page 22


How to Become a $50/Hour Software Developer

If your client is more friendly then you might consider sending them a
written draft recommendation to consider. If they probably already liked
you much, they will not mind endorsing your draft word for word.

Theyd be happy you saved their time too

iv. Show Your Gratitude


Thank the client for the recommendation to show your appreciation, and
offer to return the favor if they ever need it.

You could send a handwritten thank you note or offer incentives, such as a
credit or discount for each successful client you gain through him. Or you
might send him a small, thoughtful gift.

Phone or email the client periodically just to see how his business is doing.

Writing you a recommendation does not have to mean the end of your
communications for ever.

Your past client might as well directly recommend you for a job at a
company he knows that is hiring thereby even making your job search
easier.

Seek to use every chance to build more trust with you client.

Tips on recommendation
I prefer recommendations from previous clients to recommendation
from people you didnt even work with before
Ensure you have recommendations, or its a vote of no confidence
Include recommendations both on your personal website and on
LinkedIn
Only include 2 4 recommendations, more looks fishy

2017 Geoffrey Bans www.loudprogrammer.net Page 23


How to Become a $50/Hour Software Developer

STEP 5: Send Out Job Applications


If you have come this far, congratulations! This is usually the most exciting
part when getting started as a software developer.

When you look up job vacancies, check out the requirements and
you realize they were exactly a great fit for you. And the company
looking to hire is your favorite brand.

Importance of Sending Applications


Its a way to get noticed
Its a great way to get started
You learn to get accustomed to the process of sending applications,
getting rejected and getting back on the horse.

Start With Your Inner Circle


It is very exciting to go to a site like Indeed.com, look up jobs and start
sending out applications. But wait; there is a better way to do it that will
actually get you noticed.

Before you reach out for the job ad boards, start with your inner circle of
friends, connections and family when looking for a job.

This is the time the connections you made earlier really play a big role.

Check with your connections if they know a startup that is hiring.


Or better still if they know someone who knows some who is hiring. Sounds
funny?

Submitting your resume to a company that is hiring is cool. But what is


really cool is to have your resume submitted by someone who is already
known or has already worked with the company before.

Your application will be considered more favorably than another that was
received from a random person browsing the internet that came across the
job ad in the internet and fired their resume.

You need somebody to speak for you.

2017 Geoffrey Bans www.loudprogrammer.net Page 24


How to Become a $50/Hour Software Developer

Its great to go right away and blow your own trumpet. If anything you
know the skills you claim to have, dont you? But whats really great is to
have someone else sing your praises.

If someone could recommend your skills and competence directly to the


hiring manager, youd look more trustworthy than someone else
who was not spoken for.

Recruiters always have two piles of resumes while recruiting for a position.

The huge pile of applications unsolicited from the internet, and the smaller
heap handed in person by someone they already know or worked with
before.

The smaller pile is considered more favorably!

Check job boards


After checking with your friends and connections, the next place you will
find job opportunities advertised are the job listing sites.

This could be countrywide online listings or listings in your local town,


probably in the physical notice boards.

When you are checking for job openings from websites like Indeed.com and
Dice.com you should know that most of the jobs would require you to
relocate to the specific areas where the company is located.

Check the resources section below for a list of the most popular job boards
for programmers.

So you should be ready or willing to relocate before you start pursuing an


opportunity with a company located in a different city.

If you are only interested in opportunities in your locality then


filter your search results to only show the opportunities that are
available in your local town.

Once you narrow down your search to relevance by locality, check out the
job requirements to ascertain that you have the qualifications required and
are excited about the opportunity.
2017 Geoffrey Bans www.loudprogrammer.net Page 25
How to Become a $50/Hour Software Developer

Job searching is not only about checking if you are a good fit for the
company, you should in turn check if the company is a good fit for you.

Check out for online reviews about the company from sites like
Glassdoor.com and find out what other past employees are saying about the
company. You need to ascertain whether it is a company that values
employee input and respect.

It might not be an ideal company that you would like to work with, but its
better to walk into their doors when you already know very well what to
expect.

Dont get so much lost into finding the best company though because you
might end up with an empty list. Each company has their own share
setbacks and it takes a good employee to be able to bear with the situation.

The companies that might sound ideal for you have a higher
barrier to entry. It might not be easy to secure entry into a junior level
position without someone literally holding your hand for these companies.

Remember you are still a junior, seeking to gain experience.

After a couple of years of industry experience you will sell like hot cake.

Companies will come after you with job offers even before you ask. You will
be spoilt for choice then. You will only have to weigh options, which to
choose from.

But before that happens you have to plead your case so that you are
given a chance to build your credentials and become that developer that
every company would rob the bank to keep.

Always take your time to read a job ad carefully to understand the


requirements fully and any additional information that may be required.

This will also help you when crafting your application to ensure you include
all the information that may be required and that you meet the bare
minimum of the requirements.

2017 Geoffrey Bans www.loudprogrammer.net Page 26


How to Become a $50/Hour Software Developer

In order to increase the chances of your application being successful, check


out the next point.

Connect with an insider


If you already know someone who works at the company where you
submitted your application, this is the best time to get in touch with them if
you hadnt done that already.

You dont have to be pushy, trying to make them get you the job!

You simply want to catch up with them, informing them about your
application and indicating that youd appreciate any help they could offer
you with regards to the application.

Depending on the nature of your connection, you might ask them to do a


follow up on your behalf; to probably check with the hiring department if
they received your application.

Most applications that are submitted online go through resume


scanners and chances that your resume never met a human eye
are very high. Mostly likely it landed into a black hole!

This would be a great chance to find it out.

If not, you might ask them to submit your resume once again on your
behalf.

A resume that is submitted by one of the company staff might be regarded


more favorably than that from a complete stranger.

An employee probably already knows the company culture and would only
recommend someone they think would be a great fit for the company
culture.

Besides, when you are brought in by a third party, then the third party is to
be held accountable besides you when something goes wrong.

This tends to give the hiring manager more confidence when hiring than
when they have to hire a complete stranger with nobody to be responsible
for them.
2017 Geoffrey Bans www.loudprogrammer.net Page 27
How to Become a $50/Hour Software Developer

Just one of the employees walking in and asking the hiring team about your
particular resume draws much attention to your case. Your resume might
be fetched from the bottom of the heap and brought to the top for
consideration.

They want to find out whats special about you that your buddy had to come
in and ask them specifically about you.

You might not be the most brilliant developer, but at least your resume got
some attention now. 90% of applications are never seen by a human eye.

Follow up
After you send out applications to a number of companies, probably you are
not going to hear back from any of them. If you get a response it might be a
nicely formatted rejection email.

This is the time you want to check back with them to see if they really
received your application.

They definitely received your application but asking if they really received it
is a polite way to start a conversation. These accounts usually get
bombarded with email and its easy for your email to get lost in the noise,
the crowd.

Many a time a follow up email has evoked a positive response from the
company.

Some companies are like Do you really want our job?

If they are this type then you most likely will receive a positive response
once you follow up.

Dont follow up after 3 days of sending in your application. It appears


pushy, which is a major turn off. An ideal time to follow up would be after 2
weeks from the time you handed in your application.

Dont get offended if a company does not respond to your email even after a
follow up.

Sometimes it just happens like that.


2017 Geoffrey Bans www.loudprogrammer.net Page 28
How to Become a $50/Hour Software Developer

Dont put too much thought into it. Companies are always bombarded with
100s if not 1000s of applications for every single position they advertise so
they are usually overwhelmed.

This is a strong reason why I stress the importance of having the right
connections or network to help you in your job search.

It just boils down to reason. Would you trust an application from someone
from the internet who you didnt meet before or an application that was
submitted by someone you know in person?

Hiring is a tedious and costly process and companies are trying to play safe.

In some instances companies advertise job opportunities just for formality


then they hand pick a developer from within the company for a promotion
to fill the position.

Dont lose hope. You only need to succeed once. You only need to nail
one job and your title changes from Unemployed to Software Developer.

After you have garnered some years of experience your portfolio or resume
will speak for itself and you will be able to find your way into other
companies without necessarily needing a helping hand.

But when you are just starting out, when you are a junior software
developer without industry experience, having the right connections will
play a great role in making your job search a success.

Application tips
Only apply for positions that are relevant to your level of experience.
A position that needs a senior simply needs that. Its not a typing
error.
Dont send out 100 applications on one afternoon. Consider at most 5
applications per day
Be consistent in your job search, check out for new opportunities
daily
Only apply at companies where you are ready & willing to work at

2017 Geoffrey Bans www.loudprogrammer.net Page 29


How to Become a $50/Hour Software Developer

STEP 6: Interview
Youve now gone through all the difficult parts

Learned how to code


Networked and made connections
Built your portfolio
Collected recommendations
Sent out applications

Luckily you have now landed an interview.

This could be your moment of glory!

A chance to speak for yourself in front of a hiring manager, a chance to


convince them why failing to hire you would the biggest mistake they made
to their own business.

How you perform at the interview would determine whether you


are hired or not.

Many people overthink the interview process and approach it feeling


unprepared and nervous. Confidence is key to having a successful
interview, even if you dont have all the skills required.

Depending on the company and their protocol, you might have between 1 to
a couple more interviews before you finally got an offer.

I am particularly not a fan of a long series of interviews. After 2 or 3 rounds


of interviews Ill be able to know if its prospective or its a waste of time.

The more the interviews there are, the more people drop off on the way.
Dont be too scared to drop off if you believe the interview is headed for a
dead end. I have had to take this decision many times and it saved me a lot
of time.

Dont just attend an interview to see if you are a good fit for the company,
interview as well to see if the company is a good fit for you.

2017 Geoffrey Bans www.loudprogrammer.net Page 30


How to Become a $50/Hour Software Developer

An interview might begin with an acceptance email, then phone screening


to assess your language ability, then either an online or onsite interview.

Often than not this might follow with a technical interview if you passed
some of the previous tests.

Do not accept to take a technical test before a company actually


gets on the phone with you to show their interest in you.

Some startups would just throw a technical test at you just because you
applied for their job.

Dont take the technical test if a company does not respond to you first with
a strong message to show their interest in your skills or does not take their
time to even talk with you.

This shows that they dont value your time.

But if you think the test is fun, will help you learn a new skill or two and you
dont care whether you pass the interview then just take it home and do it at
your pace.

Acceptance email
This means the hiring manager is impressed with your portfolio and thinks
you could be a great fit for the position they are looking to fill.

An email that acknowledges receiving your application and favorable


consideration of your skills follow.

This is quite encouraging, especially if what you have been receiving is


a series of rejection emails.

Usually the acceptance email would also be asking for your availability for a
call with the Lead Developer, CTO, HR, Hiring Management or Owner of
the startup depending on the companys staffing pattern.

This is the email you want to respond to in time. If you take too long to
respond it might have a negative outlook.

2017 Geoffrey Bans www.loudprogrammer.net Page 31


How to Become a $50/Hour Software Developer

But you dont have to be hurried. Take your time. If you are on the bus,
relax. Wait till you get off the bus and you are settled in some suitable place
and then craft your response.

Dont send a reply from your phone!

Phone Screening
Things are getting a little more serious now, huh!

Someone is picking what you are doing. They think it would be awesome
working with you so they embark on the journey of wanting to know you
more.

They then would like to know a little more about you.

Your language ability


Your availability
Your communication skills
Your enthusiasm

This is not as hard or as complicated, usually the call lasts for 10 15


minutes.

Online interview
Sometimes instead of a phone screen they will schedule an online interview.
In some cases both might be used.

The online interview is different from the phone screen in that it will be

more detailed,
might last longer and most likely
will be conducted by a more technical personal

in order to assess some of your technical knowhow.

There would be no coding, just questions.

Physical interview
If all goes well over the phone, the hiring team might be excited about
meeting you in person.
2017 Geoffrey Bans www.loudprogrammer.net Page 32
How to Become a $50/Hour Software Developer

In the event that you are applying for a remote developer position, a
physical onsite interview might not be necessary. However, if it is
recruitment for an in-house developer then a physical interview
would be mandatory.

This is where your dressing style would come into play.

The way you dress will speak much about you, to the prejudice of many.

Technical interview
This is where your specific technical skills and ability will be tested.

Most developers get intimidated with the technical interview.

The whole of your life as a programmer you havent had to write code while
someone was watching every single thing you were doing and requiring you
to speak it out loud to them.

The technical interview can be a terrifying hurdle between you and your
dream job. But dont fearjust get ready to show off your skills.

Technical Interview tips

i. Practice
Before your interview, start preparing.

Working through a preparation book will not only refresh your algorithms
and data structures knowledge, but itll also put you in the right problem-
solving mindset.

Most importantly, pick the right preparation book for your level and interes
ts.

I personally use and recommend Codility.com to brush up my algorithm


and problem solving skills.

Its a free tool with a great number of questions that help you improve your
algorithm skills because it runs your code against different environments
and test cases and gives scores based on the efficiency of your code.

Practice Makes Perfect.


2017 Geoffrey Bans www.loudprogrammer.net Page 33
How to Become a $50/Hour Software Developer

Practice beats panic. So start white-boarding whenever you can, even with
really small problems.

The more comfortable you are with marking up that blank board at home,
the less hesitant youll be at the interview.

ii. Get Some Sleep


Yes, get some sleep.

There are few things that will throw you off your game like sleep
deprivation. Its comparable to showing up drunk.

If your portfolio is quite interesting and you are actively looking, you will be
lucky to have a couple interview invitations at once.

When youre scheduling interviews, be sure to leave at least a couple of


hours in between each one.

Any time I had multiple interviews in a day, I didnt perform as well as I


could have. I either worried about getting to the next one on time or I was
preoccupied by the fact that I had already maxed out my logic hours before.

Ideal, I would only take one interview a day.

In some instances the outcomes from the previous interview may not be as
positive. This might rob you of the enthusiasm and energy to face you next
interview, if there was no significant break in between.

iii. Ask Questions


When youre presented with a problem, think it through and make sure you
fully understand what youre being asked to solve.

If anything is unclear, ask questions early enough.

If there are edge cases, for example, ask how your interviewers want them
to be handled.

Ask something like: Should I throw an exception, break out of a loop or exit
code execution altogether?

2017 Geoffrey Bans www.loudprogrammer.net Page 34


How to Become a $50/Hour Software Developer

Ask questions to understand what the interviewers are looking for and what
your constraints arefor example,

Is there a specific language youd like me to give you my solution in?


or
Can I assume I have access to any Java library?

And dont make assumptions. Even if youre pretty sure its safe, mention
out loud what it is youre thinking so the interviewers can let you know if
youre missing something.

iv. Take Your Time


Once you understand the question youre being asked, dont be afraid to
take a minute to think and process before you start solving the problem.

As long as you arent being bombarded with quick, knowledge based


questions, pausing after being asked the question is a good thing. Of
coursemake sure youre not taking 10 minutes to solve it in your head
without saying a word!

The point is to use your time up front to structure your approach, not to try
to write all the code in your head before you touch the marker to
whiteboard.

Think about the big picture of the problem first. Its fine to pseudo-code the
overall structure, as long as you tell the interviewers thats what youre
doing and that you intend to go back and actually code it later.

Its a good way to offload the organizing of the problem so your brain has
more room for processing. This will also help if you run out of time in the
end the interviewers will at least know how youd planned to finish out the
task even if you didnt get to the details.

Dont worry at first about finding the most efficient way to solve the
problem, unless it naturally pops into your head.

Nail a less efficient solution, and then discuss why its less than ideal. Then,
if you have time or see a better way to solve it, move on to a more efficient
algorithm.
2017 Geoffrey Bans www.loudprogrammer.net Page 35
How to Become a $50/Hour Software Developer

Even if all you have time to do is finish your less efficient version and then
explain how you would do it better, thats just as great an answer.

v. Talk It Out
Most importantly: Talk.

Bring your interviewers along with you in your problem solving.

This can be as simple as outlining what youre about to do when youre


doing it (So, Ill need a forloop to iterate through all the items in this
list).

Talking through your thought process gives your interviewers a window


into how you think, and thats ultimately the point of the interview.

Even if you think your solution is amazing, its better for them to know how
you approached the problem and got to your answer than to see the full-
fledged answer and not have a clue about what led you there.

It also gives the interviewers a chance to help you along if youre stuck or
going down a path thats a dead end.

vi. Have Fun


The fact that you are job hunting together with the thought that you might
lose the job if you dont nail the interview makes most developers go
through technical interviews feeling the pressure, as if it was a matter of life
and death.

Well, I dont think so.

This makes you to forget about the most important experience for yourself
the learning and the fun involved.

Failing to get the job wont necessarily mean you failed the interview
different companies use different metrics to gauge a successful interview.

Failing an interview doesnt necessarily mean you are a bad programmer as


well. Remember the opportunity will most likely be for one developer so
even if you were 10 awesome geeky coders, only one will have to be chosen.

2017 Geoffrey Bans www.loudprogrammer.net Page 36


How to Become a $50/Hour Software Developer

Hopefully, you will learn something new in each interviewyoull acquire a


new idea or new tool, or get some insight into interesting products and tech
nology.

The more you think about your interviews in this way, the more valuable
that time will be to you in the long run.

2017 Geoffrey Bans www.loudprogrammer.net Page 37


How to Become a $50/Hour Software Developer

STEP 7: Perform
Build things
Being a software developer is about building things.

You develop them. You conceptualize an idea, lay out a prototype, road-
map and make it happen using code.

For you to be successful as a software developer, you should have a strong


desire to build something. You should enjoy the process of getting
something to work.

In your entire practice you are either going to be

Building products from scratch or


Maintaining & debugging what was built by somebody else.

If you dont find fun in getting stuff to work and then putting it in the hands
of people, your profession as a software developer will suck.

Embrace team work


You will be learning a great deal from your peers

Invite other members to work with you on your project.

Trying to go it alone will pile pressure on top of your head.

If you always want all the credit for yourself, your job will not to be fun.

You might be overwhelmed or fail to deliver in time and put your job at
risk. I always wanted to do everything by myself in the early stages of my
career and its a path I dont frequent anymore.

Well, building something by yourself from scratch is always fun and a good
learning opportunity. Most libraries have all the functionality and
abstracted such you cant really get to know whats going on under the
hood.

If you can rebuild it all ground up, youll unearth all the mysteries.

2017 Geoffrey Bans www.loudprogrammer.net Page 38


How to Become a $50/Hour Software Developer

However, if I am working on a time critical application, Id rather use a


readymade library or framework if its available most like it will. Just
search it on Google.com

If you want to succeed you should be open to learning from


others. Depending on the size of your company and the budget, you
might not be able to work as a team on a project.

That doesnt mean its the end of the world for you.

Consult with your peers when you are stuck.

I use QA sites like Stackoverflow.com and see if there are similar solutions
to my problem. What I mean is, make your life easier in every way possible.

Accept Criticism
This is not too often, but many a times your code will be taken for review.

Remember that this is about you and your career, not about the reviewers
and their ego.

If you take it too personal, then youll probably to get hurt. Taking
offense will hurt your chances of being happy at your job and your chances
of growing and getting better too.

Look for something positive in the negative review from the panel room.
Instead of asking why the reviewer thinks you are stupid, consider
correcting the mistake they mentioned.

If its got to do with indentation or variable naming conventions,


whichever, make it right.

It is important to note that no code is ever perfect.

That is the main focus of this point. Take criticism positively. Dont let it get
into you.

As much as you will try to write perfect code it will never be.

Somebody will still find something wrong with it, probably even you. Pay
attention to the standards but dont head for perfection. Its not worth it.
2017 Geoffrey Bans www.loudprogrammer.net Page 39
How to Become a $50/Hour Software Developer

Conclusion
There is no magic push button to getting ahead in your career as a software
developmer.

However, with a proven strategy executed with diligence, advancing in your


career will be an easier and fun experience.

Often than not you will have to put in the hours of hard work, but
consistency is key to getting the doors open to you.

I hope this guide has helped you to create a plan and has given
you some actionable steps that will make a big difference to your career
and happiness.

By following these steps, you will better your skills, expand your network,
grow as a person, reach the audience you were meant to serve and grow
your career.

Do you find it difficult or overwhelming seeing how all this fits into a
strategy?

Or you are wondering how you could implement this particularly for your
case to take your software career to the next level?

Id be glad to learn about where you currently are at in your software career
and see if we can work together to make it a success.

Reach out to me via email at bansgeoffrey@gmail.com

Success!

2017 Geoffrey Bans www.loudprogrammer.net Page 40


How to Become a $50/Hour Software Developer

About Geoffrey
Hey, Im Geoffrey. Im a software
developer, writer, author, Udemy
Instructor and creator of the Gliver
Framework

Been actively programming since 2009


and have had my share of success and
failure. I enjoy coding apps from scratch,
networking and meeting new
professionals; mentoring budding
programmers and helping them get started
with their careers in software development.

If you received this report from a different source, be sure to visit


Loudprogrammer.net/reports and download this book by subscribing to my
email list. Ill periodically send you some great and more up to date
learning resources to supplement the contents of this book on a weekly
basis.

Stay tuned to my weekly newsletter to get access to my Introduction to


Programming in (insert you language here) video courses series to keep
your skills growing.

Be sure to check the resources sections below for links to materials that can
help you learn to code and advance in your career.

Follow me on Twitter @geoffreybans

Here is to your success as a software developer.

- Geoffrey Bans

Happy Coding!

2017 Geoffrey Bans www.loudprogrammer.net Page 41


How to Become a $50/Hour Software Developer

Resources
Programming Courses Programming Books

1. TeamTreeHouse.com 1. The Gang of Four


2. InfiniteSkills.com 2. PHP The Right Way
3. Udemy.com 3. The Missing Manual Series
4. CodeAcademy.com 4. Sams Teach Yourself Series
5. Linda.com
Question Answer Sites
6. Coursera.com
7. Skillshare.com 1. Google.com
2. StackOverflow.com
Websites for Networking
Developer Productivity
1. LinkedIn.com
2. Xing.com 1. GitHub.com
2. Codility.com
Freelance Websites

1. Upwork.com
2. Freelancer.com
3. Guru.com
4. Toptal.com

Job Listing Sites

1. AngleList
2. Stackoverflow.com
3. Indeed.com
4. Dice.com
5. RoRJob.com
6. Larajobs.com
7. Python.org
8. Flexjobs.com
9. LinkedIn Jobs
10. Hired.com
11. WeWorkRemotely.com

2017 Geoffrey Bans www.loudprogrammer.net Page 42

Vous aimerez peut-être aussi