There is one quote saying “If you want to be everywhere, you will be nowhere”. Today hundreds and hundreds of developers are trying to be everywhere trying to learn every technology starting from C#, PHP, Java, Python, Framework 1, Framework 2 etc.

I was doing exactly the same thing for years until I realized I can’t be everywhere, I want to define where I want to be and what I want to do. Imagine you want to play music instrument, you will pick one instrument (for example guitar), and you will practice and practice until you are really good, and that is how you become professional. If you are constantly changing from guitar to piano, then from piano to drums, you will end up playing 3 instruments, but are you good enough to play with world famous bands? The answer is NO, because you are not professional and you spread out your energy on 3 different instruments. Professionals are earning good money playing for top bends, and you will never reach that salary if you are average guitarist in local band.

If you are software developer and you are constantly changing technologies you are working with, then you are actually never going to achieve professional level in any technology and you can not expect to work in some top companies with good salaries no matter how much you are trying. I know this sounds really crazy, but it is true. When you focus on one technology then you will have deep knowledge, you will be professional in your field.

This is true not only in music and software engineering, it is everywhere and here are some more examples:

  • When you are ill, you are trying to find the most professional doctor
  • When your car is broken you will try to contact the most competent (professional) auto-mechanic to fix it
  • You want to reed a good book about MySQL, then you will search one with best (professional) content
  • You want to organize your wedding, you will contact the best person for it

If you just change few things starting from today in one year your career can be much better and relaxing. Here are some advices you should practice.

Specialize yourself

Try to define which technology you want to use and you are the most comfortable with. Once you picked a technology try to specialize yourself. Imagine you introduce yourself to someone really important, any you say you are PHP or C# developer! How many PHP and C# developers are there in the world and you are one of them, and what is most important, you are saying that you are using specific programming language but you are not saying anything about your software developers skills and values. Try to say something like I’m specialized in designing secure REST API’s, or I’m specialized in embeded systems with specific hardware etc…

Promote yourself

Have you ever searched for good dentist? Usually I find my dentists by asking my friends for good one or searching one with good reviews. You have to invest time in marketing yourself. If you are not interested in marketing yourself then you have serious problem, because no one will hear about you. After your specialization self promotion is the second most imporant factor in your career and you have to push it really hard to be noticed.

Learn

Your career will not progress if you are not investing time in your knowledge. Everyone has their own learning process, and try to learn everyday something new from books, videos, friends, blog posts. I try to read one book in one moth (or month in a half depending on book size). What is really important here is that you don’t buy books in order to keep it on shelf. My rule is that I can buy only 2 books per month, and I can’t buy next book until I read previous one. This way I force myself to read and to pick really good books.

During the learning process, first try to focus on the key things, and then try to extend the knowledge. Try to discuss with your friends about things you have learned, and try to learn not only from one resource.

Test yourself

If you are constantly learning, you have to somehow test where you are. Sometimes I see people are afraid to participate in competitions and some meetings where you can test your knowledge. I find competitions really good because you learn really fast, and what is the most important you will sometimes make mistakes, which is good for your career and learning process in general. One website where I spent a lot of my free time is http://hackerrank.com where you are given dozens of programming problems and you have to write a solution to it, but your solution should satisfy time (algorithm execution) limits and result correctness.

If you like my posts, or if you would like me to write about specific question or thematic, please send an email to code.epicenter at gmail.com.

How your developer career can be better - Specialize yourselfhttp://code-epicenter.com/wp-content/uploads/2015/10/developers-career.jpghttp://code-epicenter.com/wp-content/uploads/2015/10/developers-career-150x150.jpgAmir DuranDeveloper's careerdevelopers career
There is one quote saying 'If you want to be everywhere, you will be nowhere'. Today hundreds and hundreds of developers are trying to be everywhere trying to learn every technology starting from C#, PHP, Java, Python, Framework 1, Framework 2 etc. I was doing exactly the same thing for years...