I have just left my college after doing graduation in computer engineering,during my college life I tried to do some freelancing in local market.I succeeded in the last year and earned some small amounts based on joomla,wordpress and visual basic based job.I had some small projects on php,mysql also. After finishing my undergrad life,I sat for an written test for post of python programmer and luckily I got the job and is working there(Its a small software firm do most of the task in python).Day by day I have gained some experience with core python.

Meanwhile an USA based web service firm called me for the interview and after finishing three steps(oral+mini coding project+final oral)they selected me(i was wondered!).And I am going to join their with in few days.There I have to work in python(based on Django framework,I know only basic of this framework).

My problem is when I started to work with python simultaneously I worked in Odesk as a wordpress,joomla,drupal,php developer. Now a days I am feeling that I am getting "Jack of all trades master of none".

My current situation is i am familiar with several popular web technologies but not an expert.I want to make myself skilled. How should I organize myself to be a skilled web programmer?

  • "Jack of all trades master of none" <- there's alot of us in that situation. Feb 27, 2011 at 14:58
  • 2
    You'll find the "Jack of all trades" still employed many years from now. The master, only if he/she chose their area of mastery wisely.
    – Dunk
    Feb 27, 2011 at 19:02

6 Answers 6


Build something. The only way to gain more than a shallow knowledge of any programming language or framework is to build something substantial with it. You can never understand a framework or programming language until you've used it to do something big.

  • To expand further on it, build something you need is better. It gives you drive and an actual purpose for completing it.
    – Sergio
    Feb 27, 2011 at 14:55
  • and ship it.
    – user1249
    Feb 27, 2011 at 15:10
I have just left my college...Now a days I am feeling that I am getting "Jack of all trades master of none".

You'll feel like that for about the next five years. And then you'll decide you know too much in one area and yearn to branch out into others.

Welcome to the real world!


In My opinion you should focus on one technology first for atleast couple of years gain some grip on it then if you want to learn a new technology go for it by this you will explore new things and you expand your horizon and this will help you when you are thinking of any solution or developing a new project


The web is too fragmented! There is no true answer to what is best to learn. Do market research and look at what the market is demanding where you do your work.


I guess you have to choose. I started with python, but realized that where I wanted to do was C#. Now, I'm learning C# (and Visual Studio).


Set goals, and try to hit them. If you aim at nothing you will hit it. Figure out what you want to learn and then make a plan to learn it.

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