Slashdot Mirror


How To Behave At a Software Company?

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

33 of 842 comments (clear)

  1. Good hygiene, don't be a know it all. by Anonymous Coward · · Score: 5, Insightful

    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.

    1. Re:Good hygiene, don't be a know it all. by russotto · · Score: 5, Funny

      It's an absolute travesty that you need to point out things like "have good hygiene". Everyone should have good hygiene. If you don't, you should probably kill yourself.

      That's going a bit overboard, and won't work anyway; dead bodies are quite unhygienic. WASHING yourself (i.e. showering -- use soap and shampoo) and brushing your teeth (toothpaste: tastes bad, works good) are the two most important things you can do. Put on clean clothes after showering; this generally means doing laundry now and again, but it's worth it.

    2. Re:Good hygiene, don't be a know it all. by Anonymous Coward · · Score: 5, Funny

      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.

    3. Re:Good hygiene, don't be a know it all. by jetole · · Score: 5, Insightful

      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.

    4. Re:Good hygiene, don't be a know it all. by StrategicIrony · · Score: 5, Informative

      Bullshit.

      I have a co-worker who constantly pulls the "dude, RTFM" on everyone like he knows the answer. But when you pin him to the wall, frankly, he constantly doesn't.

      He frequently chortles when someone asks a question "dude, didn't you learn this in 4th grade?" but he then gets the same thing wrong the next time he has to do it because he can't ask the same question (having teased someone for asking it before).

      Knowing a lot is very different from being a jackass, which is what is implied in the GP's answer.

      Asking credible questions incorporating the previous steps you attempted to answer your own question gains you a lot of support and will make you a wiser person in the long run.

      Simply being a turd and thinking you already "know it all" just impresses people who don't know any better. Those who do know just roll their eyes and quietly check you off in their head as a know it all turd.

    5. Re:Good hygiene, don't be a know it all. by Eric52902 · · Score: 5, Interesting

      Won't this just leave me with a broken spirit gaming the system while working for a know-nothing boss who makes ridiculous requests and sets impossible deadlines in a dead-end job?

    6. Re:Good hygiene, don't be a know it all. by jetole · · Score: 5, Insightful

      See? You're already half way there.

    7. Re:Good hygiene, don't be a know it all. by Hal_Porter · · Score: 5, Funny

      Naah, *never* stand up for what you believe in. Software is about passive aggression. Rather than telling someone to stop clicking, spend the afternoon arguing about why you won't tell him on Slashdot.

      People that stand up for what they believe in a trouble makers. We need people people in this team. Oh, and I'm going to need you to come in on Saturday. Remember what I just said. Slashdot isn't blocked by the corporate firewall BTW.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
  2. Attitude by ShakaUVM · · Score: 5, Informative

    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.

    1. Re:Attitude by nmb3000 · · Score: 5, Funny

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

      --
      "What do you despise? By this are you truly known." --Princess Irulan, Manual of Muad'Dib
      /)
  3. throw fits over minor things by convolvatron · · Score: 5, Funny

    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

  4. Re:notepad.exe by yup2000 · · Score: 5, Informative

    Also, read this: http://samizdat.mines.edu/howto/HowToBeAProgrammer.html

  5. Re:Advice, Dawg by Culture20 · · Score: 5, Insightful

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

  6. Re:Advice, Dawg by MoeDrippins · · Score: 5, Funny

    Suggesting Taco Bell is ok... it's the aftermath that can be alienating.

    --
    Before you design for reuse, make sure to design it for use.
  7. Re:Advice, Dawg by g33korama · · Score: 5, Interesting

    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.

  8. Even balanced by HTMLSpinnr · · Score: 5, Insightful

    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.

    --
    $ man woman *
    -bash: /usr/bin/man: Argument list too long
  9. A lot of common sense by Anrego · · Score: 5, Insightful

    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.

  10. Re:Woah by Anonymous Coward · · Score: 5, Insightful

    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.

  11. Re:Lunch by __aasqbs9791 · · Score: 5, Funny

    Also, though this may be a catch-22, don't bring live things into work to eat either.

  12. easy. by Anonymous Coward · · Score: 5, Funny

    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.

    1. Re:easy. by ultrabot · · Score: 5, Funny

      SAVE MONEY!! Once you can afford to, buy a house. Marry someone sensible and like yourself.

      And don't forget the sunscreen.

      --
      Save your wrists today - switch to Dvorak
    2. Re:easy. by shiftless · · Score: 5, Interesting

      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.

  13. Re:Lunch by jc42 · · Score: 5, Funny

    Do not bring any food containers that smell like something died inside ...

    But, but ... Almost all my food consists of something that died.

    Yeah, there are exception, like the lettuce, tomato, etc., that are technically still alive. But, for example, the bread was made from a pile of baby wheat plants that were ground up (while still alive), then mixed with live yeast and a few other ingredients, then baked at a temperature guaranteed to kill everything in the loaf. Then we slice that up, fill it with slices of dead animals and other things. Only the lettuce leaves and the seeds inside the tomato slices are still alive; the rest is quite dead.

    I've found that people tend to think that such food is very "fresh", whatever that might mean, but they're clearly wrong. It's mostly made up of things that have died in the recent past. Some of them, like the baby wheat plants, died a rather awful death by being tossed live into a grinder. Others, like the yeast in the bread, died a horrible death in a bath of steam slowly getting hotter.

    --
    Those who do study history are doomed to stand helplessly by while everyone else repeats it.
  14. Re:Woah by amRadioHed · · Score: 5, Insightful

    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.

    --
    We hope your rules and wisdom choke you / Now we are one in everlasting peace
  15. First Day by BlueBoxSW.com · · Score: 5, Funny

    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.

  16. Re:Advice, Dawg by edivad · · Score: 5, Insightful

    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.

  17. Re:Advice, Dawg by mmmmbeer · · Score: 5, Insightful

    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.

  18. +1 what the others said, and my two cents worth by TheGrumpster · · Score: 5, Insightful

    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!

  19. Re:Lunch by Peach+Rings · · Score: 5, Funny

    My advice: Do not drop references to literature you've never read.

  20. Re:Advice, Dawg by scotch · · Score: 5, Insightful

    Ironically, since he was the first to go, he probably got the best severance deal and a chance to look for a job before the rest of you guys flooded the market with your down-with-a-sinking-ship stench.

    --
    XML causes global warming.
  21. A few thoughts by MichaelSmith · · Score: 5, Insightful

    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.

  22. Re:Lunch by __aasqbs9791 · · Score: 5, Funny

    That certainly would be a white whale, to be sure!

  23. Re:Woah by kklein · · Score: 5, Interesting

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