Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
Businesses Software

How To Behave At a Software Company? 842

Posted by timothy
from the answer-may-vary-with-stock-ticker dept.
dawilcox writes "I'm a recent grad and am going to begin work at a software company. I want to make a good impression on my boss and coworkers. I know that performance is usually tracked, but there are also innate personality traits of good software developers that bosses just want to have around. What are those personality traits? What should I be trying to do in order to make a good impression on the people at my work?" (Appropriate side question: What behavior traits would you like your co-workers to exhibit?)
This discussion has been archived. No new comments can be posted.

How To Behave At a Software Company?

Comments Filter:
  • by Anonymous Coward on Saturday May 08, 2010 @10:02PM (#32143742)

    Good hygiene and refraining from acting like a know-it-all are my two best pieces of advice. Nerd types are often (myself included) poor at those two things.

    • Re: (Score:3, Insightful)

      by Anonymous Coward
      and i would like to add - don't make weird noises. if you do, keep them to a minimum. don't clear your throat every 30 seconds. don't clip your fingernails at your desk. little things like this go a long way.
      • and i would like to add - don't make weird noises. if you do, keep them to a minimum. don't clear your throat every 30 seconds. don't clip your fingernails at your desk. little things like this go a long way.

        I can't agree with this enough. I have a coworker who comes over to ask me for help periodically, and while over there, is constantly clicking a goddamn pen. I mean constantly, from the time he walks over to the time he leaves. The end result of this is that I give him very quick, superficial advice, so that he, and the pen, will go away.

        And for God's sake, "Whistle while you work" may make Disney money, but it won't make you any. It carries a lot farther than you'd think, and I'm not interested in hearing just how tone deaf you are. We have several people who do that at my job, and it drives most of us nuts. You wouldn't bring in a flute and play it at your desk. Why would you try to do a poor imitation of it?

    • by Anonymous Coward on Saturday May 08, 2010 @10:40PM (#32144032)

      Good hygiene and refraining from acting like a know-it-all are my two best pieces of advice. Nerd types are often (myself included) poor at those two things.

      It's good to follow the dress code as well. I try to stick to an unbuttoned Hawaiian shirt, Bermuda shorts, sun glasses and a beer hat. On days when there are no meetings scheduled I dress more casually.

    • easy. (Score:5, Funny)

      by Anonymous Coward on Saturday May 08, 2010 @10:42PM (#32144050)

      innate personality traits of good software developers that bosses just want to have around.

      Have a positive can-do attitude, especially whenever the boss asks you to work evenings and weekends. What bosses love to have around are smart people who get things done and don't mind working 60 hour weeks standard (up from there whenever anything surprising happens or is badly panned) for a 40-hour salary.

      Appropriate side question: What behavior traits would you like your co-workers to exhibit?

      A little self-respect, and enough spine to refuse to be exploited into giving up your personal life to further your bosses ends. Every time you work long hours, you create expectations that your co-workers should work long hours too, and they will despise you for it.

      • Re:easy. (Score:5, Insightful)

        by sonamchauhan (587356) <sonamc@ g m a i l . com> on Sunday May 09, 2010 @01:07AM (#32144862) Journal

        Someone mark this funny please, not interesting

        To answer: if expected to work weekends or evenings also expect time in lieu when things are slow. If this is not a given, raise it with the boss, but privately. Also, convey the impression you are happy to work overtime, but for important stuff - not a presentation the boss must make to his boss the next morning, but didn't plan for. Play this by ear, but convey the general idea so they are respectful in their demands on your time.

        Plan on starting your own little business on the side (that does not impinge on your company's turf or time). Contribute to open source projects, keep your resume updated. Spend money on upgrading your own skills - buy books, sit for certifications, and if possible get your company to front up money. SAVE MONEY!! Once you can afford to, buy a house. Marry someone sensible and like yourself.

      • Re:easy. (Score:5, Insightful)

        by Skal Tura (595728) on Sunday May 09, 2010 @06:03AM (#32145806) Homepage

        Working 60hour weeks for 40hour salary? You got to be insane.
        That only helps create environment for abuse of the greatest asset a software company has. In my experience how much you work means shit, infact if you work longer hours you will have LESS respect from management, even if you are not a push over and get paid +50% extra hourly salary for those hours.

        IT employees are probably the most abused, neglected bunch of employees in the world just because of that kind of an attitude. Good coders are actually highly creative, yet engineer like while sometimes code is just as much art as engineering, if not even more about art than engineering to create that very simplified, easy to maintain system. Simple code pretty much is an art, to see the connections and make it so simple. To be creative you need good environment, but promoting abusive behavior like working 50% more for the same salary is going to just make things worse, it's like saying "It's ok to whip my back bloody to get more productivity out of me, and ruin my personal life".

        • Re:easy. (Score:5, Insightful)

          by cas2000 (148703) on Sunday May 09, 2010 @07:48AM (#32146254)

          IT employees are probably the most abused, neglected bunch of employees in the world just because of that kind of an attitude.

          yep, they certainly are... ...right after factory workers, checkout chicks, shop assistants, office clerks, [...], third world sweat shop laborers, and pretty much everyone else in the world below middle and senior management in large corporations.

          sure, IT workers get shafted by their employers making unreasonable demands. but there's a huge difference between someone making 60-90K per year for physically undemanding work who has the skills to get a similar or better job pretty nearly whenever they want, and someone working a physically demanding minimum-wage (or lower if they're in a seriously exploitable category like "immigrant" or "stupid") shit job that barely pays enough to live on, let alone save anything to improve their situation. or worse, someone working for a $1 a day to make t-shirts and other stuff that rich western programmers pay $40 or more for.

          so, while i know from personal experience just how much IT workers get taken for granted and ripped off, we're still MUCH better off than most.

          BTW, this is absolutely *NOT* saying "just put up with it and stop whinging" (i'm way too much of a socialist to ever think that exploitation of any worker is acceptable). it's saying "being outraged by it is sensible, but get a sense of proportion and lose the ridiculous exaggeration".

      • Re:easy. (Score:5, Interesting)

        by shiftless (410350) on Sunday May 09, 2010 @07:35AM (#32146154) Homepage

        A little self-respect, and enough spine to refuse to be exploited into giving up your personal life to further your bosses ends. Every time you work long hours, you create expectations that your co-workers should work long hours too, and they will despise you for it.

        My first (and last) experience in a cubicle farm was a pretty shocking one. We had three guys doing the work of 10. It was extremely stressful. My co-workers would routinely work 60-70+ hours a week, if not in the office then at home with the laptop dialed in. I mean this job was practically their entire lives, and for what? $35k/year? Fuck that. When 5 o'clock rolled around I rolled out. The boss called me up one Friday evening wanting me to come back in and restart a data conversion process that had failed (due to programmers not having the file structure figured out completely) and I said no. I'd rather stand in the sun and dig ditches all day, regardless of pay, cause at least ditch diggers know when they get to go home and forget about work. They called some other unlucky fool in to do the job and nobody ever said a word to me about it, but I could feel some people didnt like it at all. Fuck them. My life is too valuable to be spent slaving away for someone else's benefit.

    • by jetole (1242490) on Sunday May 09, 2010 @12:08AM (#32144562)
      Buy a book on corporate ethics. Read it twice and abide. Also buy a few Dilbert books and read them twice as many times as the corporate ethics books. If your not sure what decision to make in a situation, side with what the Dilbert books suggest over the corporate ethics books.
  • Lunch (Score:4, Funny)

    by Anonymous Coward on Saturday May 08, 2010 @10:03PM (#32143748)

    Do not bring any food containers that smell like something died inside to work and eat it at your desk.

  • Advice, Dawg (Score:3, Insightful)

    by Ethanol-fueled (1125189) * on Saturday May 08, 2010 @10:04PM (#32143756) Homepage Journal
    disclaimer: the following is common sense

    I'm an electronics tech and not a programmer, but generally people adapt to the subtleties of their employers' corporate culture. First, read Dilbert and The Art of War if you haven't already.

    Second, most importantly, do not participate in gossip and compartmentalize your work and play behavior. If somebody says, "man, person x is a dumbass," just respond with a disinterested neurtral "hmm." and keep an element of mystery to yourself. It will have a snowball effect -- people will see that you aren't a loudmouth, and so they share increasingly damning information about your coworkers and the company in general. They will respect you because you know how to keep your mouth shut, and you will know more than anybody else because you are the only neutral person on the floor. Bosses will also see that you are at work to work, not jabber, and they like that. Eat lunch by yourself so that you won't be obligated to reveal personal information.

    To quote the Grand Nagus from DS9, "You don't grab power, you accumulate it." Inevitably, you'll run across a player-hater. Wait for them to make a mistake and then show the boss what you did to fix their mistake. An example(I've described before) from my last job was a fellow turd of a technician who tried to boss the rest of us around while talking on the phone and doing little work himself. After he sent 2 units out the door with the same serial number, I wrote a program to throw a warning if duplicate serial numbers were entered(easy reading keystrokes using the Java robot and since all serial numbers followed a certain format). I don't like passive-aggressiveness in my personal life, but that tact is a necessity at work.

    One more thing - it's helpful to mention during the interview that you're there to work, not talk. It looks good and your boss won't think you're a dick. Being unsociable may cause others to think you're a dick, so offset that by helping anybody who asks -- just watch out for the malingerers - they'll feign ignorance and ask your for help as a way to weasel you into doing their work for them.
    • Re:Advice, Dawg (Score:5, Insightful)

      by Culture20 (968837) on Saturday May 08, 2010 @10:16PM (#32143840)

      Eat lunch by yourself so that you won't be obligated to reveal personal information.

      Quickest way to alienate yourself and become first on the chopping block. If everyone eats lunch in, bring your lunch too. If everyone eats lunch out, go with them. If you can't afford to eat out, make an effort; suggest Taco Bell, letting the gang know you're strapped for cash but trying to be part of the group. You're not obligated to reveal personal information at lunch, but in my experience, people who ignore any and all lunches with coworkers are viewed as snobbish loners, and their work ethic seems to be the same (they are the people that ignore meetings, ignore policies, etc).

      • Re: (Score:3, Insightful)

        by logjon (1411219)
        If you suggest Taco Bell, you're alienating yourself.
      • Re:Advice, Dawg (Score:5, Insightful)

        by CyberSnyder (8122) on Saturday May 08, 2010 @10:35PM (#32143990)

        Good way to network. Learn to network, it's as important of a skill as your technical expertise.

        • Re:Advice, Dawg (Score:5, Insightful)

          by im_thatoneguy (819432) on Sunday May 09, 2010 @03:17AM (#32145316)

          Lesson 1 in networking: make everyone look good. You don't have to do it at your own expense but when people are thinking about who they want to work with who are they going to pick the guy who always takes all the credit or the guy who makes them look great in front of their bosses?

          We're all geeks here: look at it like statistics. Advancement is as much luck as it is talent. If you are in 8 people's favor the chances of one of them getting into a position to return the favor is far greater than you yourself getting noticed.

          As to the original question it's pretty simple for me:
          1) Be competent. Nothing annoys me more than someone who doesn't know how to do their job and is a waste of space.
          2) Do your fair share.
          3) Be appreciative. If someone does something for you and you take it for granted, you probably won't see a lot of effort in the future on anyone's part.
          4) Be helpful. If someone is struggling due to no fault of their own, stop and offer assistance. If someone feels like they're drowning and nobody helps they will get resentful.
          5) Be pro-active. If there is something to be done. Do it. Keeping someone busy can easily become a full time job for a manager. If they're spending all day finding things for you to do then you're a burden. Don't be a burden.
          6) Be friendly. If you're a loner and don't participate then people will be far less likely to overlook #1-5. People always give their friends the benefit of the doubt.

          And of course Always Try To Make Everyone Look Good. Nothing will make you look better.

      • Re:Advice, Dawg (Score:5, Insightful)

        by edivad (1186799) on Saturday May 08, 2010 @10:46PM (#32144084)
        If you are a software engineer, and you can't afford going out for lunch, you might consider the chance of having been screwed during the salary negotiation.
      • Re:Advice, Dawg (Score:5, Insightful)

        by mmmmbeer (107215) on Saturday May 08, 2010 @10:49PM (#32144112)

        I agree. At one company that I worked for, there was one programmer who just never joined the group. He was a good programmer, and a decent enough guy, but he just didn't socialize. When the company started going under, and layoffs started, he was the first to go. I'm certain it was because the Powers That Were felt (correctly) that would have the least impact on morale, compared to firing any of the rest of us.

      • Re:Advice, Dawg (Score:5, Interesting)

        by nextekcarl (1402899) on Saturday May 08, 2010 @10:50PM (#32144114)

        Here here, I agree whole heartedly with your modification (and everything else about the OP comment). I worked at a place a few years ago and since most of us didn't make all that much, we usually went out to fairly cheap places for lunch. One day several of us went out to a Mongolian grill over the river from work and on a spur of the moment I decided I could afford to pay for lunch for all of nine (I think) of us (it was about $55 IIRC). I didn't start out the lunch by saying I'd do it, and I insisted that no one pay me back. I was hoping it would help morale (it was generally okay, but not great sometimes as our bosses were slashing jobs left and right, while insisting each one was the last). It worked very well, and people started offering to pay for each other's lunch from time to time. Sometimes small gestures, especially when unexpected, can help relationships, if handled properly. I suppose YMMV of course, especially if you have a bunch of self-entitled people at your work.

        • Where did you live that mongolian grill was $55 for nine people? That's like two people where I live...

      • Re: (Score:3, Insightful)

        by discord5 (798235)

        in my experience, people who ignore any and all lunches with coworkers are viewed as snobbish loners, and their work ethic seems to be the same (they are the people that ignore meetings, ignore policies, etc).

        This is very true. We have a few loners like that who will go out of their way not to eat lunch with others, and it just so happens that it's those people who

        • systematically don't show up or show up late for meetings
        • will ignore any conclusions from a meeting if it doesn't suit their whims
        • in general do not wish to cooperate with the rest of the team, even on the most basic of things as agreeing on an interface for two projects to communicate with eachother
        • will be the first ones to go to management or projec
    • Woah (Score:5, Insightful)

      by Puff_Of_Hot_Air (995689) on Saturday May 08, 2010 @10:23PM (#32143880)
      Am I glad that I don't work with you! "I'm here to work, not talk". Ever hear of the concept of colaboration? You know, working together as a team to achieve a common goal? Normally involves this thing I like to call "communication", you do it with your mouth. The advise on avoiding gossip is good, but the rest of your post smacks of some severe personality problems. Many of my co-workers are now friends, and this is a good thing! Lifes too short to be the "lone wolf". As another counter-point, you will never get anywhere if you don't socialize. It's half gaining peoples respect for your technical ability, and half gaining their trust because they know you. Get your head out of your arse, and join in!
      • Re:Woah (Score:5, Insightful)

        by Anonymous Coward on Saturday May 08, 2010 @10:34PM (#32143980)

        If the "talk" is about work the "talk" is work. If the "talk" is about bullshit the "talk" is talk.

        "Lifes too short to be the "lone wolf"."

        Lifes too short to listen to bullshit.

      • Re:Woah (Score:5, Insightful)

        by amRadioHed (463061) on Saturday May 08, 2010 @10:45PM (#32144076)

        Completely right. You can socialize with your coworkers without engaging in gossip and other destructive stuff.

        The concept of keeping your work separate from your life is BS. Your work is a big part of your life. You spend more time with your coworkers than with your family and significant others so you're just setting yourself up to hate your job if you avoid building relationships. I've had some annoying coworkers and I've had some great coworkers that have become good friends both inside and outside of the office. If you're office discourages you from having some fun during the day with your coworkers then I'd look for another place to work before you burn out.

        The important thing is that while you can control who you hang out with after work, you don't get to control who you work with. Show the annoying guys in the office the same respect you give the coworkers who you are good friends with.

        • Re:Woah (Score:5, Interesting)

          by kklein (900361) on Sunday May 09, 2010 @01:35AM (#32144956)

          The concept of keeping your work separate from your life is BS.

          Hear hear! Your coworkers are a part of your life. They are your family at work. Just like your family at home, you weren't allowed to pick them, but you're stuck with them, so you need to learn how to like them.

          I've lived and worked in Japan for most of my working life, and I just have to say that most places here get that right. Westerners wonder why Japanese workers are so loyal to the company, and there are a lot of reasons, but one of the strongest emotional/psychological ones is that many places really try to foster a real kinship. You very well might think that Kinoshita-san from 2 desks over is a jackass, but when push comes to shove, he's your jackass. Also, thanks to the boozy parties the company throws (that everyone pays for equally), you've chatted with him over beers and know that he is a super-involved dad who takes his kids out on the skiff to go fishing every weekend. You can't see him as just a jackass anymore; now he's a neat dad who happens to be a jackass at work.

          At first, I resisted this culture with all my BS American individualist might, but before long I came to get it. They aren't forcing you to go to the party because they want to see what kind of stupid thing you'll say when you're drunk; they want to hang out together, and if you don't go it'll be a bummer for everyone. It's not a trick. People actually want to get to know each other. They probably won't be BFFs or anything; and the relationship will probably disappear if you transfer to another department or office, but for the time that you work together, you're doing it with people you know, and that makes all the difference in the world. When Sayama-san is going through a tough time with her husband, you cover for her--not because she's having a hard time with her husband, but because she's Sayama-san. And Sayama-san is having a hard time with her husband.

          Finally, though, so much of this is predicated on the assumption that you're not going to be fired at the drop of a hat with a simple "oops, we can't afford so many people; bye." But that's another post entirely (and again, not really a socialistic post--one about not handing so much goddamned money to the people at the top so you don't have to panic every time the market changes, because you have money in the bank and tons of wiggle room in the budget).

    • Re:Advice, Dawg (Score:5, Interesting)

      by EEPROMS (889169) on Saturday May 08, 2010 @10:24PM (#32143894)
      Eat lunch by yourself so that you won't be obligated to reveal personal information.

      As a branch manager in an IT company this is bad news to me, it tells me employee in question is not a team player shown by their inability to communicate well with others. IT is about the flow of information and team work not about building walls. The best advice I can give anyone just starting a job is to not to form opinions and listen.. Also do not try and show off as this may mark you as being insecure. So on your first day take a note book and use it as this will tell your employer that you are serious about your job. Last but not least "be yourself"
    • Re:Advice, Dawg (Score:5, Interesting)

      by g33korama (1671286) on Saturday May 08, 2010 @10:27PM (#32143920)
      Uh, last software company I worked for and ate by myself... they thought I was anti-social and booted me. I'm like you though, I hate office drama so I avoid it like the plague, unfortunately... in an ironic turn, by not socializing to stay away from drama, you unfortunately can create it and draw attention to yourself.
    • Re:Advice, Dawg (Score:4, Insightful)

      by BLKMGK (34057) <morejunk4me&hotmail,com> on Saturday May 08, 2010 @10:32PM (#32143960) Homepage Journal

      Places of work are also social havens. People who can talk and find common ground often work well together. When I and others interview people to join our team we also interview their social skills to see if they will fit. If someone walked in the door with your attitude it would be a very short interview!

    • Re:Advice, Dawg (Score:5, Insightful)

      by Skreems (598317) on Saturday May 08, 2010 @10:36PM (#32143996) Homepage
      As far as I've seen that kind of behavior will only get you so far. At some point you have to be able to voice an opinion, publicly, and then follow through on it. Otherwise you're going to top out at some point. Even if you limit that advice to just the social stuff, workers who act as a social nexus for a team are valuable in a completely different sense than skilled engineers. I don't know why you'd intentionally go out of your way to avoid all aspects of that role.

      The best advice I can give is, ask questions. Ask everything you can think of. It doesn't matter if it's something you need to understand to do your work for the next two weeks, if somebody who's been around longer than you is willing to explain something to you, take as much of their time as they're willing to give. Some people avoid asking questions because they think it makes them look weak. It doesn't. It just makes you look stubborn, and you're going to get passed right and left by people who aren't afraid to admit they don't know things.

      Once you understand enough start proposing fixes, and follow through on them. Don't be an ass about it, but make sure you keep the work you're doing as an active part of the conversation from day to day. It helps you because people will notice the things you fix, and it's a good way to get other people to chip in on parts of the fixes as well. If you can demonstrate that you're able to help steer the group in a positive direction, even in just one aspect of many, it'll go a long way. Remember you're here to build stuff, and that includes the team and the process, not just sitting in a corner turning out your coding assignments on time.
      • Re: (Score:3, Insightful)

        Sure, ask questions. Lots of questions. But you also need to demonstrate that you absorb and apply any answer you are given. And you need to demonstrate that you can learn on your own.

        As a graduate, when you start working you are probably going to be a burden on the company you are joining. It will probably take someone more time to guide you though implementing a solution, than it would take them to do it themselves.

        While it's important to ask questions to increase your understanding. You should be able

    • Re:Advice, Dawg (Score:5, Insightful)

      by kjart (941720) on Saturday May 08, 2010 @11:12PM (#32144228)

      So, your advice is to be a quiet, passive-aggressive loner that keeps themselves apart from the group? Please do your coworkers a favor and quit now.

      Seriously, though, the cynical answer is always that you aren't at work to make friends, but in my experience work is so much better when your coworkers are indeed friends. I worked several years in tech support while in university and the only thing that made it bearable was the people I worked with. Obviously, you can go too far - you don't want to spend all day talking to people and not get your job done - but the idea that you shouldn't be friendly since you're at work is absurd.

  • Attitude (Score:5, Informative)

    by ShakaUVM (157947) on Saturday May 08, 2010 @10:04PM (#32143758) Homepage Journal

    Be confident without being overconfident.
    Know how to communicate and also when to leave other people alone.
    Don't be too pessimistic or too optimistic when setting goals.
    Don't be a pushover, but don't be a dick, either.
    Be productive, positive, and competent.
    Always work to improve yourself.

    • Re:Attitude (Score:5, Funny)

      by nmb3000 (741169) <nmb3000@that-google-mail-site.com> on Saturday May 08, 2010 @10:31PM (#32143950) Homepage Journal

      Now we see why they say, "Go not to Slashdot for counsel, for they will say both yes and no."

    • Well... (Score:3, Interesting)

      by IANAAC (692242)
      Personally, I didn't learn most of these things until after I was in the workforce a few years. It wasn't a sudden epiphany either. It was little by little, situation by situation.

      And really, when it comes down to it, that's about the only way to learn how to behave in any job.

      S/he can be offered all the advice in the world, and truthfully, I don't think it'll make a difference. You don't learn job-related interpersonal skills until you've had to deal with very different types of people and situations

  • by DragonIV (697809) on Saturday May 08, 2010 @10:07PM (#32143776)
    It's easy, and requires no reconfiguration of your brain. Bonus: your current configuration drew you into studying this in school. Chances are, the same configuration is desired by software development managers.

    Sincerely,
    A Software Development Manager
    • Re: (Score:3, Insightful)

      by Webz (210489)

      This can't work for everyone. Some developers are horrible, horrible people. Take a stereotypical nerd for example. Poor hygiene, poor social skills, completely out of touch with reality.

      If this describes you, consider not being yourself. Although typically people that are described like this probably aren't self-aware of such things.

  • by Anonymous Coward on Saturday May 08, 2010 @10:07PM (#32143778)

    Really, everyone knows that the best hackers are all insufferable assholes. Chopping up your wife is optional, but at least refusing to release passwords is key. BOFH is a good primer, if you're having trouble wrapping your head around the concepts, but if you need a primer, you really should reevaluate -- maybe you just don't have what it takes.

  • Humility (Score:3, Insightful)

    by Anonymous Coward on Saturday May 08, 2010 @10:08PM (#32143786)

    Admit when you don't know how to do something. Admit when you don't understand something that someone has explained to you. Most of all, admit when you have made a mistake (such as a bug in production being your fault).

    I don't know what it is about software developers, but collectively we'd have to be amongst the arrogant people in the world. For some bizarre reason, we pretend that we know everything and blame someone else for our own mistakes. The best developers can recognise their own short-comings.

  • by convolvatron (176505) on Saturday May 08, 2010 @10:09PM (#32143798)

    stop bathing
    be awkward around the opposite gender
    come in at noon and leave after midnight
    be extremely condescending towards anyone at the company who is not an engineer
    never admit that anything is your fault
    drink 20 cans of free soda a day
    claim to be a libertarian if you dont already

  • by Webz (210489) on Saturday May 08, 2010 @10:16PM (#32143838)

    A lot of nerds value things like talent, transparency, and being tacit when there are no errors. And also are averse to things like small talk, self-promotion, and various shades of lying. These are all great qualities. But they are only valuable to nerds.

    If you really want to get in good with someone, and you'll have to, since a work environment is a multi-faceted beast, you'll need to play their game. Am I saying you need to sacrifice the values that make you who you are? Absolutely not. Will you require some tweaking? Probably.

    For instance, small talk. If you don't ping people every so often, even if you don't need them for anything work related, you will lose out on social capital. It's good to keep everyone in your sphere, so to speak, so that it's easier to ask them for things as you need. Having a purely work-related relationship with someone is so dry and inorganic. I'm not saying you have to be BFFs. But you can cultivate a personable in-work casual relationship with someone to smooth out those moments that you need them.

    I'm sure a lot of other comments in this thread will elaborate on the things I've mentioned. In general, it's about working on your soft skills. To put it in RPG terms, you are an INT hero who graduated from the top of their class. You know all the spells. But guess what, this is a STR and AGI challenge and you need to work on your charisma to rope in some help. No one is taking your INT skills away from you. But you'll have to work extra hard on navigating this new game called office politics that nerds typically aren't used to, exposed to, or want in their lives.

    Good luck and tread cautiously!

  • by sznupi (719324) on Saturday May 08, 2010 @10:16PM (#32143842) Homepage

    Do not familiarize yourself with them unless it's clear you have their approval. Take over the duty of caring for the cofee machine. If you make some snacks, doing more of them than just for yourself won't be a big strain. Show enhthusiasm in replenishing office supplies (that includes also local supplies of your coworkers). Etc.

  • by GNUALMAFUERTE (697061) <almafuerte@@@gmail...com> on Saturday May 08, 2010 @10:25PM (#32143902)

    Those three things would put you immediately ahead of me as a coder (and ahead of 99% of the coders in the industry). And, for fucks sake, let go that stupid stapler.

    Now, jokes aside, it all depends on what company you are working for. I own a small software (and hardware) company. We develop several solutions, including DVRs/NVRs, digital signage server/client solutions, and other video capturing/processing/streaming/recording/analysis devices. I look for smart, creative people that can truly think out of the box and work in a non-conventional environment. I look for good multitaskers, eager to get things done. I look for good hackers, and good hackers aren't good employees by definition.

    There are companies that look for just good employees, other look for the best employees they can get considering they are looking for smart, creative people. There is no recipe for this. Working at Apple-like, Microsoft-like, Google-like, or ID-like companies is radically different.

    My advice is: If you are worried about making a good impression, you will end up in management. I am the kind of person that on my first day would be worrying about what new challenges I will face, and what great problems I'll get to solve. If you are truly worried just about making a good impression, and job-security is your main concern, you belong with the soul-less bastards in management, not in IT.

  • by devleopard (317515) on Saturday May 08, 2010 @10:27PM (#32143922) Homepage

    10+ years in development...

    Here's what has helped me:
    Learn to be more than a geek. Don't be another one of those guys that just wants to sit in his cube, write code, and be left alone. If you are, pretend you aren't. Learn the business-speak. Don't speak in acronyms all the time. Speak at stake-holders' level, but don't talk down to them.. they're not stupid, they just may not understand what you do.

    What I wish I had been told:
    Don't be a bitch. In other words, when you make estimates, don't be ridiculously low because you're afraid of what the stake-holder will say. And no, they won't always be nice when you tell them a number they don't want to hear. But stand your ground, intelligently (as opposed to defensively) explaining why it'll take so long/cost so much. This makes you an asset who "tells it like it is". The other way, you become a pansy with a bad rep because you're always so far off.

  • Even balanced (Score:5, Insightful)

    by HTMLSpinnr (531389) on Saturday May 08, 2010 @10:29PM (#32143934) Homepage

    Some random thoughts - I'm a Systems Admin/Engineer by trade, but have spent some time in the Manager's chair as well. Here's some thoughts that would have helped me for my first real job (i.e. why didn't someone tell me):

    Don't act like a know-it-all, but don't be afraid to offer a concise answer if solicited. Us nerds tend to LOVE to elaborate to "make an impression". The only impression is "Thanks, now how do I shut this guy up?".

    Don't be afraid to challenge your peers when your approach may be better, but know when to back down when you're out-numbered.

    In a cubical farm, your voice or other odd noises carry much further than you think. Same applies for the office restroom.

    Speakerphone is a privilege reserved those with an office and a closed door. (Ab)using speakerphone (esp. loudly) in a cubicle will earn many more enemies than friends. Consider a headset if you're going to be on the phone a lot and need to type or do other things with your hands.

    Learn and understand your company's core values. Chances are, you hold some of these yourself or you wouldn't have been hired (at least by any competent manager). These values will help guide your management team's decisions, just in case you question their motives.

    If you lied on your interview, you'll be quickly found out the moment you submit your first program. If it's a serious lie that you can't lie your way out of again, don't even bother showing up for your first day.

    Learn how to comment your code, but don't do it so much that stripping them out strips 75% of the file.

    Use sane variables that someone else can maintain. "a, b, foo and bar" are not sane.

    Be willing to learn - always. This may involve learning OUTSIDE of your job as well.

    You will be required to understand the business to a degree that helps you develop useful code. Don't be surprised if your first few weeks on the job involve training that seems initially pointless (stocking shelves, packing boxes, etc.). It will all make sense in the end, and may even help start the creative flow of "I could do that better".

    Innovate or get out of the way. Complacency often gets you fired.

    For some companies, continuous improvement is expected. For others, they prefer the tried and true. Don't be afraid to ride the middle if you aren't sure which one you're dealing with at first. Someone will set you straight.

    Make sure your line of communication with your manager is wide open. Understand his/her expectations and deliver on what's asked. However, if the expectations are completely unreasonable, have a backbone and ensure they know why you can't rewrite Linux in a day.

    This is hard at first, but employees who perform well need little management. Those who don't can expect constant management. Then again, some managers like to micro-manage anyway, especially their under-performers.

  • by Anrego (830717) * on Saturday May 08, 2010 @10:32PM (#32143964)

    There is such a wide variety of office "culture" that general advice is hard. I think a lot of it is trial an error.. you're going to at some point piss someone off or at least do something/say something and hate yourself for it. When you do, just try and learn from it and minimize the damage as best you can.

    I guess one thing I'd recommend though is that while you (being fresh out of school) probably have all kinds of great ideas on how you're going to revolutionize everything, you have to accept that companies can't just change their process with ever new graduating class. Not saying you shouldn't try to bring in new ideas.. but don't be "that guy" who spends every meeting talking about how the way things are being done is totally wrong and how pair programming and executable UML would be perfect. The guys with 20+ years of experience may be set in their ways.. but they also (probably) have a lot of experience seeing projects succeed and fail.. having some new kid throwing ideas from a textbook at them can ruffle some feathers.

    • by coryking (104614) * on Sunday May 09, 2010 @12:17AM (#32144594) Homepage Journal

      It isn't they are set in their ways. It is that they've seen shit fail and know the warning signs. Your totally awesome idea about pair programming (hey, it says right in the XP book, they can't lie) might not be appropriate because XYZ. Your rad idea of cloud computing might be friggen awesome (everybody is doing it, you stone age losers) because I don't know, gee, you might have these pesky HIPAA regulations, whatever those are. Your idea of rewriting the codebase because the code is U.G.L.Y. might be totally awesome because you can totally do it in a week, but gee, the shit we have now works and it would take way longer than you estimate because, gee, that code has been around for *years*. Lord knows what kind of shit when into it to make it work--that code has history man.

      Bottom line is, the most important thing is to admit you do not know jack shit. Better to admit you don't know anything because, brother, we all don't know shit--even people who have been there, done that. The people that truly do not know anything tend to be the ones that always brag about knowing everything. I have yet to meet a person who brags about knowing stuff that actually knows stuff.

  • Serious Advice (Score:4, Insightful)

    by aero2600-5 (797736) on Saturday May 08, 2010 @10:39PM (#32144020)

    The answer to your question depends on your boss, actually. I've found that there are generally two types of bosses: The better kind that are intelligent, do things right, and get shit done; and the crap kind, whom are generally idiots, don't care about doing things right, and are only out to make themselves look good.

    So, if you have an intelligent boss, here's your advice:
    An intelligent boss respects good communication and honesty. If you inform your boss enough about the projects and solutions you are working on, he'll have a better idea of the status of whatever project you are working on. If he can answers basic questions from the 'customer' without having to bother you, you're doing it right. I find my boss greatly enjoys that I keep him informed enough about my projects that he lets me operate pretty much unsupervised. Second, always be honest, especially with your boss. If you're having a problem with someone's crap code, make sure he knows about your impediment. If you've run into a tricky problem that will take time to figure out, or you've made a mistake that's going to cause to take longer on your project, be honest with him. A late project with an honest explanation is so much better than a late project with no explanation or an on-time project that has subtle flaws that will inevitably cause problems. Lastly, be flexible. We all know it's difficult to drop what you're doing and work on something else, but your boss is generally not the one setting priorities. If he asks you to drop what you're doing, do it, and if the change of direction will cost time, let him know, politely.

    Now, if you have a crap boss, here's some advice:
    Keep your mouth shut, keep your head down, do what you're told, and if your boss hasn't been replaced with a better one after two years, get those resumes out. A shitty boss will do everything in his power to make sure you can't advance.

    That's all I got.
    ~Aero

    • Re:Serious Advice (Score:4, Insightful)

      by vinn01 (178295) on Sunday May 09, 2010 @12:32AM (#32144674)

      I would add that the advice for a "crap boss" should also be followed if the problem is your boss's boss. That great advice (keep your mouth shut, keep your head down, do what you're told) needs to flow downhill.

      If your boss is acting irrationally, you need to understand why. It could be that your boss is following the "crap boss" protocol himself - doing what he's told, etc. You need to get in line with that.

      Do not EVER give your boss grief for having to follow the orders of HIS shitty boss.

      / male pronouns used out of laziness, applies to female bosses too.

  • wtf (Score:5, Insightful)

    by LBt1st (709520) on Saturday May 08, 2010 @10:44PM (#32144066)

    Be yourself, otherwise you'll come off as fake and no one will like you.

  • reliability (Score:4, Informative)

    by John_Sauter (595980) <John_Sauter@systemeyescomputerstore.com> on Saturday May 08, 2010 @10:44PM (#32144072) Homepage
    The most important quality of a good worker, at a software company or anywhere else, is that you show up. It doesn't matter how good your skills are if you aren't working. Wasn't it Woody Allen who said that 80% of life is just showing up?
  • First Day (Score:5, Funny)

    by BlueBoxSW.com (745855) on Saturday May 08, 2010 @10:45PM (#32144078) Homepage

    The first day, what you need to do, is find the biggest, smartest, most awesome software developer they have... and kick his ass.

    No one will screw with you after that.

  • by TheGrumpster (1039342) on Saturday May 08, 2010 @10:50PM (#32144118) Homepage
    Lots of great stuff here already, but as a corporate executive in charge of R&D, I'll put in my additional two cents worth... The first rule of business: don't take it personally. It isn't all fun and games. You're not there to make friends or have fun - you're there to do a job. Yes, ideally, on the whole, you should enjoy it - if not, you're in the wrong line of work; but there will be times that the job sucks ass no matter where you work. There will be assholes that rip on you, rightly or wrongly. Don't take it personally. Keep your spirits up and focus on the work at hand. This will get you way ahead of the rest of the crowd. Act as though time is of the essence - it is. You'll be amazed at how quickly you go from being a green kid out of college to being an old geezer like me. Don't waste your time on piddly bullshit. Work your ass off at all times - not for the company's sake, but for yours. Your life is ticking away by the minute - the only reason it doesn't seem that way is because you are young. Youth is wasted on the young - the sooner you understand why, the better off you'll be. Don't be afraid to make mistakes. Take on the hardest work you can handle, then ask for something even harder. You don't grow by taking it easy; strength comes from adversity, not comfort. If you're comfortable, you're dead. Ask for help when you need it - there is no shame in admitting that one is in way over one's head; real achievers always are. Good luck!
  • by alvinrod (889928) on Saturday May 08, 2010 @10:57PM (#32144154)
    Find out what you didn't learn in college but the company expects you to know and start learning. Fast.

    You've probably learned a lot in college, but there are plenty of things you weren't taught that you'll eventually need to learn in order to succeed. Some of them are related to programing, a few are related the the corporate culture of the place at which you're employed, but a lot are just people skills that are acquired the hard way.

    Most importantly, don't be afraid to ask for help if you're in over your head. If there's something you don't understand, ask someone else for help. It's a good way to make friends/acquaintances within the company and saves you the time of wandering around clueless. Personal initiative and a good work ethic will get you far, but when you first start out there are a lot of things you won't know or have any experience with.

    Best of luck to you on your new career. Hopefully you do well and can impart some advice of your own to future generations.
  • A few thoughts (Score:5, Insightful)

    by MichaelSmith (789609) on Saturday May 08, 2010 @11:04PM (#32144192) Homepage Journal

    I have been a team leader at different times so maybe I can give the bosses perspective:

    • Show up. If you get in late, then leave late. I never expected people to work extra hours but it is good to know when to expect a person in the office.
    • Be a "can do" guy. Don't say "no, I can't do that" when asked to do a task. If you have to research something then say so. If the place is well organised there might be resources you can use anyway.
    • Develop your skills. Its good to see people improve. Nobody has all the knowledge. If you are working on stuff outside work like OSS software then talk about it with your co-workers.
    • Display an interest in technology. If you are in a technical field you should have an interest in technology, as opposed to jumping up in to management at the first opportunity.

    There is a lot of overlap in the above. It comes down to "don't be a dope". Posting here suggests to me that your biggest problem is a lack of self confidence. Work on that by being open with people. Maybe by telling them you were the guy who posted "How to behave in a software company" on slashdot. That'l get some laughs.

    The only other thing is to look out for sociopaths. Don't assume everybody you work with has a perfect personality. In practice a great many do not. I can't help you deal with these people. Sometimes they are hard to spot. A good skill it to learn not to reply to trolls. Don't let people wind you up. Getting somebody angry is a great way to beat them at something. If you are good at something you will likely get picked out for treatment early on if this kind of person is around.

  • by quanticle (843097) on Saturday May 08, 2010 @11:42PM (#32144398) Homepage

    You know that performance is tracked. That's only the the first step, though. You need to know how your performance is being tracked. Are you being graded on the number of bugs you solve? On the number of variances in the product? On what new features you implement? This is even more critical to know if your manager gives you a non-answer like, "We take into account a variety of factors." Ask around. Try to discover what those factors are. This isn't so that you "game" the system. This is so that you'll know what to spend time on, and what factors are of lesser importance. Spending a few hours writing great documentation isn't going to help you if your boss doesn't recognize the effort. That effort can be spent where it will be recognized, like getting started on the next bug.

    Yeah, in an ideal world, you would be recognized for every activity that contributes to the product, whether its writing documentation, or fixing a bug. But you and I both know that in the real world, some things count more than others. Its important to figure what those things are and optimize your efforts for them.

  • Team Player (Score:3, Informative)

    by radish (98371) on Saturday May 08, 2010 @11:52PM (#32144456) Homepage

    You're going to be part of a team, there's no getting away from that. How well you do depends on how well the team does and how well you fit in it. As someone who's been a dev, a team lead and a tech lead over the last 15 years (including hiring and working with many greenhorns) here's what I look for/appreciate:

    1) Be confident. We hired you because we think you're smart and can do the job. Don't be afraid to speak up, and have some faith in your instincts. Show us we were right.

    2) But if you need help, ask for it. Have a go at figuring it out for yourself (that's initiative) but if you're up against a brick wall come ask - most devs are never to busy to show how smart they are ;)

    3) Don't be cocky. You were probably the smart kid all through school, you went to a good university and got a good degree (otherwise you wouldn't be here). We all did. Plus we have many years of experience. This might seem to conflict with rule 1, but it doesn't really - it's all about balance. What I love is someone who comes up with suggestions, what I hate is someone who won't take criticism of those suggestions or ignores advice.

    4) Don't wear yourself out. There's often an instinct in my industry to try to prove yourself by working all night and trying to get more done than anyone else. In my experience it's not worth it, there's a limitless amount of work available so it'll never all be done, and even if you do get thrown a little extra cash at the end of the year it won't be enough. Set yourself some limits to protect your social and personal life, maybe it doesn't matter so much right now, but if you set those limits early in your career you'll thank yourself later - it lets those above you know what they can and cannot expect from you.

    5) Be a friend. We spend more time with each other at work than we do with our families. That can really suck if you don't get along. You won't end up best buds with everyone but try to be social, get to know everyone. It makes things go more smoothly, reduces stress and gets you better reviews at the end of the year. And that means promotions :)

    6) Be flexible. This is the hardest one for me personally. As somewhat of a perfectionist I hate being taken off a project before I consider it "done" - I hate having requirements change under me so my solution ends up being suboptimal. But you know what? This is the real world. Suck it up and deliver the best thing you can for the people paying your salary.

  • Real world advice (Score:4, Insightful)

    by NicknamesAreStupid (1040118) on Sunday May 09, 2010 @12:11AM (#32144576)
    #1 write good code because you will someday want to look back to one thing you did 'right' (whatever that means)
    #2 arrive at work immediately after your boss and leave sometime after (s)he has said 'goodbye'
    #3 wake up each morning with the thought that 20 million Asians are after your job at a third the cost to your employer
    #4 know that coding for someone else is like building a BMW 750Li and watching some rich guy buy it from them
    #5 Ritalin is better than caffeine
    #6 listen to everyone and nod appreciatively, but do what you think is right
    #7 most importantly, don't pay attention to this idiot
  • by toygeek (473120) on Sunday May 09, 2010 @12:28AM (#32144640) Homepage Journal

    Never set an expectation that you cannot exceed. Do that, consistently, and you'll do well.

  • by masmullin (1479239) <masmullin@gmail.com> on Sunday May 09, 2010 @12:48AM (#32144764)

    Dont break the build... EVER!
    If you break the build fix it immediately (yes its 11pm, fucking well fix it)!

  • The Uniform (Score:3, Funny)

    by Phrogman (80473) on Sunday May 09, 2010 @01:14AM (#32144892) Homepage

    The uniform is:

    * Sandals, with socks
    * Shorts with pockets
    * A T-Shirt preferably with a Tech related theme or something from popular culture. Sports themes are right out.
    * Beard - if you don't have one, try to cultivate one. If you are unable to grow one, try to grow a "soul patch"
    * Shaved head is optional
    * Shower only on days which have a T in the name

    Now, you may be too young for this approach, but aim towards it, start (I would guess, as I *am* too old) with sk8t3r-chic and work your way into the above as best you can.

  • by thygrrr (765730) on Sunday May 09, 2010 @07:44AM (#32146216)

    Be polite.
    Be efficient.
    Have a plan to kill everyone you meet!

6 Curses = 1 Hexahex

Working...