views:

170

answers:

7

I know that this sounds like a dupe but this question is kinda specific to my case...

I'm currently a second year student at a local college and so far I know a little of VB.net, C++, C, Java, (X)HTML & CSS. I was planning to get a summer internship next year and I was also thinking of looking for an open source project that I could work on my free time but the problem with my plans I think is that I don't have enough "specialization" of one of the languages I currently know so when I look at codes I see out there, I just get stumped.

I really want to engage myself as early as possible as I think that it would benefit me in the long run. Is it still "too early" to try to get an internship or to try contributing to an open source project? If not, then would it be a good idea to at least "master" one of the languages I know now?

+1  A: 

I agree that i am not well experienced to give you suggestion/advise :)

But i believe that mastering "how to effectively solve/approach a given problem" is more important than mastering a language. If you are good at that first, the next step is to pick any language you like to contribute on and then work on it. Mastering a language comes by working on it more and more. Nothing is too early. If you have proper mindset and enthusiasm to do it, go for it!! Just dont lose the enthusiasm and interest in the middle. Good luck!

Aviator
A: 

No, it's not too early. It cannot be too early for getting hands-on! I don't think it will help you to solve the problem of 'too early' by trying to guess or ask others about the right moment. I think the only way you can discover it is to get involved. If you find an internship it's probably not too eary, right?

And no, you shouldn't try to master anything. You will never master anything anyways and the best way to get as close as possible to mastery is real world programming!

Go for it!

tharkun
A: 

It may not be possible to contribute this early, but, you can always check out open source code of whatever language you are learning, and study it. It might seem to be a bit scary at first. You'll get used to it after some time.

Shrivara
He might not contribute in code, but he could contribute by making suggestions or simply by testing open-source projects!
Workshop Alex
+2  A: 

There are various open source summer internships. The best one I found is Google Summer Of Code, Where you can first search project of your interest ( depends on Area , language ), and start contributing for community.

So I will suggest that have a look on this year projects, their prerequisites and other aspects and start working on those, and try for GSOC 2010.

GG
...cool GG :P..
Neeraj
(+1) good suggestion :)
Mahesh Velaga
Thanks neeraj :)
GG
+1  A: 

Internship, if you manage to get one really helps boosting your technical skills. It was my internship in 2nd year that made me feel i have a career in programming. So good luck to you.

Also, it may be a bit early for you to get really involved in OSS development as you told you dont have much of specialization but that too depends on your capability and the effort you will be putting.

I suggest you to first prepare a basic working knowledge of the language/field you are passionate about, try a few small projects of your choice and once you have some idea of how to move on, try getting involved in some OSS project.

This way you will do good both to yourself and the computing community.

btw, you have made the first right move by coming on here.. :)

Neeraj
A: 

Oh, have no fear! To start a good open-source project, you don't even need programming skills, you need management skills! Plus you need a good idea that you can write down as concept to further expand to a good project.

Many people think all you need for a project is to write the code. In my experience, coding just makes about 15% of a whole project. What's more important is the design before you start coding and the testing after code is done.

If you want a successful open-source project, come up with a good idea but don't try to do it all yourself! Share your code early so others can join your project and help solve those problems that you can't solve or they're going to fix bugs that you've missed. (However, always review code changes by others since they can introduce new bugs or add unwanted functionality!)

But first challenge will be to come up with a good project to create as an open-source project. Preferably something new. Don't start writing code because you'll end up too deep in the details and won't be able to focus on the whole picture. Write the design first and as you learn, start to write more code.

Btw, to start an open-source project, you're not too early. You're actually a bit late! You should have had some concept for a new project already! ;-)

Workshop Alex
A: 

I suggest learning what you love doing and master it, then you search an internship in this area to practice your new skill on a real project. That's what I'm doing, and it's a lot of fun.

I think, that when you have passion, you'll always find your internship in what you want. My internships so far were really cool, I was able to meet cool people, because the cool thing when you search an internship in what you master, is that you improve your chance to work with smart people.

Curiously, in my internships, the most important lessons I've had was not programming related, and I don't regret it!

Nicolas Dorier