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

63 of 328 comments (clear)

  1. how to get a job 101 by sjs132 · · Score: 2, Funny

    1) post to slashdot
    2) ????
    3) ????
    4) Profit.

    --
    --- Relax, that mass muderer is just trying to reduce our carbon footprint, one fetus at a time...
    1. 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.

    2. 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.
    3. 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".

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

      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.
      I've heard that there are some girls like that ... it'll cost you, though.
      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    6. Re:how to get a job 101 by psychodelicacy · · Score: 2, Insightful

      I think you're very wrong. Look at dating sites - a lot of women's profiles are very honest that they're not looking for fat or ugly guys. Many of my female friends and I will openly scope out the good looking guys (and, yes, their trouser-bulges) in a bar even when we're around male friends. Yes, most of us, like most men, are keen to be with someone who we find physically attractive. But that's not necessarily going to be the standard handsome muscular guy. I've met guys who I thought were only average-attractive until I got to know them; their intelligence, humour, and personality made them incredibly sexy. On the other hand, I've never met a really handsome man who was sexy without being intelligent.

      I've also encountered a lot of guys who claim to want to get to know a girl's personality when what they really want are her 32-double-Ds. I've met some who will pretend a lot of sensitivity and interest in women's views and opinions which magically vanishes once they've got the goods. So what? A lot of people are shallow and it's not gender-specific. Just try to avoid them.

      --
      A closed mouth gathers no foot.
    7. Re:how to get a job 101 by psychodelicacy · · Score: 2, Funny

      Preeeee-cisely.

      You wanna meet for coffee sometime? ;)

      --
      A closed mouth gathers no foot.
    8. 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!
    9. 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.
    10. 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...
    11. 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.
    12. 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.

    13. 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
    14. Re:how to get a job 101 by rawler · · Score: 2, Insightful

      The problem is that a very deep passion (obsession?) about something tend to lead to loss of other skills (humour, social skills, or in my case, loss of the entire right half of my brain).

      Exactly WHAT the passion is all about is in my experience not very important. Geeks just happen to be a popular example, but some other examples are:
        - Business-people not knowing when to shut up about their latest deals.
        - 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.
        - Extremely outgoing social people, making it a point to know a lot of people. They can be completely useless as friends or boyfriend-girlfriend material since they never learnt how to commit to a single relationship.

      So in essence, I think the problems with being a geek is that you almost per definition are close to an obsession, which automatically will make you care less about other skills and aspects of your personality. So I would say that to some extent yes, being a geek has a good chance of making you less attractive, but it's completely your choice how far you want to go. It's no reason to give up a social life but, as with most things, it's a matter of priorities.

    15. Re:how to get a job 101 by psychodelicacy · · Score: 2, Insightful

      I take your points, but remember that most people are not in a band, don't fly jet fighters, and aren't independently wealthy. Most people work in stores, as road sweepers, janitors, office drones, whatever. And most of them can't (or shouldn't!) talk about the details of their work to girls - "So, today I sold a C667Ex6 model sofa with turned wood legs, and a G665ff54 model chest of drawers. Can I buy you a drink?". Compare that with "today I worked on a system that stops your plane from falling from the sky next time you go on holiday". It's not what you do, it's how you present it!

      Male geeks have a culture of "women will hate me because of what I do". And - let's face it - for a lot of them it's both a badge of honour and a protection mechanism. Sexy geeks are the ones who drop that act.

      --
      A closed mouth gathers no foot.
    16. 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.
    17. 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.
  2. 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.)

  3. 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.

    8. 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']
  4. Volunteer by TigerDawn · · Score: 2, Informative

    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.

    --
    Internet Retail spaces are wonderful. Get over it!
    1. Re:Volunteer by Frankie70 · · Score: 2, Funny

      sit down with a print out of the linux kernel and read it until it all makes sense.

      How do I do this? I can't seem to find the "print linux kernel" button?

  5. 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.

  6. Learn everything! Also, move. by certron · · Score: 2, Insightful

    While I don't program every single day at my job, I have helped out with some Java servlets stuff using Hibernate and Spring. I've also picked up some Ruby on Rails for another project that the company had going. (Once the contractors leave, someone has to make sure it gets updated!) The trick is to never stop learning, and keeping an open mind to different languages. While I do wish I were better at Common Lisp, there's still time for that, and it was intriguing enough when it was taught in my Programming Languages course. Understanding algorithms and data structures will probably give you the biggest advantage in conquering whatever language you have to work with and bending it to your will. If the foundations are strong, you can easily get by (or even master) a new language when it comes up.

    However, I'm also living in New Jersey, the state of a million suburbs. New York and Philadelphia are just far enough over the border to cause massive congestion and high property values (and taxes, and cost of living). My advice: while San Francisco may be rife with software companies and others who need development expertise, you might do much better looking outside the money-guzzling city.

    I feel a little bit like I just gave you old-man advice.

    --

    fair.org counterpunch.com truthout.com indymedia.org salon.com
    eff.org guerrilla.net debian.org gentoo.org
  7. 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
  8. 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.

  9. 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....
  10. 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.

  11. 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.

  12. 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.

  13. 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
  14. 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?

  15. 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 ;).

  16. 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."
  17. You've got the right attitude by Gorobei · · Score: 2, Informative

    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.

  18. Forget open source projects... by Vellmont · · Score: 2, Insightful

    Since you asked about a JOB rather than "how do I learn programming", I'll skip the usual dumb "join an open source project!" response.

    Personally I think an actual job is a better route, because it'll put you in contact with more people who use the software, rather than implementing some feature request someone made possibly on another continent. Plus, you actually get PAID (which is important to anyone in College without rich parents). Actual job experience looks a LOT better to most employers than working on a random, often unheard of open-source project. Not to say open source stuff isn't good experience, I'm just not certain how many employers value it.

    As to how, this may be obvious to you, but many Colleges and Universities have programs to connect students with companies. Those can be quite beneficial, and you usually get paid pretty decently compared to most student jobs. Have you not looked at the various job boards, talked to your instructors, etc?

    I'd also recommend just looking internal to your University. Many departments have come to use the student programmers as a cheap workforce. Scientists often need someone to do some programming for them, though they may want you to program in something quite outdated, like FORTRAN. Departments have programming needs as well. I think one summer I had three different programming gigs.

    --
    AccountKiller
  19. Good attitude by locokamil · · Score: 2, Insightful

    Someone will hire you. You've clearly got the right attitude: that's 90% of getting a job.

    The other thing I will suggest is applying to many, many companies to start with. HR departments at companies are black holes in general, and it may take quite a few applications before you get anywhere.

    I'm just coming off a longish job search myself, so I know how frustrating the process can be. Keep your chin up, and good luck!

  20. 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!
  21. Possibly volunteer work by plopez · · Score: 2, Insightful

    If you can't find a paying gig where they are willing to bring on a novice, find a non-profit and do volunteer work, e.g. creating web sites, maintaining databases of donors etc. Just avoid any controversial topics or organizations with religous affiliations, stick with things like hospitals and animal shelters.

    --
    putting the 'B' in LGBTQ+
  22. A small start-up, preferably in R&D by Mutatis+Mutandis · · Score: 2, Informative

    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.

  23. 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.

  24. Re:Well... by h3llfish · · Score: 2, Informative

    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?

  25. The best first job for an aspiring programmer is.. by 1iar_parad0x · · Score: 2, Insightful

    The best job/internship you could get is where you would become a junior member of a development team. This development team would follow the unified process (or some development methodology). They would use version control and bug tracking software. You would learn by seeing others work. It would be best if you were actually mentored by senior programmers (but in my humble experience this rarely happens). At worst, you learn a lot just by looking at senior programmer's code.

    If I were looking to bring in an intern, my first job for you would be to create end user documentation and comment existing code. Even this would require supervision, but you'd be exposed to a lot this way. Eventually, I might have you fix a few bugs. That's probably the best way for you to learn.

    Are you studying math? If so, where? You might be able to find a internship as a programmer. Many big software companies hire math graduates for programming positions.

    Also, there is an alternate option. It's not as good as the first, but it's probably easier to find. On the downside, you don't want to get stuck in these types of jobs. Find any place that would hire you as a programmer. Even if it's building small in-house apps. At first, your work is going to really suck (that's a technical term folks). However, over time, if you start to research on your own, you learn some best practices and develop some skills in software design. Plus, hopefully, you'll be able to land a gig in a development shop as mentioned above.

    --
    What do you mean my sig is repetitive? What do you mean my sig is repetitive? What do you mean....
  26. Re:A temporary job that'll benefit you the most .. by BitZtream · · Score: 2, Informative

    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.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  27. 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
  28. 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.
  29. 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.

  30. 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.
  31. 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.

  32. Web Development by NaishWS · · Score: 2, Insightful

    Things are heading more and more towards web based applications. Take for example the article recently featured regarding Adobe's Photoshop express, that is accessed online. Then you have maps, spreadsheets, word processing etc etc. As a web developer who recently graduated in computer science at university, finding a job was not too difficult. I had only very basic skills in MySQL and PHP to begin with but became quite competent later on. I was required to learn beyond what I had learnt at university, these skills included the Zend Framework (an OO PHP framework), AJAX, CSS and HTML that conformed to the W3C standard and programming techniques in general. My skill level has increased 10 fold. I suggest learning as many programming languages/frameworks/techniques used in web development as possible (.NET, Zend Framework, PHP, MySQL, AJAX, Perl, Python etc), and possibly creating your own website. This site could then be mentioned on your resume and attract positive attention. Like other people suggested you could also work on Open Source projects, again having a website would be useful as you could list all your accomplishments in one easy to access location whilst showing your skills as a web developer.

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

  34. Don't forget Mandarin. by eskinner · · Score: 2, Funny

    In addition to learning C/C++/Obj-C, don't forget Mandarin. You'll need it to communicate with your fellow employees.

    --
    -- Ed Skinner, ed@flat5.net, http://www.flat5.net/
  35. Career by Fozzyuw · · Score: 2, Insightful

    I'm 21, going to college [...] I am now looking seriously at [programming] as an eventual full time job.

    I think the first thing you should do is decide if you're interested in programming as a career and not just as a "full time job". As a wise person once said, "Love what you do and you'll never work a day in your life."

    --
    "The past was erased, the erasure was forgotten, the lie became truth." ~1984 George Orwell
  36. Some Real Advice by sribe · · Score: 2, Insightful

    First off, check out monstertrak.com; it's specifically for college students, both upcoming graduates looking for permanent jobs and those further away from graduation looking for internships. Now, some comments, as a 1-person operation whose business is growing out of control and who actually has a job listed there, and other places:

    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.

    Not only does it show a capacity for understanding things, I suspect it shows an understanding of, and capacity for, hard work--believe me, that's something that smart employers understand and appreciate.

    ...but, at least from my own personal experience, its pretty late in the game to be looking for a summer job...

    This, unfortunately, is quite true. But speaking from my own personal experience, there are always employes who start looking quite late--don't give up.

    The trick is to never stop learning, and keeping an open mind to different languages.

    So, so, so true. So many schools have computer curricula that are junk and only prepare you to have your job sent offshore in a couple of years. Of course most employers look for the buzzwords of the day, but there are ones who look for signs of high intelligence and real passion--and for those people there are jobs out there that won't be offshored. Also take hard advanced math classes, particularly discrete mathematics, and get good grades in them. Then lie during your interview and tell me how easy they were ;-)

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

    Damn straight. Most people who claim to know C++ only know a really dumbed-down baby subset. Read Alexandrescu [amazon.com], then read it again, until you understand it all. Then branch out to other books on template metaprogramming. A candidate who could explain the primary differences between Boost smart pointers and Loki smart pointers, and the rationale for the decisions, is one who's going to impress me.

    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.

    In the U.S., employers do list and actively search for the new, soon-to-graduate talent. Over here, your advice applies more to those who are already out in the job market.