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

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

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

      See? You're already half way there.

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

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

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

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

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

  9. +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!

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