Programming is a diverse field and it keeps growing with upgraded versions of computer languages. Every year several new development frameworks and tools surface, while many older ones drown. So my first question is that why do you consider yourself a competent programmer how are you eligible to be hired by any kind of IT agency? Is it because you have a 4-year computer science/software engineering degree?
Undoubtedly, having an authentic university degree is a great start, but most of the time it’s barely enough. The exceptions are graduates from top tier schools in the world; I’m talking Harvard or Stanford level. Scoring straight A’s or a distinguished GPA (gold medalist status) can also help your chances of being hired by an accomplished organization.
On the contrary, the competition in this field is fierce and there are millions out there possessing a similar degree as yours. How will you stand out or prove you’re better than the rest of the candidates in the same waiting room, competing for the same position. Now getting to self taught developers, does it make you nervous that you don’t have a degree? Fortunately, unlike the majority of other jobs, developing skills are not dependent on a college degree.
The only thing that can actually prove your skills and make you a viable candidate is an impressive portfolio. When IT agencies post jobs, the one thing they all emphasize on is experience. Connecting the dots, when you work you get experience and your experience builds your portfolio. Then where do fresh graduates or self taught beginners run to? They have never worked, so how come they’ll ever be considered for a job that demands 2 to 5 years of experience or a valuable portfolio?
Working does not mean that you go to an office, do IT stuff 9 to 5 and get a fixed salary for it. There are a number of ways to get experience and build your own portfolio. In your free time you can plan and execute your own projects. Build a website or make an app about anything – just for the sake of practicing and sharpening your skills. Once you feel that you can really do this then start with an unpaid internship at some small startup in your locality. Don’t expect to be directly hired by a top-notch globally renowned corporation. It’s essential to be slow and steady to win the race.
Taking up freelance projects is a great way to start your career. You can easily acquire them by placing the lowest bid. When you’ve successfully completed a bunch, people will prefer to hire you even at higher bids. Remember that it’s not about making money at a beginner’s level; just concentrate on that beautiful portfolio you’re putting together. When you’re an intern, make sure that you get involved in real work instead of undertaking chores of a designated office boy. Sometimes this could mean staying overtime at workplace without any benefits. However, if you prove your capability during this time period, you could land a real job right there that pays all your bills. Becoming a successful programmer is all about passion and dedication. You will have to make sacrifices…
Polishing skills requires loads of practice which needs an abundance of time. You will simply have to let go or greatly minimize your ‘fun time’. I’m not saying to cut the cords for good, yet extended isolation can be helpful. You will have to free yourself of distractions if you want to convert your Programming dreams into reality. You can start by slowly reducing the time you spend on other activities. If you go out with your friends everyday, make it twice a week; if you watch 3 hours of Netflix everyday, make it 2 hours and watch it on alternate days. The key is to keep in touch with programming everyday. Say you’ve finished a project after literally being glued to your room for days, treat yourself with an all-fun no-code day; then resume the following day.
There are a lot of things to choose from and learn in the IT industry. Do your research right and know what’s in demand. First, you should be clear about what you want to do – do you want to be a front-end or back end developer, do you want to make websites, mobile applications, design games or something else? Study and master tools that are relevant and popular in your favorite line of work. Although it’s great to learn multiple computer languages and work with a variety of frameworks, having too much on your plate can be overwhelming.
It’s best to master a few things first and then experiment with miscellaneous. Employers might be impressed seeing that you have so much going on, but their high expectations in the future could crush you. Do you want to do the job of five people with tight deadlines? I don’t think so. Projects either big or small, they say a lot about your style and capacity. Different companies are looking for different things i.e one person’s trash is another man’s gold.
When going for an interview at an agency or even a job fair, keep in mind that presentation and confidence is the key. You should take a shower, wear your most decent outfit and be yourself. Look up the common questions employers ask programmers during interviews and prepare your answers. Keep talking while the person before you goes through your resume, and generally just highlight your strong points. If they interrupt you or ask an unexpected question, answer calmly and say the most appropriate thing that comes to your mind. Just don’t panic or stammer even if what you’re telling them is completely off the subject.
Another way to expand your portfolio is ‘blogging’; share whatever you learn. The ability to write good and nicely explain your experiences is appreciated by the developers’ community. If writing is not your thing, you can also make video tutorials and post them on YouTube. What you share with the world, can help a lot of people like you and get you recognized if your stuff is any good.
Do what you can to spread your name and talent. Join multiple programming communities and contribute to open source projects whenever you can; GitHub is a great platform for such opportunities. Create profiles on all the leading social media platforms. Share photos of your work on Instagram, tweet about your projects and share links – just get your name out there. You may even create a personal website for yourself where you can showcase your entire journey as a developer.
Keep expanding your network. Make friends on online platforms, keep in touch with past employers\educational institutions and tell people what you can do even if they don’t really know much about programming. You never know where a great reference may sprout from and get you your next big gig!