Here you are again, solving another tough question in your life. Currently asking: “how can I shift from QA to developer job ?”, tough one, right?
Right now, you are probably a skilled IT veteran. You already solved a question about university few years ago. You’ve done your part in your first or second job already. But you are not not satisfied … You are not satisfied with your life, because you are feeling empty and bored.
You are questioning yourself
Every morning you get up. Go to work for half an hour or more. After you come to the office, you grab your cup of coffee and check emails. If you are lucky, that day is without meetings and your daily standup lasts like only 20 minutes. Then you sit down and test. Oh, I forgot – before that you spent like an hour or two preparing the environment for that. Because it broke day before.
Now, after few hours of setting vms and servers all over your place you actually start testing. You’d like to write a automated test for a feature but you can’t. There are priorities and only a little time. So you test … Manually.
You are asking yourself – is this all I’ll do in my life? This is why I spent like X years studying at university? To fill another test case? To do a monkey job?
All you wanted was to be creative
Do you find yourself in that description? Why are you doing that job of yours? Do you feel empty every day, feeling guilty for some unknown reason? Are you procrastinating a lot to shut down that feeling?
When you were young, you were programming. You had that cool feeling after some hard problem was solved. Your focus was ultra sharp. You were happy. You were creative. But something went wrong. You’ve stopped.
It’s not about a shift from QA to developer
You see a shift from QA to developer will surely help. But the problem is that you’ve stopped to be creative. You allowed to ruin what made you a programmer in the first place.
I’m not saying that QA job is not creative. But if you are asking how to become the developer, your job surely isn’t creative. And there is no one to blame but yourself. Because you allowed to make it happen. But these are excellent news for you at the same time. Shift from QA to developer will boost your creativity for sure.
Start with small things
Use KISS principle for everything. Starting with the most simple choices in your life. If you are watching 3 hours of Netflix every day, what about reducing it? Make it 2,5 hour. Now you have 30 minutes of free time.
What can you do with 30 minutes of your time? Well, what about starting a new project you always wanted? According to my own self-observation a motivation is key to success. When I feel exhausted and without any energy to start a new project, or continue with existing one, I just sit and motivate myself.
Whole process is quite easy to do, but you have to be a little open-minded though. Just close your eyes, set timer for 10 minutes, breathe in a way, that your belly is moving. Be sure that you are sitting straight and during breathing your shoulders do not move an inch. You really need just breathe with only your belly moving.
After few seconds your mind will cool down and you will be more focused. Now fun begins. Just think about the project you want to do. Maybe some old game of yours. New language to try or finally make that plugin you really can’t find for the chrome.
The key part is that you imagine yourself very vividly. How you sit down and start PC. How you are happy during the programming. How awesome the project is. How many users it has. You can add sounds and smells into it. See the colors around you, smell the coffee you drink. Feel its warmth and taste in your mouth…
It will be probably quite hard at first, but do not give up. After a minute or so it will be much easier.
But how does it help to shift from QA to developer?
You have to find your creativity at first. This will help to start the fire in yourself. Fire, that will actually bring that razor focus during programming. That happiness when you are doing something on your own and nobody else talks into it.
Now you have 20 minutes to spare. Ready to start that project of yours?
Hey Lazy Programmer, that is nice … But I still don’t get it.
We are talking about simple NLP technique here. You are programming yourself to success.
But wouldn’t it better just … start immediately?
Didn’t you do it before too? Wasn’t your result the same?
Well yeah, but how I can tell this will work?
Nothing is for sure pal, only death and taxes.
That is not very reassuring ….
If you do something 100 times in the same way, and you will fail 100 times. What makes you think 101 attempt will work?
This way, you are changing how you approach the core of problem, not symptoms.
This process is the most simple one I found working. It is quite similar of goal definition described in few famous books. One of these is from Napoleon Hill called Think And Grow Rich: The Secret To Wealth.
The key is to be consistent and be very specific with a definition of your goals. This works for everything. From sports to wealth management. And also for lucky guys like you, trying to be more creative.
I can’t really express how important this is. The whole point of success and happiness as a programmer. Be sure to check that book, it will boost your path. That shift from QA to the developer will be much easier.
Ok, now I’m motivated, what now?
There is multiple paths for you. As a developer you have better opportunity for remote jobs or freelancing. The scope of own business is for different blog post. But hey, let’s say you are switching the company now. And you know … there are these scary nasty interviews for you.
How to pass a developer interview
Generally there are two types of interview. You are trying to get a job in a corporate(Google? Anyone?) or startup-ish like company. This way the process is mostly divided into two categories. Corporates usually use algorithms to check you out. I totally can’t stand that but that is for different post. And for startups – these checks your portfolio.
Passing interview for a corporate.
Be sure, you check all neat tricks for a specific language for a role you are trying to get. Like memory management, syntax tricks how to package the final app and distribute it. And at last but not least algorithms. And no, you do not have to go to university to pass it as a top notch programmer.
If you do not have an university background or it is long a time ago you implemented your own uber-cool quicksort like sorting, be sure to check out “Grokking Algorithms: An illustrated guide for programmers and other curious people“
This little fella will help you shift from QA to developer in no time. It is an excellent way how to introduce yourself wide variety of algorithms without the actual pain of learning them. Book makes an excellent way of explanation of difficult concepts with ease. Also pictures with real life usage examples boost your knowledge to new levels.
For the big ones ….
If you’d like to check out companies like Google or Facebook you will probably need much bigger focus on algorithms. There is lot of books on this topic and I personally go with the mainstream here for the pick – Cracking the Coding Interview
This book is huge. I mean really huge. When I bought it I really didn’t expect to be so heavy either. It has everything in it. From the topic: “how to behave on an interview” for the actual questions. But be prepared, most of them are actually quite hard. It also explain solutions but compared to
Grokking Algorithms, these are much more school like. If you are aiming for a classic secure job of a developer these two books will help you immersively.
Passing interview for a startup.
You see, there can be variety of startup-ish companies out there. These are most of the time short on people (as almost all IT companies). Also pay is usually not so big compared to corporate ones. So their access levels are based on different principles. You probably won’t be solving some tree related problem on the table, because you will be asked to write something in React, Vue or XXX.
The interview is done in a form where you discuss the actual technology. Of course, neat tricks in your particular language are mandatory too. There is possibility of some simple questions like quicksort though. Grokking Algorithms will be sufficient for sure for these.
Generally, these needs from you to generate cash flow asap, because they don’t have the big safety budget of corporations. If you are really an entry level – little experience and no real projects – you still have a solid chance.
Finale – shift from QA to developer
The best way is to try both. For the first one be sure to focus on algorithms. For the second one on your own portfolio. In both cases you need to know your stuff in a particular language and technology.
But remember to fire your creativity every day! Be consistent. The role change alone will help, but the symptoms won’t disappear. You are must be accountable for your own happiness.
if you wonder who I’m, check my about page