1. 24

  2. 5

    Are any of these actually particularly common? I am graduating soon – are these behaviours I’m likely to run into in the general Silicon-Vally/software/tech company arena? (I’ve been lucky enough to work at great places for internships so far, and don’t think I’ve seen anything like these.)

    1. 9

      It depends entirely on the company. The only real way to try and determine whether these things occur at a given company is to ask the people that work there questions to that effect. Really, the best way is to work there, but this is a solid second-place choice ;)

      Questions to ask during the interview process to suss out details (by applicable question number):

      • 2) What does the process for committing code look like? How effective is it/how often is it followed?
      • 4) What’s your least-favorite project you’ve been on since you’ve started?
      • 10) What kind of hardware do you develop on?
      • 17) How well do you feel like you understand the company’s direction?

      When spread out over several different interviewers (who likely aren’t communicating their specific answers between each other), you can start to get a good idea of what the people that work there really think about their company.

      The interviewers probably won’t lie to you outright (would you?), but they may not tell the whole truth either. Asking a bunch of times gets you answers you can synthesize into a picture of the environment. If things sound too shady, or you can’t get a straight answer, passing on the job might be a good idea!

      Edit: Asking these kinds of questions is always a good idea, as well. Not only does it get you a good idea about the company as a whole, but it marks you as somebody who’s actually thought about the kinds of things they’d like to see in a company. From first-hand experience as an interviewer, this makes a great impression!

      1. 4

        There’s a little truth in all of them, but the ones I see most commonly are #1, #4, and #14.

        1. 3

          As someone who is working in a start up, has worked in 2 previous start ups, several months at enterprise, one tremendous personal failure, and has friends in start ups around ~10-20 people that are vocal about the problems. I will say that you will encounter at least a few of these. A company that has all of these is a company you should leave immediately without question.

          If you are planning to work in this wonderful profession (no sarcasm, this is a beautiful profession with the right people) for many years, be prepared to:

          • Work for someone who won’t treat you the same way a recruiting document may suggest.
          • Work for someone who has little to no understanding of software development.
          • Work for someone who has little to no understanding of how to build a team.
          • Be in a situation where the business is struggling and stress becomes a daily thing.

          Also remember as you work, you change and develop new perspectives. You will also inevitably make mistakes and see a new side to people.

          Ideally you never have to deal with any of these, and you can focus on building awesome things that explore your creativity as well as the needs of people you care about.

          1. 2

            #3 gave me flashbacks! both the ETA crap, and interrupting me to explain how I was solving the problem (for no very good reason other than the warm fuzzy illusion of managing the effort)

            1. 2

              At my last place, 1,5,6,9,10,19 & 21 are pretty spot on unfortunately.

              1. 2

                That is brutal. 5 is incredibly tough to deal with. 10 is hilarious if they tell you during the interview that you can pick the hardware you want.

                1. 1

                  5 is pretty common when an exec has been sold technology before a project starts, thinking it will make everything easier. Then 5 becomes a requirement for the project or it is a) money wasted b) makes said exec look bad. The piece should be renamed to, “How Bureaucracies Function.”

              2. 2

                Bad management is very widespread within sv / tech companies, because fast-moving companies inevitably end up with managers with little experience/training.

                You can dodge some of these issues by working for larger / more-established companies, but even the most well-respected companies have bad managers thriving on some teams. Sometimes top-performing teams can be managed by complete assholes of some form or another (e.g. many of the stories about Steve Jobs).

                Learning to “manage up” with inexperienced managers, or change positions when the situation is untenable is a reality of business, and not unique to tech.

                Just to be clear, though – this is a managerial problem and not something you should suffer through! There are plenty of fantastic people out there to work for. As a tech worker you hold sway and can try to seek out places that don’t have these antipatterns, and work to reverse them when you see them.