No announcement yet.

Roadmap of a Java Developer


Unconfigured Ad Widget




Latest Articles


  • Can I become a software developer?
    Diego Carleone
    Marine principle states: if you find physically suitable man or woman, you can make him or her a unique fighter, provided them the right training and education. Programming is just the same skill as playing guitar, swimming or riding a bike. People are not born bikers.

    When I see my friends, who work twice as hard as I do and get four times less money, I start the following conversation:

    - Would you like to work as a programmer? You’re really smart. Perhaps, you are simply
    03-02-2015, 02:23 PM
  • I am the best
    Diego Carleone
    1. The best is the enemy of the good

    Being best means being better than the others, exceed them and be different. You cannot become the best doing what everyone else does. You need your own way.

    You cannot be best in everything: while you study everything, someone specializes on one thing. The one way to become the best is choosing a one very certain specialization and become a world-class specialist in it.
    02-27-2015, 02:33 PM
  • Real World Guide
    Diego Carleone
    When I retrained my friends to be programmers, I noticed an interesting thing. People that already worked somewhere were learning very gladly. And the more experience they had out of IT, the more diligently they studied. Those, who were college students, sometimes just didn’t care.

    Having talked to working people and the students I noticed, that students believe in “magical employment” waiting for them right after they graduate.

    Now, for those who haven’t yet gotten
    02-27-2015, 11:06 AM
  • JavaRush – learning programming in Java
    Diego Carleone
    How about an entirely new way to study programming and get an education? That doesn’t look like anything you’ve seen before. How about learning, where you have an aim, means and result?
    I am happy to present you the new online course to learn programming in Java.

    1. Training is an online-game

    You take a task, execute it and get a reward. I think it is clear and common for you. Tasks are most various: reading code, solving tasks, videos-lessons, correction of errors...
    02-23-2015, 10:18 AM
  • Roadmap of a Java Developer
    Diego Carleone
    A friend of mine was wondering why developers are always so happy. The answer she came with was simple and surprising: they do what they like and earn big money. Welcome to the world of software developers!

    Software developer’s salary

    I would like to tell you about developers’ salaries. How the land lies with salaries, where you should go work, and where you shouldn’t. If you are not a developer and try to puzzle it out on your own, you may get a rather controversial data. ...
    02-20-2015, 01:59 PM
  • JavaRush Guide
    Diego Carleone
    I always told my students that computer programming is easy and interesting. Now you can make sure of it by yourself.

    The goal of the course
    is to enjoy studying, have fun and gain real programming skills in Java, which will help you to get a job as a software developer. That’s why there are many practical tasks in the course. Task complexity grows graduallyfrom simple to the most complex ones.
    02-15-2015, 06:59 PM

  • Roadmap of a Java Developer

    A friend of mine was wondering why developers are always so happy. The answer she came with was simple and surprising: they do what they like and earn big money. Welcome to the world of software developers!

    Software developer’s salary

    I would like to tell you about developers’ salaries. How the land lies with salaries, where you should go work, and where you shouldn’t. If you are not a developer and try to puzzle it out on your own, you may get a rather controversial data.
    Java Salary

    The main point is that major factor influencing a developer’s salary is not qualification, but the place of employment.
    Sometimes, given equal qualification level, the difference between good and bad place of employment can be 2 to 10 times(!)

    Each given moment of time your qualification is constant. You can’t become twice as qualified in a month and get paid twice as much. But you can change a place of work in a month and get twice bigger salary. Once in the flow of two month my salary multiplied by three (!) – Unforgettable experience. So, let’s find out, which place is best.

    Here are the three factors majorly influencing salary levels in companies:
    1. Whether main business of a company is software development
    2. Whether company is oriented on global or local market
    3. Where is the main office located: developed country or developing country Note that city you work in is irrelevant. Meaning, if you earn five times less in Barcelona that your friend in New-York, the factors I’ve mentioned had probably influenced.

    Specific numbers

    Since salaries are different in different parts of world, I propose to take the salary of Senior Java Developer with 5 years of experience as a starting point and call it “5 year maximum”. All figures below will be given as a percentage of this amount.
    Here are some examples of “5 year maximum” salaries in different cities of the world:

    Senior Java Developer, 5 year experience
    San Francisco (US)
    New York (US)
    London (UK)
    Kiev (Ukraine)
    Bangalore (India)

    Below it is shown how much a Java Senior Developer with 5 year experience may earn depending on the company he works for:

    Salary, % of “5 year maximum”
    1 5% - 10% In the bottom of the list there are companies with software development is not main business of the company; works on local market and the company is owned by state. For example, an IT department of some municipal company or any other state organization.
    2 30% Below average are IT-departments of different non-state companies: banks etc.
    3 50% Average level is occupied by companies developing software.
    4 80% Above average are software development companies working with western customers or customers of developed rich countries.
    5 100% At the top of the list are companies developing software for customers from the whole world and owners are from developed countries. There are few of them. They rarely have vacant places and it’s not an easy job getting there. Still, such places exist.

    JavaRush Programmer's wrestling

    What’s the strangest thing about current situation?

    Half of all programmers work in 1 and 2 level companies.

    D’you wanna know, what’s the catch?

    There are hundreds of opened vacancies in 3 and 4 level companies. These companies are willing to offer you higher salaries and, usually, better working conditions.
    I know two Java Junior's, one of them got a job paying about 3% of “5 year maximum” (level 1 company), and another got a job with 30% of “5 year maximum” salary (level 4). So why get less?

    The demand for programmers exceeds the offer – don’t go working where you are paid less!

    Conclusion 1: Average salary for Java developers (with any experience) is 40%-50% of “5 year maximum” salary.
    Conclusion 2: Your average salary in 5 years will be about 90%-110% of “5 year maximum” salary, if you not work for 1 and 2 level companies, and work for companies level 3 and 4.

    What you can achieve unless you do stupid things

    If you start working on your self-education in programming right now, your salary can look like this:


    0-3 month (Student)

    You know very little about programming. You may have studied it at school or in a college on basic level.
    What you need to do is learn how to program and learn Java.

    Your goal is getting a job as Java Junior Developer in a level 3 or up company.

    For the first three month of the plan you’ll get nothing, because you are just learning how to program. But the earlier you start the better. The best time is NOW. In the future, when you have a family and loads of loans, it’s going to be much harder to requalify. In order to correct your mistake you’ll have to lay aside money to pay for at least for a year of normal life.

    Don’t make silly mistakes.

    3-15 month (Java Junior Developer)

    You work as a software developer already and your experience grows daily. Do not relax. You have a lot to do before resting on oars.

    What you need to do is– study technologies you’ll need as a Middle Developer. What are these? The world is constantly changing. I’ll load you with advices and life will change it all. Find a few vacancies on the web and see what you need to apply. Be sure to read a book by Bruce Eckel “Thinking in Java”.

    Your goal in the first year of working as Java Junior Developer is to reach the level of Java Middle Developer. No one says that would be easy, but that’s possible for a goal-oriented person. It will increase your salary in an instant up to 40% of “5 year maximum” ($50K for SF and London, $6K for Bangalore).

    2-d year programming (Java Middle Developer, level 1)

    You’ve done a good job last year and now you are a Java Middle Developer. You can live pretty well earning 50% of Senior

    Java Developer’s salary. You are being given some serious tasks at work and your experience grows significantly. You’ll reach the level of Java Senior Developer in two or three years. No need to hurry. You won’t get big uppers in salary

    What you need to do is learn design patterns, read – McConnell’s Code Complete. Perfect the quality of your code and team skills. Create a rule of reading 1 book on computer programming each month. Then, in 4 years you’ll be 50 books smarter than all the rest. Do not postpone it: you won’t get any larger amount of spare time, besides, most likely you’ll start a family, or if you have one, it’ll become bigger.

    Your goal is to choose a few technologies to specialize in as a Senior Java Developer. You can’t learn them all, you know. And it’s always a good decision becoming guru in a single specialization.

    Java Developer’s salary

    3-d year programming (Java Middle Developer, level 2)

    You are now an experienced Middle Developer and you’re thinking on becoming a Senior Developer. It’s pleasant as well as prestigious. You salary exceeds 60% of “5 year maximum” ($10K in Bangalore, $25K in Kiev, $40K in Berlin, $80K in New York). From this moment on demand for professionals like you rises the offer. You’ll always be able to find a job in a couple of days and you’ll hardly ever earn less than you do now. That, of course, if you don’t do anything stupid.

    What you need to do is keep studying the technologies you chose. Work better. Not for your employer’s sake, for your own. Apply to participate in projects involving promising technologies (like BigData, at the moment this article is being written). You’ll be spending 8 hours a day in the office anyway, so why not get a little more money for it, and, what’s far more important, most valuable experience you’re gonna need in the future.

    Your goal is to find a new job. A good team is always to be found.You’ll face with new projects and technologies. You don’t need to root to your chair. If you’re still working in a third level company, think on employing into a fourth level one.

    5-th year programming (Java Senior Developer, level 1)

    You are now a Senior Developer. Maybe, you did not deserve it, and you feel it. Still, my congratulations. It does not matter whether you are worthy of your position now, all it matters that you become worthy of it in the future. I think you’ll agree it’s better to get a good job and after grow to the level required then vice versa.
    I hope you haven’t forgotten my advice to read one book a month? Any student will envy your knowledge and skills now. To be more specific, he’ll be praying on them. Just think of it: you’ve got serious earnings, close to 90% of “5 year maximum” salary. You’re probably still young. The world is at your feet.

    What you need to do is to re-evaluate technologies you’ve chosen. Perhaps, you need to change specialization. The world has changed, technologies changed, and you’ve gained quite some knowledge in past two years. What you choose now will become the headline for a few next years for you. It’s time to choose your favorite technologies.

    Your goal is to choose your growth direction. They are numerous, no one can name them all, but your choice has to be done right now. If you make a little change today, you’ll get a big one in the future.

    6-th year programming (Java Senior Developer, level2)

    You’ve decided on your future and you’re working on your dream to come true. A direction chosen correctly along with desire to move forward – and result won’t be long. Congratulations. I am happy to see there is one more person landed his dream.

    There is one profound truth. People often overestimate what they can achieve in a year and underestimate what they can do in five. Look five years back. It is so.

    What you need to do is to avoid unwise decisions and not be lazy.

    Your goal is to choose direction and move forward. Or did you think it ends here? Remember your graduation. It’s not the end, it’s just the beginning.

    You future specialization

    You can grow as technical specialist (upper branch), as management (lower branch) or as hired professional/independent consultant (medium branch). It all depends on what you prefer.
    Java Developer’s career.

    Developer’s career is different from any other.You don’t need to become a manager to earn good money. It often happens that a Senior Developer earns more that his manager-boss. The more experience you get the stronger your working relationships with your boss change from “boss-subordinate” to “star and the manager”. Spoiled knowing their worth developers pick projects and vacancies. Let’s be happy for those of our own.

    So what do you need to become such a highly-valued and world-scale popular developer? You must have huge experience in most demanded and new technologies.

    How to achieve this? See below.

    As soon as you get a job as a developer, two thing start happening to you; still, they are not always visible.
    1. You gain experience in real projects and grow fast.One year on this job gives you more experience than 5 years in college. Experience is such an important issue that they write “Java developer with 3 year experience required” in the vacancies posted.
    2. You study new technologies 8 hours a day and get well paid for it. You really can’t overestimate this fact. In some cases skills you get are so valuable that you could have worked for free to get them or even pay up. If you choose projects you work on wisely, you are about to have a head-spinning software developer career. So… what to choose?
    It often happens that you don’t know which technology will be useful, so you start choosing on “like and don’t like” and “fashion trends”. You may get lucky or you may not. So you’d better know your destination beforehand.
    There are tons of ways to evolve for programmers, so, to make it simple, I’ll choose a few of them and write my vision of situation ahead. Do not think this pattern to be a hard line; it’s rather a simplified view of things presented to make it clear.

    Two-hundred-year-old developer

    If you enjoy programming most of all, then this is your way: Senior Developer, then Tech Lead Developer and an architect. This way you can work as a developer for 50 years and more. In most cases salaries of Senior Developers and Tech Lead Developers exceed those of their managers. So get your money’s worth.

    Manager. You’re lucky you’re not like the others

    You went over to the enemy. Just kidding. If you discover great organization skills, then your ways is: Team Lead, and then Project Manager. It’ll give you a chance to become head of department and open your own business. That’s what you want, isn’t it?

    Home is where the heart is

    If you have already started a family, then, perhaps, you wish to have a nice and quiet life in a country with strong economics. Perhaps you consider moving to Canada, USA, Switzerland or even Australia. You have excellent skills and a profession in demand. You won’t have to start from washing dishes. You’ll start as a Java Senior Developer. Probably, earning a lot. Not bad, ha?

    See Naples and not die.
    You don’t have a family yet and you love traveling. oDesk is your all. Find a client, agree to a rate of $20-$50 per hour, take a laptop with you and go! Your salary will suffice to live anywhere in the world. Why not start making your dreams come true right away?

    I don’t wanna program, I’m a girl..
    If you’re a girl, you may need to take a maternity leave. It sounds like a sexist joke, which it is. Still, there’s a lot of common sense in it. Most likely, taking a maternity leave you’ll be able to get a lot of maternity leave money (in countries with high social protection). There are companies that pay nothing, and there are those, that pay well. One of my students got one third of yearly salary going on a maternity leave. And this happened in spring 2009, during employment layoffs. And in a year and a half you may come back, being at least Middle Developer.
    Image credit:

    Attached Files
    Last edited by Diego Carleone; 02-20-2015, 10:57 PM.
    Posting comments is disabled.