Are you a confused developer?
By confused I do not mean a developer who scratches his head for answers to complex programming problems on StackOverflow or Quora. In this scenario, the developer actually knows what needs to be done. He has an absolute idea about the problem.
My idea about a confused developer is a lot generic. Answer the following questions.
- Do you feel like being in the middle of an ocean of languages and frameworks or more generically technologies?
- Do you find difficulty in choosing the right tools before you write even a single line of code?
- Do you become restless and depressed when you see others at your workplace or friends’ list doing a lot but you are not?
- Do you feel unhappy about going to your office and work on whatever shit you are asked to do?
If majority of your answers are “YES” then congratulations! you are in the “Confused Developer’s” club. Now the question..WHY?
The answer is we are humans. We think, behave and react. We fight for survival and they say, to survive in IT industry, you need to be updated with virtually every other technology that’s out there.
Everyday when you learn something you gradually start filling up the stack of your brain. With time, even for a small problem, you find yourself diving into the ocean of language / framework -options rather than actually factoring and analyzing the problem. Finally instead of coming up with some solution, you come up with nothing. Reason – a lot of options create confusion ( although it blesses you with control, but still).
As a solution, I am not gonna advice you to meditate :P. You doctor is “basics“.
- Think about the problem at the very first step. Chop a complex problem into small bits of individual problems and analyze them.
- Choosing the technology is the second step where you think about the needed performance and ease which comes from the analysis in step one.
- Next you find the initial solution and implement it. It does not have to be perfect. It should work and that’s what going to boost confidence in you. With time it will become a better solution.
The last two problems that I have mentioned are more about career options. In India, be it the quality of education or the downfall of economy, candidates choose jobs more based on “packages” provided by companies rather than the scope to learn. Some choose it just because of the company brand. Some choose it just because people call them unemployed. Some choose it just to… choose it; no particular reason.
Whatever it may be, the end result after sometime is disappointment at workplace. You get annoyed ‘coz you don’t understand whats going on and more importantly why.
Choosing the right job is kind of a mission. You do a self-analysis and find out your strenghts. You sharpen your skills and then make a strategy to target all those companies which allow your thoughts to flow smoothly.
That said, finding a job like that is a real tough job again. But you don’t need superhero powers for that. All you need is knowledge, expressiveness, confidence and yes! SAMPLES!. Having a good GitHub or StackOverflow profile can be of great help.
Also make time for personal projects that may or may not be from your core background e.g. DIY with Raspberry Pi or Learn how to create an Android App etc. If you like those you may even find a job that does not suck! and is far more interesting.
Who does not like to get paid for doing what they like? eh?
That being said, everything needs time and practice. Becoming a developer is not like becoming an overnight hero. Its more like becoming a ninja that asks for dedication and determination. So!, lets dig in!