Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming IT Technology

Practical Experience As a Beginning Programmer? 328

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?"
This discussion has been archived. No new comments can be posted.

Practical Experience As a Beginning Programmer?

Comments Filter:
  • GSOC (Score:5, Informative)

    by thefear ( 1011449 ) on Sunday March 30, 2008 @12:21PM (#22912568) Homepage
    Google summer of code is pretty good for practical experience, but the application period closes tomorrow :(
  • Volunteer (Score:2, Informative)

    by TigerDawn ( 314322 ) on Sunday March 30, 2008 @12:32PM (#22912682) Homepage
    Basically either find an open source initiative and volunteer your time. Get involved in open source, or sit down with a print out of the linux kernel and read it until it all makes sense. Then contribute.

    I do not know how many CSC PHD's that just read the linux kernel, and are amoung the smartest people I have met out there.
  • Re:Bugzilla! (Score:3, Informative)

    by Anonymous Coward on Sunday March 30, 2008 @12:37PM (#22912740)
    I think they're more worried about their closed-source products becoming contaminated with derived-from-open-source code
  • Programming (Score:1, Informative)

    by Anonymous Coward on Sunday March 30, 2008 @12:38PM (#22912744)
    Most entry level applicants generally don't get 'programming' positions.

    Most companies like to start new grads/interns/co-ops into other positions to give them a feel how 'the company works'

    You might try starting in :

    -Technical Writing
    -Technical Support
    -IT
    -Software Testing

    Probably Technical Writing and Software Testing are the favorite entry level starting points for most companies. Software Testers typically don't write code, but test-cases, which should give them a much better feel of what is expected of the coders.
  • Re:Bugzilla! (Score:5, Informative)

    by hacker ( 14635 ) <hacker@gnu-designs.com> on Sunday March 30, 2008 @12:54PM (#22912886)

    The last 10 years of my resume has nothing BUT Open Source/Linux work, much of that working for big, non-OSS companies.

    I just got a new job at a Fortune 500 financial firm in lower Manhattan spending my day building and debugging FLOSS applications for Linux and Solaris. Their criteria for hiring me was specifically because of my long-standing ties to the OSS community and my work on FLOSS for the last 14 years.

    These companies do exist, and they DO value your OSS contributions, if you state them clearly and succinctly on your cv/resume.

  • by Gorobei ( 127755 ) on Sunday March 30, 2008 @12:57PM (#22912912)
    If you want to do corporate programming, experience in a corporation is much more important than the actual day-to-day work. You have to learn how these environments function. All to many slashdotters dismiss the entire eco-system as "lots of stupid, pointy-haired bosses."

    Bad firms have bad bosses, good firms have good bosses, etc. It's hard when you're inexperienced, but aim for the good firms: being a genius at a bad firm is just damaging to your health.

    1. Inventory your skills: are you a programming god or just good? do you want to work long hours, or are just willing to? do you want to build relationships or just write code? does meeting clients excite you or seem a distraction? Answer honestly, and you've got a good cover letter.

    2. Hit personal relationships. No hard sell needed, just point out you're looking for a summer job and ask the person to keep you in mind. Mention the points in 1, so he'll feel comfortable in making a recommendation (last thing I want is a person telling me he wants to write code, I refer him to a peer, and the applicant spends all summer trying to meet clients, etc.)

    3. Do the usual sending resume stuff. It doesn't hurt and you might find a match.

    4. Write code, build on-line relationships w/ other tech people, contribute to open source projects, etc. Sure, it's not a job, but it's better than nothing. I've hired a lot of people based on their OSS participation or academic work.
  • The skills you're less likely to pick up there, but which you can pick up in a shorter temporary project are things like QA, marketing, sales, system administration, maybe even customer support.

    I see your point, but I sort of think if he wants to be a developer, he should do development. If anything offer to program at a very low rate as others have suggested. I've seen many people that want to code get stuck in QA for years. If he does take a QA job, he should definitely try to get access to the source code and try to write up much more detailed bugs than the other QA engineers and always be telling people he's interested in becoming a developer. This is definitely a delicate subject because the QA managers will probably not be happy with that. Also, I don't see this path with marketing/sales since it's really a different world and does not interact as much with development as QA or sys amdin. I have seen customer support folks move over to development on occasion too. But again, all of these take a lot of time and hard work, when if you have development skills, I'd suggest just being a developer right off the bat in any way possible (e.g. internship)
  • by Mutatis Mutandis ( 921530 ) on Sunday March 30, 2008 @02:14PM (#22913512)

    I suggest looking for an opportunity in a small start-up. Perhaps you don't want to associate with the proverbial two nerds in a garage, but you can learn much more in a small firm, that perhaps has a dozen people dividing all the work between them. You'll learn to do much more than programming, and working in a small firm is more fun. And besides, a small cash-strapped start-up is more likely to hire a college kid to do some coding, than a large established firm.

    There may also be good opportunities in companies that aren't in the IT sector, but in research & development, for example a biotech company. Usually these companies don't have very strong IT departments (and again, you will learn more in a small team), and they will hire people on short term contracts to complete specific projects. Even a medium-sized biotech might not employ a single skilled C++ programmer on a permanent basis (the density of C/C++ programmers in this environment is around 0.3%), so they might be willing to hire you.

    Or, if it interests you, look for small firms that develop hardware, such as instrumentation, robotics, or consumer electronics; or small engineering outfits that produce custom development and automation. There isn't that much C/C++ in a typical IT job these days, rather a lot of the work is now in web development, database applications, Java and .NET. But people who interact with hardware, especially if it's time-critical, still have a need for the level of detail and control that C can offer.

    And probably it's best to work through an agency or consultancy firm. I don't know US practice, but on this side of the pond it IT directors who need and extra person on the team won't place adverts or look through job applications. Instead, they will send out a request to specialized agency or consultancy firm.

  • Re:Well... (Score:3, Informative)

    by h3llfish ( 663057 ) on Sunday March 30, 2008 @02:26PM (#22913588)
    It seems to have worked pretty well for him. There are lots of good ideas in this thread. And maybe, just maybe, one or two other young younglings are in his shoes?
  • by BitZtream ( 692029 ) on Sunday March 30, 2008 @03:42PM (#22914188)
    As a lead developer for a software company, I disagree. I think it is vital for developers to know how to do QA, with and without having access to the source.

    You need to be able to understand what your QA engineers are saying when they give you feedback. If you've never done it, its a lot harder to understand what they mean when they don't know the innards of how the software works.

    A developer that understands Marketing/Sales can also understand how to help those areas without comprimising the application standards and usefulness. You as a developer are almost always driven indirectly, and sometimes directly by sales and marketing. Understanding that process will help you deal with their requests more appropriately when they make some request that appears completely stupid to you as a developer.

    There are far too many developers that write code without any real understanding of what its being used for. A good developer not only understands how to write code, but how to write code that the users will USE. You can write the most beautiful, standards compliant, fastest software on the planet and you won't sell crap if the users can't use it, or the sales people can't sell it.

    There is a lot more to being a developer than just writing code. Especially the higher up the developer food chain you are. You need to understand where all of your input is coming from, why, and then you figure out how to best implement their requests. A developer who produces code based on their own personal agenda as a developer (be it standards compliance, code speed/size, readability or whatever) won't last long when working for a development company, or at best, you'll always be the guy on the bottom of the ladder who just churns out whats thrown at you.

    For any future developers out there, PLEASE learn how to understand your bug reports and end users requests before you start thinking you're gods gift to the CPUs of the world, you aren't, someone else is better at both writing code, and making it what users want. Always.

"I've seen it. It's rubbish." -- Marvin the Paranoid Android

Working...