Personal Productivity Stack Exchange is a question and answer site for people wanting to improve their personal productivity. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This question may be a bit vague and open for discussion, but today I've been trying to work out what to start doing.

I work as a professional programmer (as do, at a guess, 90% of you lot) but its not exactly challenging, so I am switching jobs to a more hardcore development company. Although I think this will help improve my skills, I want to go all the way to the top, I want to know everything and be considered a master of my chosen languages / skills.

I want to know what the roadmap is to becoming a master of a (any) skill. Is the answer really just buying every book possible and studying? Doing personal projects?

What can I do to boost my skills in the most efficient way possible?

How do I go from Journeyman to Master?

share|improve this question
I thought this question was about the book The Pragmatic Programmer: From Journeyman to Master when I read the title :) – AsheeshR Jun 26 '13 at 16:56
Perfect book! I haven't heard of it, I read the phrase "from journeyman to master" on another site which got me thinking. I'll give that book a go I think – Adam Jun 26 '13 at 18:22
up vote 5 down vote accepted

Judging from the research of Robert Greene, desire and time seems to be crucial components when trying to become a master of something:

We all know how much more deeply we learn when we are motivated. If a subject excites us, if it stirs our deepest curiosity, or if we have to learn because the stakes are high, we pay much more attention. What we absorb sinks in. If we find ourselves in France needing to learn the language, or suddenly in love with a French woman who speaks little English, we can learn more in a few months than four years of French classes, no matter how good the teacher. In other words, our level of focus will determine the depth of our learning. If we multiply such deep concentration over enough time, we can master anything.

Greene's top advice:

  1. Look inward. The trade you are mastering has to stir your interest and make you excited about the future.
  2. Have faith in the learning process. Keep believing in the rewards down the road, the powers and skills that will come through practice and discipline.
  3. Develop as many skills as possible. Combine forms of knowledge and different skills.
share|improve this answer
I suppose what you can take from that quote is, as soon as you are comfortable in your job, move on to a harder job. Then you are forced to up your skills or you will lose the job, therefore the stakes are high – Adam Jun 27 '13 at 8:10

Reading every book, or even every 100th is hardly possible these days.

I think you'd better select some areas, set up some goals and start focusing on those. Not (only) abstract ones, but where some milestones are possible and you can see them approaching, reached, opening for the next.

Until you do your targeting, you might try heavier use of SO: in your interested tags try to give answers, and where you can't read the ones coming. You can learn some interesting new things and discover what you thought wrong :).

share|improve this answer

The question of going from journeyman to master is really a big and involved question as anything that makes you more focused, excellent, persistent, concentrated, passionate about your subject, efficient, fast learner, better communicator and leader etc etc etc will help you on that road. The fields of personal development and communication skills and leadership all can help you.

But specifically for your professional programming, I would add that technical skills are only half the story. You need to have strong communication, networking, branding and leadership skills in order to succeed among people, not just to the compiler.

Some concrete pieces of advice:

  • Get involved or start projects that uses the technologies you want to master esp. when the project is accessible online e.g. open source project.
  • Give talks and participate in the community of your technology in your area and online.
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.