Results 1 to 4 of 4

Thread: "Jack of all trades" vs Master Programmer

  1. #1
    Join Date
    Dec 2010
    Beans
    99
    Distro
    Ubuntu 13.04 Raring Ringtail

    Question "Jack of all trades" vs Master Programmer

    Hello guys, apologies if you think I haven't researched about it for myself, but I did. Maybe I could not get some answers I wanted and that is why I decided to post this here, because I know great programmers are here who can give their experiences and thoughts on this!!! Ok, the question is obviously about polyglots and single-code professional programmers in OOP languages, but I want to split it into four questions:
    • Do employers prefer people with proficient knowledge of one language and speciality compared to people with mediocre knowledge of some?
    • Does learning multiple languages affect other skills that can be learnt(i.e database construction, making designs and editing images.)?
    • How often do you have to program in a certain language to keep remembering it and how does it affect you in life(Work, relationship, free time)? and finally....
    • What fundamentals of programming do I need to learn and how do I know that I learnt them with enough confidence to try a new language?


    A little background about me:
    At the moment I learn Java and Python, been doing that over 1 year and 2 months respectively.
    I averagely spend about 3h 50min for java from monday to friday and 2h for python at weekend (Now I increased it to 3 or 4h to practice python by following examples for java)
    The reason I put fourth (silly) question is because I am a bit scared that I haven't learnt enough fundamentals in java programming. Right now, I am about to do event-handlers and deployment in "Java in easy steps" book and I am done, but I can use official Java tutorial pages to increase my knowledge. Second reason I am scared is because I have no idea what exactly employers want in employees: sophisticated knowledge in libraries, ability to create security protocols or design small database for software apps....... because I can not go to employer and say "Hey, I have learnt basic fundamentals and syntax in java and have some basic knowledge in libraries". I understand if I were to do a start up (I actually do want to try to do in the future) I could develop knowledge that I need for idea or business, but employers can say one thing about responsibilities in job description and then may ask you if you could do more than what you know.

    My true desire is to become a mobile app developer, especially in android coz I am learning Java. I am interested in exploring mobile features and learn about them and make great apps for people. I think, from my honest opinion, that if I know how to make apps for android properly I can try to develop apps for iphone as well or even add small applications to my or someone's website.
    Furthermore, I planning to go to university (in UK) and after I complete it in 4 years time, I have to look after myself by doing small **** jobs and try to get into small company to code for them, just to get experience and try to move on to better job or become independant.
    BUT that is why I decided to post this question here, because I would like to know what and how it will affect me in order to become what I want to become and never regret about the decision I will/did make.

    THANK YOU VERY MUCH for reading this whole thing ( I wished I could have made it shorter, but I wanted to explain the reasons for the post) and please do post of what you think about it and I wish this post will help others in similar situations like I am in now. Thanks
    "If you are in hell, keep going." Winston Churchil
    ubuntucrazygeek.blogspot.com
    http://motivatedsuccess.tumblr.com/
    http://pavelexpertov.tumblr.com/

  2. #2
    Join Date
    Aug 2011
    Location
    47°9′S 126°43W
    Beans
    1,699
    Distro
    Kubuntu 12.10 Quantal Quetzal

    Re: "Jack of all trades" vs Master Programmer

    Languages or even frameworks aren't so important... you should expect to learn a new framework every year or so, and a new language every 3 to 4 years... A good employer should be only moderately interested in what you already know, but very interested in how fast you can learn something new. If he is focusing too much on what you already know, it implies you'll be doing that and nothing else for t next two years. Run!
    Warning: unless noted otherwise, code in my posts should be understood as "coding suggestions", and its use may require more neurones than the two necessary for Ctrl-C/Ctrl-V.

  3. #3

    Re: "Jack of all trades" vs Master Programmer

    Quote Originally Posted by pavelexpertov View Post
    • Do employers prefer people with proficient knowledge of one language and speciality compared to people with mediocre knowledge of some?
    • Does learning multiple languages affect other skills that can be learnt(i.e database construction, making designs and editing images.)?
    • How often do you have to program in a certain language to keep remembering it and how does it affect you in life(Work, relationship, free time)? and finally....
    • What fundamentals of programming do I need to learn and how do I know that I learnt them with enough confidence to try a new language?
    These are really good questions, and they deserve quality answers from subject matter experts. Unfortunately, they are opinion questions too, and even experts disagree on them. I am not an expert, but I can speak from my limited experience on a few points in response to your questions, so take the following for what it's worth.

    1. This will vary from employer to employer and depending on which hiring manager you talk to. In general, it's good to have a broad range of experience early in your career, and use that experience as a basis to specialize in something later. When you are looking for an entry level job, you have to take what you can get, because you have no experience: the broader your portfolio, the better chance you have of landing an interview. Employers these days mostly use automated tools to scan resumes for keywords; I am personally opposed to this practice, but since you have to work with it, more keywords = better. In light of this environment, it is not dishonest IMO to spend a week working with Ruby or whatever just for the sake of putting it on your resume, as long as you don't bill yourself as a Ruby expert or apply to jobs specifically requiring prior Ruby experience.

    That's how you will get an interview. What will land you a job is something different. I (an electronic engineer) would not have gotten the job I have now if I had entered the interview and started listing all the things I know and the classes I've taken. Instead, I prepared for my interviews by making a list of projects I have worked on and associating them with certain skills: programming, controls, digital design, analog design, project management, teamwork, ... Then, when an interviewer asked me a question like "What kind of experience do you have with $SKILL?" I could immediately respond with a description of the project, how I exercised that skill, and the result of the project -- complete with diagrams, photos or screenshots as appropriate. It's much more tangible that way, and it makes you feel more real to the interviewer. (It also helps to have a feel for who the interviewer is and what they're looking for. It took me a number of tries to get this right, but I'm employed now, so I must have done something right.)

    So tl;dr #1 - When you're starting your (or a new) career, you don't want or need to be an expert in any particular thing. What helps much more is having a variety of projects, of any size, that you can use to show how you solved specific problems or met specific goals.

    2. No, I wouldn't say so, unless you write programs that relate specifically to such things and learn them by osmosis.

    3. This probably depends more on the programmer than anything else. I have never sacrificed my social life to learn to program. (Allegations that I did not have a social life to begin with are almost entirely unfounded.)

    4. Don't feel like you need to be an expert in one language before you start another one. Perhaps you could focus instead on coming up with some small projects that you can do in different languages, and work on them until they're done -- you can do them in any order, however you feel like it; what will click with that interviewer is the finished product, and the order in which you did them won't matter. The way you will learn best is the way that is most rewarding for you. At least, that's what I think (TM).

  4. #4
    Join Date
    Dec 2010
    Beans
    99
    Distro
    Ubuntu 13.04 Raring Ringtail

    Re: "Jack of all trades" vs Master Programmer

    Thanks guys for your replies(Especially for trent.josephsen). At least I can relax about the fact that I do not have to become pro sooner, but at least I will try to explore other languages as well as developing other skills along the way!! Hopefully, more people would be kind if they have written responses here, coz that would make a bigger image in this post!!!!! Thanks though!!!
    "If you are in hell, keep going." Winston Churchil
    ubuntucrazygeek.blogspot.com
    http://motivatedsuccess.tumblr.com/
    http://pavelexpertov.tumblr.com/

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •