I've been mulling over joining one for a while, and my biggest fear has been that I wouldn't be beneficial to the development of the project. I'm crazy insecure like that, and I know I'm nowhere near the level of coders like you and Arctic.
Joining an open source project is a great way to get your hands in some real development and an easy way to start small and work your way up. This is something I wish I did when I was in college. You can get feedback from some very talented developers this way, too. Reading code reviews from an epic engineer can be far more of a learning experience than any class.
Not to mention, It looks great on a resume, and when it comes to competing in today's economy, you're going to need everything you can get.
That and I'm not altogether sure what I would be good at. I've pondered assisting with hardware emulation or various graphics libraries, but the complexity of the established projects is about an astronomical unit over my current skill. XD
I'm already on this one. Currently working (Well not currently due to internet problems but...) on an RPG project and I've been trying to recruit help. It doesn't exactly come in droves from my lazy CS friends. XDIndependent development is great. Shows you are self-motivated and capable, and you can learn a lot about the development process in the meanwhile. If you can collaborate with someone, great! The CDN speedgames I mentioned in another thread is a great way to jump into this. The quick 2 week dev time is amazing for getting a birds eye view of a project's lifecycle and I've learned much about development, project management and how I am as a coder from it.
I'll have to check out this speedgame thing. My main qualm with it would be that I'd spend a vast majority of the time figuring out why such and such API isn't working. Unless the rules say you can only use the standard library for the language/SDK.
Hehe, this is an odd scenario. Me and a few friends basically ARE the ACM chapter on this campus. All the other coders just don't bother with us, no matter how enticing we make it. That said, I'm friends with just about every CS/IT student, and I know most of the professors really well. The downside to this is that a lot of them are lazy. I've been trying to pull several of them into this game project, but all of them either said no time, or just a straight no.Network. Get to know your fellow coders. If you have a CS, software development or game development club, join it! Participate in the competitions or projects. The people around you will go places and it's good to have friends recommending you to their bosses. Or better, when one of you want to start a company, you'll have people to pull from. On top of this, working on teams and learning from one another will do wonders to your skill sets.
We also tend to stick together a lot for classes. The only reason we survived our OOP class was because we did homework/studying as a group. Most of the CS majors know each other really well because these hard classes are conducive to teamwork.
Since I'm a huge open-source/Free Software supporter, I'm usually limited to what I can afford (Almost always nothing). However, I've been reading various ACM and IEEE news lists about emerging technologies, so I've been exposed to most of the ideas.Keep an eye out for new technology. Companies love to see initiative taken by engineers having at least a handle on multiple (and new) technologies, and it gives you a whole lot of great new toys to work with. When you get in the field, you'll have to be prepared to use a variety of different tools; being accustomed to various IDEs, revision control systems and other dev tools will help you get a leg up.
Any preferred sources for these sorts of technologies?
I tried as hard as I could allot time for to get one (Which with semesters like I've been taking, is no easy task), but to no avail. Beyond the fact that I'm an inexperienced programmer, I could honestly see no reason I didn't at least get a call-back. I never got one. Not one. Since this is year number 2 of this unfortunate luck, I've just decided that I need to develop my own code since apparently no one will hire me to do it.Get an internship as soon as you can. Don't hesitate, no matter what year you are. This saved my butt. I left college at a time when as an entry level programmer, I had to compete with people with 2-3 years of experience. I shudder to think how I would have fared without my 2 internships. On top of a resume filler, I got good experience and recommendations. I had a friend who kept bothering me to get "a better job" during college to thank for this. (Also, many dev internships pay far better than any "college job" you'd have. Experience and better pay, with a side of doing what you love? Score.)
I only got interviewed once, and that was because they were at our school interviewing everyone. I guess I blew the interview because I'm pretty much the only CS guy they didn't hire (Who interviewed, that is).
Any advice there?
Heh, not a problem at all.But most of all, love development and technology. No way you can compete in this field without it. But, I'm getting a feeling this isn't a problem for you.
I gave a pretty general advice, since I don't know how far you are. Where would you say you are as a developer and what year in college are you?
I'm a junior in college, and depending on the area of programming I'm either average or above average for my age/experience.
I love math and physics, so I do a fair amount of graphics programming. I honestly don't know any student at my university that programs graphics like I do (I'm passionate about it. My peers often see it as a chore). If I had to choose one particular area to be in for the rest of my life, I'd either do graphics or simulation and modeling.
I'd also like to point out that if I could go back, I'd probably have majored in Computer Engineering instead of Computer Science. I've taken the low-level courses, and I find subjects like processor architecture, operating system-hardware interfaces, and hardware development to be fascinating. My favorite course at school wasn't even a Computer Science course; it was an Electrical Engineering course (Circuits I). I love hardware. XD
So with all this information, any extra advice or suggestions?