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

18 of 328 comments (clear)

  1. 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 CRCulver · · Score: 1, Interesting

      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.

    2. Re:Bugzilla! by NewbieProgrammerMan · · Score: 2, Interesting

      Yep, I think that's pretty much what I'd do unless I absolutely needed a job and there was nobody else offering. The last time I began to experience pushback about using that "hippified open source stuff that's not backed by a real company," (not stated in those terms of course, but that was basically the attitude) I decided to tough it out and keep working there. It turned out to be a colossal waste of my time, but I didn't realize it until I had put way too much time and effort into it. At least I learned to keep my eyes open for the next time, but it was still a pretty expensive lesson.

      Sometimes I think the PHB fear of open source probably indicates a deeper distrust of people working for them who do stuff they don't understand. But maybe that's just my distrust of people that do all that businessy stuff that I don't understand. ;)

      --
      [b.belong('us') for b in bases if b.owner() == 'you']
  2. 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.

  3. Experience doesnt have to be "Professional" by CyberBill · · Score: 2, Interesting

    Work on some of your own stuff, make a cool game, or a tech demo that shows off something somewhat complex (some physics, AI, graphics, whatever you're into).

    The experience doesn't have to be in a company, most likely its going to be VERY difficult to get a job when you don't even really know the language yet. Be sure to get experience with the more difficult programming concepts in C++ such as templates, singletons, and auto-registration (if your compiler supports it).

    --
    -Bill
  4. 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.

  5. Co-op/Internship by alucard963 · · Score: 2, Interesting

    In my time at college, I've found that the most valuable experiences I've had have been at internships with real companies. Ask around at school and see if there is any kind of Career Center or other staff for students looking for work that can help you find an internship over the summer. Don't feel held back by your lack of experience; just be honest and they will let you know if you're not qualified.

    In addition to getting a feel for the real world of programming (and maybe making some money over the summer), being able to put industry experience on your resume before you even graduate from college is immensely valuable and shows potential employers that you're serious about being in the field.

    And if you find that you hate working in the real world, you find out before graduating from school ;).

  6. Practical work involves APIs and patterns by Kupfernigk · · Score: 2, Interesting
    In order to work productively in any kind of modern programming it is not enough to know the basics of a language. You must understand its hinterland - the various extensions and their APIs, and the programming patterns to which they lend themselves. I am far from a genius programmer, in fact quite mediocre, but I have stayed employed for many years through understanding how to write code which tightly couples databases, servers and client applications, and, more importantly, why you would want to do this. I find far too many programmers who, for instance, understand at an academic level how J2EE works, but have not the slightest idea what it is useful for.

    Before getting involved in an Open Source project ask yourself - and this is a difficult thing to ask - what it is going to be useful for and what kind of business might use it. Is that the kind of business you want to be in? If you don't know, do some research. Remember a valuable fact: contribution to, say, the Linux kernel is easy for anybody anywhere in the world, whereas writing code that extracts and condenses human knowledge and then turns it into a system is far easier where the relevant human beings live. If you live in the Bay Area, it should not be too hard to work out where the business opportunities lie, where automation might cut costs or have other benefits, and what Open Source projects might be relevant. Then choose one, learn it, and send your resume round to people who might be interested.

    What I am describing is a lot of hard work, by the way. But you already knew that, if you wanted to succeed in programming, you were going to have to work hard.

    --
    From scarped cliff or quarried stone she cries "A thousand types are gone, I care for nothing, no not one."
  7. Re:how to get a job 101 by Anonymous Coward · · Score: 1, Interesting

    The fact that he's posted to /. shows he's already a lost cause.

    Otherwise I'd say, "Get out now!" If he quits before he starts working in the field, he still has a chance for a normal life that includes dating girls and having sex, but since he's already posted on /. I guess he might as well give up on that ever happening.

  8. 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".

  9. Re:A temporary job that'll benefit you the most .. by dubl-u · · Score: 2, Interesting
    As somebody who helps hire programmers in the Bay Area, I agree that you should not be looking for a short coding job.

    In hiring somebody with a CS degree but not lot of professional experience, there are three things I look for, in increasing order of importance:
    • academic understanding - This is the stuff that your professors think is important. If I can trick you into telling me that you can write a program that will tell whether another program will terminate, or if you aren't comfortable with big-O notation, I'll suspect that you didn't take your classes very seriously. I don't actually care much if you know those things, but I do care if you're a slacker, or are in the profession more for money than love of the topic.
    • practical experience - The biggest resume positive on this one is participating actively in, or -- better yet -- starting an open-source product I can look at your code, look at your mailing list participation, and look at the project itself to see whether or not you can successfully code in the real world. It can be small, and in fact that may be better, as it shows a little humility and it's easy to evaluate. But I need to believe you can accomplish more than just a rushed end-of-semester project that nobody ever actually used.
    • understanding the business - Coding is definitely what it's all about, but I have dealt with a number of prima donnas, brilliant idiots, and uncompromising idealists that caused enough trouble that they were of net negative value to a team, despite amazing talent. I am much more likely to hire somebody that understands that we are there to be responsible professionals serving the needs of our employers and users, and knows enough about the business of software to work smoothly with their colleagues. That way I won't have to beat them to death and hide their body, a situation I try to avoid.

    So definitely look at jobs that give you maximum insight into the whole process. QA is indeed a good place to see what's going on. Product planning, user research, and server operations also have plenty of grunt work, and valuable perspectives that are often neglected. You would also learn a ton from tech support, but that can look a little inglorious on a resume, so only do that in a shop small enough that tech support is just one of those things that programmers or product managers do as a sideline.

    I also strongly encourage you to look for a shop that is as agile as possible. Some companies, especially startups, are doing one-week iterations and weekly releases. Many are doing two-week iterations and monthly releases. Your internship will be much more valuable to you if you can see 8 weekly release cycles, rather than 1/3 of a 6-month release cycle.
  10. Re:how and why.... by ElizabethGreene · · Score: 2, Interesting

    > How and why did you make the switch?

    I switched because of snow, more specifically feeling around in the snow to find a hammer I dropped while changing a leaking wheel seal behind a weigh station. My hands were so cold I couldn't feel it when I picked it up. Nothing I have experienced in IT has been worse than that. Running cable through a blown-insulation attic on the hottest day of the summer is a very distant second.

    -ellie.

  11. 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...
  12. I can re-late! by zogger · · Score: 2, Interesting

    I live in the south now, but all my younger years up in "everything is rusted tight and rotten and frozen, and nasty crap falls in your eyes, and...) land. Two sets of tools, keep one inside and heated, swap out as they get frozen, build tents around vehicles and run out infra red bulb clamp lights, laying down in frozen slush, etc. nuts.....

    Anyway, thanks for the reply, I guessed as much there would be an interesting story behind it! I'm still just a generic multi function tool user, here on de farm, but appreciate all the fine and not so fine code that devs put out. Me brane doesn't exactly work that way to do it myself (nor any huge interest truth be told, inside is for relaxing, outside is for work and make money, hard coded in my DNA I guess..), but I throughly enjoy using computers, great communications tool. I like writing, that's about it for being a keyboard commando.

  13. Re:how to get a job 101 by psychodelicacy · · Score: 2, Interesting

    Hmmm... Well, I usually give guys my email address (I hate telephones), and if they don't offer theirs in return it usually means it isn't happening! But they may email - it's their decision. If you can find a good reason to ask for someone's email, that can be good - people feel less threatened giving out their email address rather than their phone number.

    How to not let someone fall asleep while you're talking to them? Ask them questions - about themselves and their interests. And when they answer, follow up by asking for explanations of details and things you don't understand, or sharing experiences of things you do understand. When they ask you questions, take them seriously, assume that they mean the questions genuinely, but be prepared to back off and turn the focus back on them if they begin to look bored. And have some fun facts or amusing anecdotes on hand about your interests, so that you can lighten the conversation if you suddenly realise you've been listing technical details for five hours ;) The fact is that most people can make what they do sound interesting, it just takes a bit of practice, and trying to imagine what aspects would be interesting to a non-specialist.

    Before next time you see them, you could google some of their interests and see whether there's something you can slip into the conversation - not "I obsessively googled every topic you mentioned last time", but "oh, hey - I saw in the news that rhino conservation is becoming big in Tasmania, is that right?" (This assumes that rhino conservation is one of the person's interests, of course.) And if you can make her laugh, you're probably doing very well.

    I'm no expert, by the way. But this is the kind of thing that makes me really happy to spend more time with a guy. YMMV.

    Getting her into bed... Well, that's lesson number 2! Send me a message once you've done all the above successfully, and we'll discuss it :)

    --
    A closed mouth gathers no foot.
  14. Re:how to get a job 101 by The+One+and+Only · · Score: 2, Interesting

    A woman's POV isn't worth much on what attracts women?

    Paradoxically, it isn't. There's a difference between what attracts a person and what that person believes to attract them. Psychology is like that. Oh, and it works for men too: I don't even pretend to understand why one woman is more attractive to me than the other, aside from the obvious aspects.

    --
    In Repressive Burma, it's not just your connection that dies. slashdot.org/comments.pl?sid=314547&cid=20819199
  15. Re:how to get a job 101 by nschubach · · Score: 2, Interesting

    aside from the obvious aspects.
    You make six figures, inherited a fortune, and drive around in a sports car?

    Seriously though, this is way off topic for the original posting about some kid trying to get job hits on Slashdot, but I have to admit: I'll play along just to ask the same rhetorical questions. I've pretty much given up finding _that_ one girl. She's taken by now. A 10+ year search led me nowhere but a few realizations. I'm a pretty picky person, I refuse to settle, and I'd rather live alone than deal with the mental pain when I ask her if she wants to go somewhere and she declines then yelling at me for staying "too late" or "taking too long to get home."

    One of the posters above mentioned that women lose interest if you don't maintain the "push" and continue going after it. That's the one thing that PISSES me off about dating in general. Why is it the guy that has to be the pushy one to get you involved? It's bullshit if you ask me. Why is it the socially accepted norm that the guy has to be the initiator and the girl gets to be the decider? And who's to decide if I dress like an asshat? In the past few years I decided to try something. I decided to go to several places, sit back, chill out, and mind my own business. I don't casually glance across the bar or any of that lame ass stuff and I wait. I've had 1, yes 1, girl actually walk up to me and start a conversation. She was drunk off her noggin and wanted me to follow her into the women's bathroom. Call me a "nice guy dork", but I won't do that and if it took alcohol to get that one girl to loosen up to the point where she'd actually leave her inhibitions about being called a slut, then there's something wrong about society in general. So, should I seek out my gay friend and ask him to dress me for the night so you will realize that I'm just an average guy trying to live and be happy with my life? So she can realize that I'm the same guy that expects the girl to have a job and make money to pay for her own wants instead of me working harder to supply it for her?

    Doing the dating scene for the past 10 years, I've found that most women are looking for some guy who wants to go places all the time and will spend his entire waking hour thinking about her and ways to make her happy and is willing to drop his friends at a drop of a hat to come home and make her happy. When I was fresh out of high school, the girls only talked about finding someone nice and "love". Later in life, it turns into a quest to find the guy that has the best 401K. She's looking for that same guy who claims to like mountain climbing and photography, but interestingly enough, doesn't have photos of any climb. Let's not even get into the idea of forgetting about Valentine's day and all that one sided gifting crap. Those are the only ways you can PROVE that you love her. Simply coming home to the same person every night isn't enough?

    Damn, I'm becoming the cranky old guy and I'm not past 30 yet. I think I am finally beginning to understand my Grandfather. Ah man.
    --
    Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
  16. Don't do it by Aceticon · · Score: 2, Interesting

    Taking software development as a job will spoil it as a hobby.

    (I should know)

    In the current market, it's not even a financially sound choice: you should have noticed by now the comments about how hard it is to find work as a Junior Developer - take it as a warning.

    If you do manage to punch through the no-job-unless-ur-senior barrier that the service outsourcing trend has raised in IT, then life isn't too bad, though nowadays, unless you're a very specialized freelancer, software developers are paid barely above less specialized jobs.

    Given the frequency of posts here on Slashdot about redundancies, outsourced jobs and in general overworking and death marches (don't get me started on that), I'm amazed nobody else has come out and said it before me: "Nowadays, working in IT sucks ... big time".