Practical Experience As a Beginning Programmer?
LuckyLefty01 writes "I'm 21, going to college, and working part time doing odd jobs like math tutoring. In the past nine months or so, I've discovered and taken to programming (so far mostly C/C++/Obj-C). I am now looking seriously at something in this area as an eventual full time job. Since I don't have much scheduled this coming summer, it would be great to try to get a job of some sort at a tech-related company in order to get some practical experience in the field. Even if I don't have the background to get a job involving actual programming, I think that the knowledge of how such a company works would be valuable. Fortunately, I live in the SF Bay Area, so there should be plenty of companies around. I'm flexible about what I'm going to be doing, and very willing to learn just about anything anybody cares to teach me. If there's some (or even quite a bit of) boring grunt work involved, I can do that too. What type of job would benefit an aspiring but inexperienced programmer the most? What methods might I use to find such a job?"
Google summer of code is pretty good for practical experience, but the application period closes tomorrow :(
:(
Head on over to bugs.gnome.org and start by fixing the easy ones, then work from there. Once you are comfy, take a look at OpenOffice or Mozilla's bug tracker and see what kind of help they need. You'll be saving the world AND be able to put this on your resume. "Contributing developer to the open source GNOME desktop, OpenOffice, and Mozilla Firefox." It looks really nice on a resume... though you might want to leave the part about working as a truck mechanic off there. -ellie
Slashdot is a bit of a weird place, in that I can just imagine the majority of the answers are going to talk about things like Google Summer of Code, or working on an open source project, building your own software, etc...
I'll tell you, those things may help you learn your language or platform better but it will not help you be a better engineer. Unfortunately only time in the trenches does that. Being a good engineer fit for a job at a software company, you need to know how to work on a team, set and meet deadlines, write documentation, etc... all the stuff that you don't tend to get doing the informal stuff that everyone is likely to be talking about here.
An internship or entry level position doing continuation engineering or a junior/associate engineer is going to get you more useful experience than all that other stuff, assuming you actually do know how to write software.
1) post to Slashdot
2) ????
3) Get a Job
4) Profit.
I suspect step 3 might be recursive, though.
A good truck mechanic can make 50 grand to a hundred grand a year......
You might want to pick a less worthy job for comparison....also, hard to *outsource* a truck mechanic job, yes?
Since you sound pretty new to programming in general, I'd spend a few nights a week just messing around. Make a blackjack program, add graphics, create a login system with different users and accounts. Just fuck around and get so used to programming that it's like writing in English. Have an advanced math class? Make a graphing calculator and write your own syntax for equation solving, whatever you are into... and just keep plugging away looking for jobs, you'll find one.
I don't know how easy it is as someone with a fundamentals-only grasp of C/C++ to just jump into a major open source project and "start fixing the easy bugs". Everyone seems to suggest this and forgets that working with Open Source projects has a steep learning curve of it's own.
You have to learn version control systems, the community, what constitutes "easy", you have to learn the scale and meaning of each piece of the project, you have to learn communication and moreso, you have to know enough to actually fix things.
If you're just looking to learn, you've got plenty there. But using OSS projects to learn means a very high overhead and initial learning cost before you learn about coding or code design at all.
I know I'll get modded down for posting an offtopic reply, but my message is very, very important to all /. users (except the 1% who are female): guys, stop this "girls hate me because I'm a geek" nonsense!
The two great loves of my life have been CompScis, and they are two of the greatest guys I ever met. They've helped me learn to program, take things apart with screwdrivers, read some great books, and have a much more interesting life. Geeks are great. The only problem comes when you take being a geek as an excuse not to wash, to dress like an asshat, and to forget your social skills.
To the original poster - don't listen to anyone who tells you a computer-related job will kill your love life. Expand your knowledge, be passionate about what you do, and anyone who (metaphorically) mods you down for it isn't worth knowing. Also remember to shower, and get some nice shirts :)
A closed mouth gathers no foot.
A woman's POV isn't worth much on what attracts women? Yeah, I can see that I made a big mistake there...
Who said a geek guy has to go out with a geek girl? My point is exactly not that. It's that "normal" girls won't find you unattractive because you're a geek, but they will find you unattractive if you don't wash and can't hold a conversation!
And if you really think I have a "large pool" of geek guys? You have to be kidding! You're all too convinced that women hate you to offer us more than a suspicious sneer ;)
A closed mouth gathers no foot.
No way. You sound like a total player who will just use me for my superior programming skills and irresistible body. I'm not just some enormous slab of brains and meat, you know.
I have feelings.
DRM: Terminator crops for your mind!