How is it possible that a young, promising programmer with an extensive technical knowledge and a lot of pull can't make it to the next level of IT career? It turns out that next to external factors (chance events, difficulties independent of developer) the programmer himself can become an obstacle on the way to his career. Young developers tend to perpetuate professional sins which make it impossible to convert from uncertain „promising programmer” to well-founded position of the IT specialist.
In the music industry, you can be either a rock star with a mass of fans or a solid musician playing to the chop. The same applies to IT – you can be a great programmer with a well-known brand or a coder crouched behind his desk given only dull and non-challenging tasks.
According to estimates provided by Evans Data Corporation currently, there are 5.5 billion programmers under the age of 30 around the world. Of course, it's hard to predict how many of them are promising, but one thing is sure – not all of them will get to the top of IT career. Many of them will fall on their programmatic path, and as a result, they won't be able to get a dream job even though finding any job at all will be possible. But any job at all is certainly not the same as the dream one. Below you will find five sins which are likely to stop a promising developer's career.
Lack of career development
Nothing puts a stop to a programmer's career like the lack of career development. We know, there are lots of guides and pseudo-guides filled with truisms and stupidities regarding the importance of self-development but some of them make sense: investing in your career's development and expanding your knowledge are essential for any programmer. IT is an instantly changing industry. Anyone who's not paying attention will be left behind and forgotten. Every day there are new solutions, frameworks, and tools being introduced. And you simply have to know them if you want to become a great coder. Many programmers are aware of this.
Developers who took part in a survey conducted by Stack Overflow admitted that 90% of times they expand their knowledge on their own using official documentation (82.2%), data found on Stack Overflow (80%) and books (56.3%). Taking part in stationary and online courses is another popular way of extending your knowledge. To effectively improve your technical skills you should be aware of all the gaps in your knowledge. And there will be some; no one is omniscient. Only a combination of learning what's new in IT and filling your gaps will result in a complex education.
Low social skills
Broadening your technical skills is very important, but it's not all. Unfortunately, many programmers assume that technical expertise is all they need. That attitude won't take you to another step in developer's career. Nowadays more and more IT employers pay attention to programmers' level of social skills. We explained the significant meaning of those skills in several articles. They are necessary for any promotion. A study conducted by ISACA proves that only by combining technical and social skills you will achieve success in your career. The most important is the ability to communicate with your coworkers, to define your ideas and thoughts, of teamwork and sharing your knowledge with others. American specialists for career counseling encourage employers to pay attention to such skills as an optimistic approach, time management, problem-solving, working under pressure or self-confidence. Teamwork is becoming one of the most crucial elements of working in IT and that is why IT employers look for employees who not only have excellent technical knowledge but also have the ability to join a team and function in it.
No specified goal
Seneca once wrote that if one doesn't know to which port they are heading, one should not count on fair winds. It also applies to a career in programming. Even the most promising developer won't expand his horizons if he doesn't know what he wants to achieve. It's one of the biggest programmers' sins. Wanting to be the best is not enough. Those are only hopeful wishes, not goals. The programmer must know where he sees himself in a year, in 3 years, in 10 years, etc. The best strategy is to set your goals in the SMART system. They should be:
Specific – you need to specify your aim;
Measurable – you need to be able to measure your progress;
Achievable – your goal must be realistic, possible to achieve;
Relevant – your goal must be substantial for your career. Which goal will help to get to the next step of it?
Timely – you need to determine a deadline for your goal. By what time do you want to achieve it?
Goals can vary from expanding your knowledge, completing a training course, getting a promotion or a raise to finishing a project, etc. Writing down your goal and the time by which you want to accomplish it will help to motivate you.
Lack of modesty
Self-confidence is necessary, but be careful not to turn it into vanity. The day you believe you're irreplaceable may be the last day of your IT career. It's a trap that many developers with couple years of work experience fall into. IT is employee's market, and that's why developers tend not to believe they could be replaced. It's hard to consider such luck of modesty for a positive quality. Psychiatrists often describe a tendency to overrate one's value as a paranoid personality. But let's not jump to extremes. Most often the lack of modesty is defined by the term „an illusion of extraordinariness.” It can carry twofold consequences. On the one hand, no one will want to work with a big-headed programmer. On the other, this illusion can have negative effects on developer's knowledge. Dr. Samuel R. Pavel from the Southern Illinois University conducted a fascinating study regarding this subject. He asked several students to take a test, but beforehand they had to fill out a form grading their skills. The results of tests showed that students who overrated their abilities got a lower score than those who underrated their skills. A programmer who will fall into the trap of the lack of modesty will overestimate his abilities and be sure that the company won't survive without him. In consequence, he will stop trying to improve his skills. His career will end by replacing him with a developer conscious of his limitations and eager to learn from others.
Lack of the work-life balance
Work-life balance is a trending term, but in this case, we could replace it with „avoiding workaholism,” „maintaining the balance between your personal and professional life” etc. It's all about mental equilibrium, rest, a compromise between work and free time. Many up-and -coming programmers struggle with those issues. Those developers are very ambitious and consider rest as an unnecessary waste of time. Such attitude can only destroy a career. Sooner or later a never resting programmer will burn out. According to a study conducted by The Psychology Department of the University of Berkley job burnout and exhaustion next to cynicism and a feeling of being ineffective are the biggest difficulties we are facing at work. Fortunately, you can avoid all this by remembering about work-life balance. A report by HRK regarding it states that IT is an industry most often carrying if employees maintain the balance between their professional and personal life. The term „work-life balance” is more and more often appearing in job descriptions for positions such as Software Developer, Java Developer, Web Application Developer or tester. Nonetheless, it's every programmer's duty to keep the balance between work and personal life. You need to learn how to determine your priorities, separate work from the free time, rest, maintain an active lifestyle and plan your tasks reasonably. Trust us – it will do wonders for your career.
A promising developer is standing on the verge of the great programming world; it's a crucial moment of his career. He will either grab this opportunity and force himself inside or remain at the doorstep and eventually be pushed out by those more determined, avoiding the sins we warned you about.