How to Become a $50/Hour Software Developer - Loud Programmer

10 downloads 335 Views 871KB Size Report
When you're just getting started as a junior developer, it seems like it's impossible to break into the ... to networkin
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 you‘re just getting started as a junior developer, it seems like it‘s 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 [email protected]. 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 didn‘t 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 couldn‘t 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 people‘s 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 don‘t 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 don‘t 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 don’t 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 selftaught with no degree and no experience. There is no shortage of universities or colleges where you could go and study. So identifying a school won‘t be a problem for you. From my experience it doesn‘t 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. You‘ve 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 you‘d otherwise have to spend if you went the traditional way of a college degree. If you teach yourself how to code, you probably won‘t 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 instructor’s 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. It‘s 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 don‘t 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 won‘t benefit you much if you don‘t have the skills required for the job in the first place. So you‘d 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 don‘t 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 Don‘t 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 wouldn‘t 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. It’s 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 you‘d 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  Don‘t be pushy, relationships need time to grow  Don‘t appear so needy when making connections, it‘s 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 don‘t suggest that you begin contributing to other people‘s 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 selftaught 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 people‘s 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 don‘t 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 you‘ve 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 don‘t 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. Don’t 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! Don‘t take on so many projects for free, lest you be known as the guy who works for free. I‘d 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 won‘t prove your point. A potential employer will still need to see your experience in iOS. ii. Check with local businesses Sometimes you just don‘t 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. That‘s 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, don’t seek to work for free. It set‘s 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. 2. 3. 4.

By improving the software documentation By translating the documentation to your first language By participating in software testing 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  Don‘t 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 it‘s 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! It‘s time for you to start thinking of looking for a real job, right? Isn‘t that your ultimate goal? Well, hold your horse we are almost there. It‘s 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 didn‘t 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. That‘s 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 haven‘t 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 don‘t 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 it‘s 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. They‘d 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 didn‘t even work with before  Ensure you have recommendations, or it‘s 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  It‘s a way to get noticed  It‘s 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 It‘s great to go right away and blow your own trumpet. If anything you know the skills you claim to have, don‘t you? But what‘s really great is to have someone else sing your praises. If someone could recommend your skills and competence directly to the hiring manager, you’d 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 it‘s better to walk into their doors when you already know very well what to expect. Don‘t 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 hadn‘t done that already. You don‘t 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 you‘d 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 what‘s 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 it‘s 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. Don‘t 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. Don‘t 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 Don‘t put too much thought into it. Companies are always bombarded with 100‘s if not 1000‘s 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 didn‘t 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. Don‘t 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. It‘s not a typing error.  Don‘t 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 You‘ve 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 don‘t 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 I‘ll be able to know if it‘s prospective or it‘s a waste of time. The more the interviews there are, the more people drop off on the way. Don‘t 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. Don‘t 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. Don‘t 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 don‘t value your time. But if you think the test is fun, will help you learn a new skill or two and you don‘t 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 company‘s 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 don‘t 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. Don‘t 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 haven‘t 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 don‘t fear—just 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 it‘ll also put you in the right problemsolving 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. It‘s 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 you‘ll 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. It‘s 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 you‘re 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 didn‘t 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 you‘re presented with a problem, think it through and make sure you fully understand what you‘re 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 are—for example,  Is there a specific language you‘d like me to give you my solution in? or  Can I assume I have access to any Java library? And don‘t make assumptions. Even if you‘re pretty sure it‘s safe, mention out loud what it is you‘re thinking so the interviewers can let you know if you‘re missing something. iv. Take Your Time Once you understand the question you‘re being asked, don‘t be afraid to take a minute to think and process before you start solving the problem. As long as you aren‘t being bombarded with quick, knowledge based questions, pausing after being asked the question is a good thing. Of course—make sure you‘re 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. It‘s fine to pseudo-code the overall structure, as long as you tell the interviewers that‘s what you‘re doing and that you intend to go back and actually code it later. It‘s a good way to off­load 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 you‘d planned to finish out the task even if you didn‘t get to the details. Don‘t 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 it‘s 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, that‘s 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 you‘re about to do when you‘re doing it (―So, I‘ll need a for­loop to iterate through all the items in this list‖). Talking through your thought process gives your interviewers a window into how you think, and that‘s ultimately the point of the interview. Even if you think your solution is amazing, it‘s better for them to know how you approached the problem and got to your answer than to see the fullfledged answer and not have a clue about what led you there. It also gives the interviewers a chance to help you along if you‘re stuck or going down a path that‘s 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 don‘t 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 don‘t 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 won‘t necessarily mean you failed the interview – different companies use different metrics to gauge a successful interview. Failing an interview doesn‘t 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 interview—you‘ll 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, roadmap 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 don‘t 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 it‘s a path I don‘t 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 can‘t really get to know what‘s going on under the hood. If you can rebuild it all ground up, you‘ll 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, I‘d rather use a readymade library or framework if it‘s 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 doesn‘t mean it‘s 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 you’ll 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 it‘s 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. Don‘t 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 don‘t head for perfection. It‘s 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? I‘d 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 [email protected] Success!

©2017 Geoffrey Bans

www.loudprogrammer.net

Page 40

How to Become a $50/Hour Software Developer About Geoffrey Hey, I‘m Geoffrey. I‘m 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. I‘ll 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 1. 2. 3. 4. 5. 6. 7.

Programming Books

TeamTreeHouse.com InfiniteSkills.com Udemy.com CodeAcademy.com Linda.com Coursera.com Skillshare.com

Websites for Networking

The Gang of Four PHP The Right Way The Missing Manual Series Sams Teach Yourself Series

Question Answer Sites 1. Google.com 2. StackOverflow.com Developer Productivity

1. LinkedIn.com 2. Xing.com

1. GitHub.com 2. Codility.com

Freelance Websites 1. 2. 3. 4.

1. 2. 3. 4.

Upwork.com Freelancer.com Guru.com 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