Live data from Hacker News

In 8 months at Microsoft, I learned these things

ahmetalpbalkan.com

61–70 of 286 posts

Re: In 8 months at Microsoft, I learned these things

#61
This is one of the things that has always bugged me.

I've had my share of work in a-large-company-i-shall-not-name. In my experience, given higher tiers that are receptive enough (read: people with technical backgrounds and some technical experience -- not necessarily glorious, even some QBASIC hacking is ok) and team members that are not mediocre, this stuff can be helped. Even in large companies. Not in all departments, not in all teams, but it can be different -- although the technical challenges involved in doing it "right" are insignificant compared to the non-technical ones.

Most of it seems to stem from the fact that, while large companies are very eager to enforce non-technical compliance (sometimes to unhealthy extremes, where they value conformance over performance), technical discipline is not as eagerly enforced. The same people who, in virtue of their hunger for promotion, would ship anything that compiles and seems to work, will tolerate any amount of crap. If enough team leaders, product managers, department heads and, in general, enough people who are not directly responsible for code they write, regularly contribute mediocre technical solutions, no one will ever get sanctioned for mediocrity, just for outright failure.

That being said, I would personally fire any manager responsible for the following:

> Expect no documentation in corporations. I have seen the knowledge inside the company is mostly transferred by talking and hands-on sessions.

If this happens, things are fucked up beyond recovery. If a company can afford to budget weeks and weeks of paperpushing for approving the first draft of the approval form for the architecture, they can afford extra time for proper documentation. When this happens, it's often a symptom of middle management wanking it until the upper management begins thrusting the hierarchical cock down their ass, and then immediately raining all responsibility down on the technical layers, which cannot rain it on anything else.

I can't claim that the teams I worked in had brilliant, completely up-to-date documentation, but it was good enough that newcomers had to begin pouring questions only when they actually struck tough code for the first time. In exchange for that, we treated blatantly missing or out-of-date documentation like any other bug -- we had timeframes for fixing it and people who were being paid to do it. I never had anyone from the upper layers ever complain about it. They were reluctant at first, but then, when the new employees who were handed over to our team were up to their necks in code after two weeks, whereas their equally recently-hired colleagues were still attending training sessions, no one had any chance of unhappiness anymore.

> 2-3 hours of coding a day is great.

2-3 hours of coding a day, for everyone in the team, every day of the week, is something the team leader should be strangled for. Slowly. In several stages. Just before moving to the micromanagement-obsessed higher layers.

