Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Programming IT Technology

Practical Experience As a Beginning Programmer? 328

LuckyLefty01 writes "I'm 21, going to college, and working part time doing odd jobs like math tutoring. In the past nine months or so, I've discovered and taken to programming (so far mostly C/C++/Obj-C). I am now looking seriously at something in this area as an eventual full time job. Since I don't have much scheduled this coming summer, it would be great to try to get a job of some sort at a tech-related company in order to get some practical experience in the field. Even if I don't have the background to get a job involving actual programming, I think that the knowledge of how such a company works would be valuable. Fortunately, I live in the SF Bay Area, so there should be plenty of companies around. I'm flexible about what I'm going to be doing, and very willing to learn just about anything anybody cares to teach me. If there's some (or even quite a bit of) boring grunt work involved, I can do that too. What type of job would benefit an aspiring but inexperienced programmer the most? What methods might I use to find such a job?"
This discussion has been archived. No new comments can be posted.

Practical Experience As a Beginning Programmer?

Comments Filter:
  • Re:Bugzilla! (Score:5, Insightful)

    by Mikkeles ( 698461 ) on Sunday March 30, 2008 @12:33PM (#22912698)
    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.
  • by certron ( 57841 ) on Sunday March 30, 2008 @12:36PM (#22912730)
    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.
  • Re:Bugzilla! (Score:4, Insightful)

    by kaens ( 639772 ) on Sunday March 30, 2008 @12:38PM (#22912748)
    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.
  • C/C++/Obj-C (Score:4, Insightful)

    by chaos215bar2 ( 1263926 ) on Sunday March 30, 2008 @12:39PM (#22912758)
    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.
  • Finding a job.... (Score:4, Insightful)

    by caffiend666 ( 598633 ) on Sunday March 30, 2008 @12:41PM (#22912772) Homepage
    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.
  • Hmmm (Score:5, Insightful)

    by tgd ( 2822 ) on Sunday March 30, 2008 @12:41PM (#22912786)
    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.
  • Testing (Score:4, Insightful)

    by MosesJones ( 55544 ) on Sunday March 30, 2008 @12:46PM (#22912824) Homepage
    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.
  • truck (Score:5, Insightful)

    by zogger ( 617870 ) on Sunday March 30, 2008 @12:49PM (#22912838) Homepage Journal
    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?
  • by Anonymous Coward on Sunday March 30, 2008 @12:57PM (#22912916)
    To make big impact in Silicon Valley, all you need to do is give 100% effort to you job, then you can't fail. If you are serious about success, and have motivation to match, people will beat a path to your door. There are plenty of gold-bricker software engineers in the Valley who have managers that are dying to swap them out for someone that actually gets things done. Be ready for *deadline oriented* action. The world is already full of people that can get anything done, eventually; but that doesn't pay the bills. If you actually want to do serious engineering, roll up your sleeves and get good at it. India is becoming fat and complacent, there is little new and emerging talent there that is still a bargain. Russia, although producing more competent programmers, is a security risk, although it's a bit cheaper than India. There is still demand in the Valley for innovators (not drones and desk warmers).

    PS If the only reason you want to get into the field is to wave your hands and pontificate like a consultant (like the pikers in my office), then I suggest applying to Microsnort or dying in a fire.
  • by Vellmont ( 569020 ) on Sunday March 30, 2008 @01:13PM (#22913056) Homepage
    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.
  • Re:Bugzilla! (Score:4, Insightful)

    by The Living Fractal ( 162153 ) <banantarr@hot m a i l.com> on Sunday March 30, 2008 @01:20PM (#22913110) Homepage
    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.
  • Good attitude (Score:3, Insightful)

    by locokamil ( 850008 ) on Sunday March 30, 2008 @01:24PM (#22913134) Homepage
    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!
  • by plopez ( 54068 ) on Sunday March 30, 2008 @01:36PM (#22913222) Journal
    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.
  • by Alarindris ( 1253418 ) on Sunday March 30, 2008 @01:57PM (#22913380)
    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.
  • Re:Bugzilla! (Score:5, Insightful)

    by mcpkaaos ( 449561 ) on Sunday March 30, 2008 @02:01PM (#22913418)

    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.
  • Re:Bugzilla! (Score:5, Insightful)

    by kevin_conaway ( 585204 ) on Sunday March 30, 2008 @02:09PM (#22913474) Homepage

    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.

  • Re:GSOC (Score:4, Insightful)

    by Otter ( 3800 ) on Sunday March 30, 2008 @02:14PM (#22913510) Journal
    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.)
  • by Anonymous Coward on Sunday March 30, 2008 @02:18PM (#22913540)
    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.
  • by psychodelicacy ( 1170611 ) <bstcbn@gmail.com> on Sunday March 30, 2008 @03:18PM (#22913970)

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

  • by 1iar_parad0x ( 676662 ) on Sunday March 30, 2008 @03:26PM (#22914040)
    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.
  • duh - be an intern (Score:5, Insightful)

    by OrangeTide ( 124937 ) on Sunday March 30, 2008 @03:44PM (#22914212) Homepage Journal
    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.
  • by psychodelicacy ( 1170611 ) <bstcbn@gmail.com> on Sunday March 30, 2008 @03:46PM (#22914222)

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

  • by psychodelicacy ( 1170611 ) <bstcbn@gmail.com> on Sunday March 30, 2008 @04:59PM (#22914902)

    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.

  • 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.
  • by jdigriz ( 676802 ) on Sunday March 30, 2008 @07:57PM (#22916218)
    >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.

  • by rawler ( 1005089 ) <ulrik.mikaelsson ... m ['gma' in gap]> on Sunday March 30, 2008 @08:17PM (#22916372)
    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.
  • by psychodelicacy ( 1170611 ) <bstcbn@gmail.com> on Sunday March 30, 2008 @08:27PM (#22916436)

    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.

  • Web Development (Score:2, Insightful)

    by NaishWS ( 1263540 ) on Monday March 31, 2008 @12:05AM (#22917744)
    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.
  • Career (Score:3, Insightful)

    by Fozzyuw ( 950608 ) on Monday March 31, 2008 @12:38PM (#22922352)

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

  • Some Real Advice (Score:3, Insightful)

    by sribe ( 304414 ) on Tuesday April 01, 2008 @12:10AM (#22927920)

    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.

"Look! There! Evil!.. pure and simple, total evil from the Eighth Dimension!" -- Buckaroo Banzai

Working...