Slashdot Mirror


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?"

31 of 328 comments (clear)

  1. GSOC by thefear · · Score: 5, Informative

    Google summer of code is pretty good for practical experience, but the application period closes tomorrow :(

    --
    :(
    1. Re:GSOC by Otter · · Score: 3, Insightful

      There's no reason why you can't contribute to the community project of your choice without Google's pre-approval. If anything, Summer of Code, with the hand-holding it's supposed to have, is probably less representative of a real workplace than just showing up is. (Although neither really gives the sort of workplace experience he wants.)

  2. Bugzilla! by ElizabethGreene · · Score: 5, Interesting

    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

    1. Re:Bugzilla! by Mikkeles · · Score: 5, Insightful

      Maintenance programming in general is an excellent place to start. There is no better way to appreciate and learn about good and bad architecture, good and bad code, and to develop understanding of those attributes which influence maintainability. It allows you to focus on how to build without the interference of what to build.

      --
      Great minds think alike; fools seldom differ.
    2. Re:Bugzilla! by Anonymous Coward · · Score: 3, Informative

      I think they're more worried about their closed-source products becoming contaminated with derived-from-open-source code

    3. Re:Bugzilla! by kaens · · Score: 4, Insightful

      I suppose it would depend on the company, but I would suspect that this tendency is becoming less and less of a concern as more people are using OSS in their everyday lives.

    4. Re:Bugzilla! by hacker · · Score: 4, Informative

      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.

    5. Re:Bugzilla! by The+Living+Fractal · · Score: 3, Insightful

      I wouldn't leave the part about being a mechanic off of there. Personally, I think it shows a capacity to understand things from multiple perspectives in a cross-trained fashion. And there's nothing wrong with showing people that.

      --
      I do not respond to cowards. Especially anonymous ones.
    6. Re:Bugzilla! by mcpkaaos · · Score: 4, Insightful

      though you might want to leave the part about working as a truck mechanic off there As a SWE with 15 years experience, let me give you some advice: do not leave this sort of information out, especially if it involves anything technical in an unrelated field. This demonstrates breadth of knowledge, which few programmers can claim these days. I believe that in most areas of programming, wide is better than deep (just my opinion, of course).

      In any case, I wouldn't look down on mechanics. Most of "them" are probably smarter than most of "us", if you really stop to think about it.
      --
      It goes from God, to Jerry, to me.
    7. Re:Bugzilla! by kevin_conaway · · Score: 5, Insightful

      I've often heard it said that open source experience is useless on resumes, because then employers of developers for closed source projects (regrettably the majority of software jobs) will think you are so kind of hippie rebel and they won't trust you keeping their code under wraps.

      An excellent sign of a company you don't want to work for. If an interviewer ever said something to that effect, I would thank them for their time and leave.

  3. Hate to break it to you by antifoidulus · · Score: 3, Interesting

    but, at least from my own personal experience, its pretty late in the game to be looking for a summer job, esp. if you don't have very much experience. Not that you can't, but I would look into open source stuff and just your own personal computing needs to find stuff to work on. Many people will go on in detail about open source, so I'll just speak to the latter:

    Do you have any monotonous tasks that you do on your computer that you think could be automated? Well then automate them! Even if it isn't very good, it will still familiarize you with the various languages and how computer programs work to solve various problems.

  4. C/C++/Obj-C by chaos215bar2 · · Score: 4, Insightful

    If you do decide to apply for an internship or something, make sure you really mean "C/C++/Obj-C". Though C++ and Obj-C both build on C, they are quite different from each other, and each introduce several concepts that are not found in C and that you would be expected to know thoroughly if you claimed knowledge of the language. Also keep in mind that because of these differences between the languages, it is even possible to sort of offend some people by lumping C and C++ together as C/C++. Though I haven't experienced it myself, I would expect the same to be true of Obj-C.

  5. Finding a job.... by caffiend666 · · Score: 3, Insightful

    Finding a job is your first practical experience. Finding a job is the most important project which will repeat throughour your career :) I am a Perl programmer, and I get most of my jobs through Perl Mongers, directly or indirectly. Build up your personal coding experience, and build up your reputation in the local groups for your programming language. Also, when in doubt take an internship. Working for $10 an hour as a programmer keeps the lights on and ramen on the table, and builds up lots of resume fodder.

    --
    Here's to losing my Karma Bonus again....
  6. A temporary job that'll benefit you the most ... by SSpade · · Score: 4, Interesting

    ... will probably not involve C++ development.

    There are a few reasons for that. The minor ones are that most C++ / ObjC projects are big enough that it's difficult to bring an experience programmer in to work on them for just a few weeks, let alone someone with no large project experience. Not impossible, by any means, but not something that a larger company is likely to do outside of a more formal (and longer term) sponsorship arrangement.

    The big reasons are that the absolute _last_ thing you need either on your resume, or to enhance your skill set is a brief job coding. The basic coding is something that you should be picking up the basics of in college, rounding out a little with some personal coding (helping out with the countless open source projects out there, for instance) and won't really bring to fruition until you're doing it full time.

    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. So look at picking up a grunt work job in the field that's not directly touching code. QA and testing (for a real software company, not EA or anything in that field) is a gig you might well be able to pick up, and which would teach you more about good software design and good software project management in a painful 8 weeks than you'd learn in a year writing software. If you can do that in an early-stage startup, and see that business process too, at least from the sidelines, even better.

    Heck, if you could wangle it, working as a gopher for one of the Sand Hill Rd VC firms would be one of the best introductions to a career in the software field, I think.

  7. Hmmm by tgd · · Score: 5, Insightful

    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.

  8. I've got #3 figured out for you by Anonymous Coward · · Score: 5, Funny

    1) post to Slashdot
    2) ????
    3) Get a Job
    4) Profit.

    I suspect step 3 might be recursive, though.

  9. Testing by MosesJones · · Score: 3, Insightful

    Start at the cold hard rock face of development. The Testers, skills required are not as sophisticated (you have to repeatedly break stuff) but it will give you a great insight into just how badly some "professional" developers code.

    Testing has the added advantage of being a place where its low paid and turnover is high so its a good place to get started in IT.

    --
    An Eye for an Eye will make the whole world blind - Gandhi
  10. truck by zogger · · Score: 5, Insightful

    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?

  11. Re:A temporary job that'll benefit you the most .. by ChrisGilliard · · Score: 4, Informative

    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)

    --
    No Sigs!
  12. Re:how to get a job 101 by Alarindris · · Score: 5, Insightful

    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.

  13. Re: That's great, but is it practical? by Anonymous Coward · · Score: 5, Insightful

    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.

  14. Re:how to get a job 101 by psychodelicacy · · Score: 5, Insightful

    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.
  15. Re:how to get a job 101 by Anonymous Coward · · Score: 3, Interesting

    respectfully, you are not in a position to have a point of view that is worth much on this topic. If you're one of geek women, then you have a large pool of geek guys to work from. What is interesting is that you mentioned 1% that are female. So how else would expect those 99 out of 100 geek guys to feel who could not find that 1% of geek girls? It's not like women are a resource men can share with other men.

    Here's some tips that will actually be useful. Men should dress for the kind of women they wish to attract. If you wear t-shirt and jeans to the bar (which is common attire in SF bay area), a man will attract one kind of woman. If he wears some trendier fashions he will attract another kind of woman. It helps to go to places where there are woman in a social setting, depending on the kind you are interested in. Bars, clubs, etc will have one set of women. But it is far easier to take some classes in cooking, art, etc to meet the more interesting females in a less intimidating setting.

    Here's the biggest tips. Look a woman in the eyes when you talk to her and when she talks to you. Make sure you avoid actions that might be interpreted as disinterest because most women give up easily on the "first flirt".

  16. duh - be an intern by OrangeTide · · Score: 4, Insightful

    1. You're in college
    2. You're in the bay area

    You must simply become an intern. There are plenty of resources at every college for finding out about this and applying for an internship. I've been a SW developer for almost 10 years, and it really is the second best way to get a job as a developer. (the best way is to know someone)

    Even though we're sliding into an economic downturn. Interns are so cheap (most get paid in the bay area, but not much) that companies look to them to shore up their need for employees in the rough times. Once you're done being an intern though, you will find it very hard to get a job unless you had some fantastic internships.

    There is little demand for junior developers right now(if this was 1998-2000 you would have no problem), and it is going to get worse before it gets better.

    Not sure why this had to be an Ask Slashdot.

    --
    “Common sense is not so common.” — Voltaire
  17. Re:how to get a job 101 by psychodelicacy · · Score: 5, Insightful

    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.
  18. Re:how to get a job 101 by spazdor · · Score: 5, Funny

    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!
  19. Re:When one is reviewing CVs.... by The+Living+Fractal · · Score: 3, Insightful

    Programming credentials will fit on a single page, with plenty of room to spare. If I structure my resume so that what you need to see is foremost and then I show you that I am also a well-rounded individual, with skills in more than one area, and maybe even something that shows social skills, and you as a hiring agent do not appreciate that, then I do not think you are a very good hiring agent.

    --
    I do not respond to cowards. Especially anonymous ones.
  20. Re:how to get a job 101 by psychodelicacy · · Score: 4, Funny

    "I'm not just some enormous slab of brains and meat, you know."

    Oh. You mean you're one of those small, weedy guys? Fine - don't wanna have coffee with you in that case.

    **sulks**

    --
    A closed mouth gathers no foot.
  21. Re:how to get a job 101 by sjs132 · · Score: 3, Interesting

    OffTopic! I don't even get Funny, I get offtopic! Shhs... The kid is so digging for a job in the post, it should have been rejected from the getgo and never make it to the main stream. Must of been a slow news day. But I use slashdot appropriate humor to point out that the kid is pandering for job offers, and I get an offtopic... Slashdot is going down when it starts posing as the next "Monster." Maybe I should of included the all powerful "First Post!" but I figured I was above that... Guess not.

    --
    --- Relax, that mass muderer is just trying to reduce our carbon footprint, one fetus at a time...
  22. Re:how to get a job 101 by jdigriz · · Score: 3, Insightful

    >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 :)

    While you are no doubt correct that a geek profession is not an absolute barrier to a lovelife for a straight guy, there are several things to consider

    1)If you become a coder, you will most likely not be meeting a girlfriend at work if your job mostly involves staring at a screen and working only with other guys, particularly if your development organization is isolated in its own building or part of campus. Other professions are more advantageous for meeting women on the job:doctor and teacher are two that come to mind. Studies have shown that an embarrassingly large percentage of people met their mates at work.

    2) Development can involve insane schedules if you have poor managers which is the case at most places. Poor management being the #1 reason why most software sucks. Less time for going out and meeting women .

    3) You won't be able to talk about your work with most women. Either they will find it tedious or incomprehensible due to the lack of technical background. This is not necessarily a bad thing, most people find 'shop talk' in social settings a boring topic, but it's not nearly as advantageous for dating as saying "I'm in a band, hey you should come see us play." Or "I fly jet fighters" or " "I'm independently wealthy. I devote my time to helping needy kids and saving fuzzy puppies" or "I'm an artist. I'm having an exhibition at xyz gallery."

    4) Your daily work environment is not likely to improve your social skills or physique, unlike say, being in sales or an apartment moving company. Various jobs practice different skills. Coding will in fact make you more logical and literal which are not advantageous to forming an emotional connection with someone.

    But still, correlation does not imply causation. There are plenty of married geeks, and plenty of people have poor social skills which are often preexisting long before getting into technology.

    Best of luck to you.

  23. Re:how to get a job 101 by beav007 · · Score: 4, Funny

    People obsessed over their own (and usually, others) appearance forgetting all about verbal communication or keeping up with news making it impossible to keep up smalltalk.
    I find that, while conversing with females, that Smalltalk has its place, as long as Java is involved. That said, Ruby and Perl are very effective. You can try Python, but that will often do more bad than good.