Join 117,572 Programmers for FREE! Ask your question and get quick answers from experts. There are 1,833 online right now! We've got more than 500 tutorials and 2,000 snippets. Join and find out why Dream.In.Code is the #1 programming help community on the internet! Registration is fast and FREE... Join Now!
I'm currently working towards acquiring a bachelor's degree in Computer Science. My curriculum has been primarily taught in Java (95%), and I've had a course or two in C++. Recently i've been applying for part-time jobs and internships to get some experience in the field, but every job application i see seems to expect me to know about ten languages (even for sophomore/junior level)... I'm kind of confused about where to start - there are so many different languages and out there and i feel like i have to read a book on each of them to get a solid understanding. I know a good programmer can glance at some code and be able to catch on relatively quickly, but i feel like i only touch the tip of the iceberg when i do that and i really wouldn't have a clue how to write the code without reading a book! So far I've been attempting to learn PHP and MySQL because those are the languages appearing most frequently on the job applications (aside from the other five or six that vary from job to jon). After reading a few pages i feel like i also need to learn about ajax, coldfusion, ruby on rails, the django framework, HTML & CSS, ASP.NET, JSP, javascript, etc etc and i just get lost in a seemingly endless abyss of languages that i need/want to learn - and those are for web development alone! Aside from that, my knowledge of the languages i've been exposed to is not extensive... i still need to put more time into learning more about java and C++ let alone every other language out there! How do you find enough time in the day to be so well rounded and know so many different languages? Sorry for my long shpiel here, I just feel kind of lost and direction less right now. Any advice or tips would be much appreciated!
Well, for me, I just sit down when I can, and read books, or look at stuff online. I mean, I don't know if there is really any other way. But don't just use what I said as an example. There are many people who probably do it differently. Just try to have fun. And Gook Luck in the real world!
Most don't go out and learn "ajax, coldfusion, ruby on rails, the django framework, HTML & CSS, ASP.NET, JSP, javascript, etc etc ". It is extremely unlikely that you would work in more than one or two languages in a single job, so decide which ones you want to focus on. Software developers have specialties too.. , while a good programmer CAN pick up pretty much any language, there is still going to be a learning curve, and work will usually go slower than using a language you are familiar with. If you want to focus on web development, then pick a popular web development language and become useful with that. There are many Java and C++ jobs too, though they aren't usually 'web development'.
Most don't go out and learn "ajax, coldfusion, ruby on rails, the django framework, HTML & CSS, ASP.NET, JSP, javascript, etc etc ". It is extremely unlikely that you would work in more than one or two languages in a single job, so decide which ones you want to focus on. Software developers have specialties too.. , while a good programmer CAN pick up pretty much any language, there is still going to be a learning curve, and work will usually go slower than using a language you are familiar with. If you want to focus on web development, then pick a popular web development language and become useful with that. There are many Java and C++ jobs too, though they aren't usually 'web development'.
I think the point is, that when you look at job postings for internships or even permanent positions they sometimes just seem to have a laundry list of every programming language they could name off the top or their head, and seem to expect applicants to have x+ years experience programming in each one. I agree with the OP, but I don't think this is even feasible. Granted, I am still a college student as well, so I don't have too much experience in the real world, and haven't really done any internships yet, but some of these job postings seem ludicrous.
For an example of what I'm talking about, and this isn't even close to what I've found:
Required Experience
* Java experience 4+ years of * TCP/IP socket programming * OOD object-oriented design skills * relational databases * JDBC * XML * Hibernate or similar ORM object relational mapping tool/modeling * multi-threaded design and implementation * integration of open source products into systems (Apache, Jakarta, Jboss, MySQL, PostgreSQL) * Unit-Test
Required Skills
* Java * Object Oriented Design * TCP/IP * JDBC * XML * Hibernate * Unit Test * Preferred skills include: Linux, TCP, Intrusion Detection, Network Management Tools, Web Services, Axis, Spring, WSDL, Apache, Hibernate, OJB, Performance, Security, CVS, SubVersion
That listing is for an intermediate position, but it seems like they've become so specific about the people they will hire to the point of excluding nearly everyone. Maybe I'm naive just because I don't spend time learning every single language/framework/API/library/etc out there but its a little excessive.
In your example, there is only one language, and some of the others listed are so general. I don't know how you could have learned java without also learning Object Orientated Design . Most jobs that post insanely detailed lists of requirements are posting wishlists.. apply anyways, even if you aren't already a pro with Hibernate, or maybe have never used it. They are most likely NOT going to get any applicants that match what they posted exactly and will be happy to get a competent java developer. If they are strict about meeting every requirement on their wishlist, then you are probably dealing with an hr staff that doesn't know what their list of buzzwords mean.
In your example, there is only one language, and some of the others listed are so general. I don't know how you could have learned java without also learning Object Orientated Design . Most jobs that post insanely detailed lists of requirements are posting wishlists.. apply anyways, even if you aren't already a pro with Hibernate, or maybe have never used it. They are most likely NOT going to get any applicants that match what they posted exactly and will be happy to get a competent java developer. If they are strict about meeting every requirement on their wishlist, then you are probably dealing with an hr staff that doesn't know what their list of buzzwords mean.
Eh... bad example I guess I just picked out the first result on monster.com for my area, saw a long list and pasted. Guilty for not doing more than just scanning the list
It is extremely unlikely that you would work in more than one or two languages in a single job
Most jobs that I have had I have needed to know multiple (more than 2) languages.
In my last development job, I used C, Korn shell scripting, Java, & informix SQL. The job after that, where I was an admin/developer, I wrote mostly in Perl, PHP, MySql, some VB.NET, some VBScript, & all sorts of web related technologies, such as HTML, CSS, & Javascript. Had I stayed, I was going to learn Ajax.
10 languages is a bit excessive, & especially-so for someone just getting into the field, which I believe was the point to this topic. If you are going to be a developer, & a valuable one at that, I think it's best to be as versatile as possible. That way there, when your employer shifts gears, or adapts to new technology, you don't get let go because all you care to do is VB6, & you refuse to budge.
It is extremely unlikely that you would work in more than one or two languages in a single job
Most jobs that I have had I have needed to know multiple (more than 2) languages.
In my last development job, I used C, Korn shell scripting, Java, & informix SQL. The job after that, where I was an admin/developer, I wrote mostly in Perl, PHP, MySql, some VB.NET, some VBScript, & all sorts of web related technologies, such as HTML, CSS, & Javascript. Had I stayed, I was going to learn Ajax.
10 languages is a bit excessive, & especially-so for someone just getting into the field, which I believe was the point to this topic. If you are going to be a developer, & a valuable one at that, I think it's best to be as versatile as possible. That way there, when your employer shifts gears, or adapts to new technology, you don't get let go because all you care to do is VB6, & you refuse to budge.
Best of luck!
I see... How did you become knowledgeable in those different technologies (i.e. find the time / know which ones to learn when)? I'm just trying to figure out WHAT to learn, and how to find the time to learn other languages while i am still in school so i can get an internship before i graduate. Theres just so much stuff to learn!
No2Pencil: I don't count 'web technologies' as seperate languages. HTML.. CSS.. Javascript (this includes AJAX), and SQL should be tools in every web developers toolbox. As for mixing C, Java, VB.Net and VBScript.. why why why? If you are using those all in one project, I'm just going to go ahead and state that your project has issues.
No2Pencil: I don't count 'web technologies' as seperate languages. HTML.. CSS.. Javascript (this includes AJAX), and SQL should be tools in every web developers toolbox. As for mixing C, Java, VB.Net and VBScript.. why why why? If you are using those all in one project, I'm just going to go ahead and state that your project has issues.
No2Pencil: I don't count 'web technologies' as seperate languages. HTML.. CSS.. Javascript (this includes AJAX), and SQL should be tools in every web developers toolbox. As for mixing C, Java, VB.Net and VBScript.. why why why? If you are using those all in one project, I'm just going to go ahead and state that your project has issues.
I don't think he meant using different languages in a single project.
as for the original topic:
Yes, I too noticed that in all job posting and I don't think anyone specially a fresh graduate could be proficient in at least 10 languages, knowledgeable could be but proficient rare, Only if you started learning those things at a very young age and purely self study then you could meet those requirements as a fresh graduate.
My instructor once told me. "It doesn't matter if your not good at it just put it in your resume that you are knowledgeable in using it, whats important is that you must be a fast learner."
This post has been edited by mensahero: 22 Jun, 2008 - 06:13 AM