Non-technical/upper-management hated me for it, but every Monday I screamed, yelled and kicked and any necessary, but unproductive bullshit they had for us was scheduled either on Monday, or on Friday. Technical meetings were always scheduled at least one day in advance (well, whenever possible, but it rarely wasn't).

At the end of the week, one day was definitely wasted, but I made it a goal that we get at least one day a week when we can do nothing but code. If the people who like meetings can get a day -- fuck, can get every day of the week -- when they can have meetings from the first hour of work to the last hour of overtime, coders deserve a day where they can do nothing but code. Yes, it results in people hating you. It also results in them not being able to do squat about it.

> The world outside is not known here a lot. [...] It’s not common here. I am surprised that no one I met in Windows Azure team heard about Heroku or Rackspace, which are direct competitors. That’s acceptable, not everybody has to know these.

This is very, very, very wrong, it's wrong beyond words. Not having heard about the competition -- especially in such a trendy thing -- is a symptom of your people not being familiar with the technology they develop. Not cool. Someone in Recruiting had to meet a recruitment quota. You can't make racing games with people who don't know there are other racing games beyond those they develop, and they most certainly cannot be creative if what everyone else calls "reinventing the wheel" is "new development" to them.

That isn't to say everyone has to have a perfect picture about the competition, their strong points and weak points and so on. That's what the Marketing and Sales folks are paid for. But a lot of things, from motivating people to exploring new features, is difficult -- hell, if you ask me, it's impossible -- if they don't have a full picture of the field they play on. It's like fielding a football team and asking them to play against an unknown team, blindfolded.

> It is all about getting shit done in corporations. [...] As long as that functionality is ready, it is okay and can always be fixed later.

Windows Azure is just three years old IIRC. Let them bask in their Getting Things Done attitude for another ten years. Either their developers will get their shit together, or three quarters of the team will be interns, new employees who have no idea what they got themselves into, people who just couldn't be made to fit anywhere else but the company is afraid to fire over crackpots' lawsuits and a horde of business majors to run the project.

Don't get me wrong -- both the approaches I outlined and the ones presented in the article can be equally lucrative under the right management, and the supply of teachers' pets eager to climb the corporate ladder will always be drawn towards the fiery chasm of companies like Microsoft. Hell, even smart and brave folks will do it, thinking they will be able to take it an fit in, will try it -- I've done it myself, twice even (in true experimental science way). But the one this guy talks about tends to drive away most of the smart, dedicated, creative people. You can run a corporation on corporate drones, but your market leader position will constantly be usurped by technical shortcomings, even among brilliant products, and constantly be saved only by savvy business tactics. Profitable (even in the long term), but sorrily futile in the greater picture of things.

Re: In 8 months at Microsoft, I learned these things

#62

"Expect no documentation in corporations" TechNet has so many valuable articles! It helps me every day to figure out the issues I have without having to hire an expert;-) And I love the Microsoft Test Lab Guides ( http://social.technet.microsoft.com/wiki/contents/articles/1... ) which is continuously updated.

I think it's just internal vs. external documentation. People are paid to write external docs as their job, so they should be pretty good.

Re: In 8 months at Microsoft, I learned these things

#63
post #5

> Not giving back to the public domain is a norm. Uh, this is Microsoft , they may have a slightly more close-minded view of the open source movement than, say RedHat or Google, or hell, even Oracle.

That isn't entirely true. While "giving back" may not be the norm, there are other relevant details to consider: http://arstechnica.com/business/2012/04/linux-kernel-in-2011... Legal departments also get in the way of contributions to open source. "We don't want any of our proprietary code to end up in that library" is a common theme found among legal teams that paint with too-broad of brushes. I am currently experie…

Not to mention someone suing you because you infringed on their software patents, with source code proof.

Re: In 8 months at Microsoft, I learned these things

#64
At least from my experience, corporations had very good documentation and where I worked we always had constant peer/code reviews. Also if you worked 2-3 hours likely you'd be overrun with work. It's hard to argue with some of the other points, like "It is all about getting shit done," though I'm inclined to say that that point is universal to most companies.

Re: In 8 months at Microsoft, I learned these things

#65
post #56
post #50

Earlier quoted context omitted.

Working past 6 should be considered absurd unless you start at 10 or 11.. There's a world out there for you to enjoy, and many people fought hard for workers rights so we don't have kill ourselves over work.

Not if you love what you're doing.

I totally love what im doing, but forgive me, i love my family more.

Re: In 8 months at Microsoft, I learned these things

#67
post #44

Good luck. I hope this was not a mistake to publish, but it is definitely true of ALL jobs, not just developers or tech in general. I have noticed that it usually has to do with people being greedy of their knowledge and wanting to be indispensable. However, many of us have a choice to contribute to this and other places where we can share info as you said in your post, so thanks.

It is fortunately not true of all software jobs; if it were, I would have changed careers a very long time ago. Perhaps I have been lucky, but my experiences in small companies have generally been much, much better than what the author describes.

You know, you are right about that. I think that you are right about there being some small companies that are very good and some developers that are excellent at documenting code, sharing knowledge, etc. All software dev companies should probably require Code Complete as regular reading and sharing info should be encouraged as well.

Re: In 8 months at Microsoft, I learned these things

#69
> Expect no documentation in corporations.

I've worked with enough small to large companies, to feel confident saying that if the culture does not value and encourage documentation, then you shouldn't plan on staying. Back in the day we made do with SMB/NFS shares, but with todays wikis, SharePoint, and google docs, there is no excuse.

From internal APIs docs, VPN setups, build env. setup, POs, to expense reports, you shouldn't have to find the right person. Any company < 2 years should be in the process of developing this stuff, and any company older should either have it or you should be looking for a new job.

Re: In 8 months at Microsoft, I learned these things

#70
post #50
post #32

Earlier quoted context omitted.

I spent two summers interning as a Program Manager at Microsoft (Xbox and Office), and his statements are nearly 100% accurate: - Literally any piece of documentation was always 1+ years out of date. Setting up a dev environment could take days when it should have only taken hours. - A lot of my coworkers were over 35. Starkly different from my experience later at Google. Working past 6 was considered absurd, and a l…

Working past 6 should be considered absurd unless you start at 10 or 11.. There's a world out there for you to enjoy, and many people fought hard for workers rights so we don't have kill ourselves over work.

I agree if you're working in some drone farm. Without a personal stake, why do people feel enthusiastic about following orders that keep them locked up at work all day? I understand that there may be coercion, like the threat of being fired, but if you're just writing software for your company, where does the enthusiasm for long hours come in? I'm freelance, and I love working on my projects. I often work long hours. I hardly stop. But I have a 100% stake in what I do and generally choose projects I believe in, like endangered language preservation or stuff that I find intellectually stimulating. Why would someone want to work at Microsoft or Google past 6pm? Why do people give their souls to hives?
Post reply on HN