In 8 months at Microsoft, I learned these things - <AUTHOR> http://ahmetalpbalkan.com/blog/8-months-microsoft/ <comment><USER2> I'm not sure where to start. This is a person at his first job out of college and he's been there for less than a year (two if we're being generous). And yet he has the audacity to say "I learned that one will see this sort of problems in all large scale companies."? Really? This is absurd. I can't wrap my head around the sort of arrogance and myopia that makes a 21 or 22 yr old think that he can describe an entire world from such limited experience.

I've been working for over 20+ years now. During that time, I've worked at half a dozen large corps, a few medium sized ones, and a few startups. I've seen both great teams with great practices and bad teams with poor practices. One thing that I can say though: the size of the company didn't seem to have much to do with it. Even with my experience, I don't think I've seen much more than a thin slice of the variance in practices that is out there.

Note, I'm not saying that this guy didn't experience what he wrote about at Microsoft. But at a corporation that size, you'll likely find that different groups have different practices. This was certainly true at the large companies I've been at. Some teams were super-sharp, others were sloppy beyond words. Even if all teams at MS suck (which I doubt, but I will admit it's possible), this says nothing about how other companies operate and very little about how large corporations operate.

Word of advice: don't mistake the worlds you extrapolate inside your head for reality.

<comment><USER3> Hey there, author of the post here. I thought I may justify what I said.

I have friends in almost all big companies and I discuss them about these issues a lot. Almost all of them agree that they are in a similar situation.

I know that even Microsoft is a huge world and NOT all organizations are the same. All organizations have their own culture so there's no common culture in the company I can describe. In a way this is good.

So the statement "Even if all teams at MS suck" would be really wrong. In addition to this, organizations get better and develop culture over time. Thanks for the comment.

<comment><USER4> I am at the same point in my career as you. My first job out of college was at HP. I must say that everything you mentioned was the case for me too.

Now I'm at a smaller company, and my quality of life has improved tremendously.

<comment><USER5> Ex IBMer here. Spent some time there when I was OPs age and my experience was similar. I'm at a mid-size company and it's better but still not perfect! Nothing is, at least all the time, I assume.

</comment></comment></comment></comment><comment><USER6> I spent 5 years at Microsoft as a dev and share almost none of the author's sentiments. I had very few meetings, my manager went out of his way to make sure that I was not blocked, code reviews were mandatory, blogging on technical aspects was ok, had ample free time to work on any side project I wanted (even encouraged to work with MSR on things that were more researchy), etc etc... I could go on for a while.

Sure, there was a huge emphasis on shipping rather than spending days space architecting the codebase and sure, not every piece of code was a stellar example that would show up in a college textbook but I'm having the exact same problems while doing my own startup, where at times I knowingly incur some technical debt in order to ship on time.

<comment><USER7> Also, worthwhile to note that this guy is an SDET and not an SDE at Microsoft.

VAST difference in quality between the two disciplines.

<comment><USER3> Hey there, author of the post here. Yes I believe there are different realities in Dev and Test organizations and this may be the pure source of my experience (in both positive and negative aspects). Thanks for pointing that out.

<comment><USER7> You should add that to your blog :)

</comment></comment></comment></comment><comment><USER8> I wish I could say things were better on the academic end of scientific computing.

Expect no documentation in corporations. --> Expect no documentation in research code.

It is not what you do, it is what you sell. --> It is not what you do, it is what you publish.

Not everybody is passionate for engineering. --> It is not what you do, it is what you publish.

2-3 hours of coding a day is great. --> It is not what you do, it is what you publish.

Not giving back to the public domain is a norm. --> Not giving back to the public domain is a norm because you might not own your data, or because you might not have any documentation.

The world outside is not known here a lot. --> Ivory towers?

It is all about getting shit done. --> It is all about getting shit published.

Copy-pasting code can be okay. --> Copy-pasting code is okay.

Code reviews can be skipped. --> Code reviews? You're lucky if we keep track of revisions.

Your specialties usually do not matter. --> You are your specialty.

At the end, you are working for your manager's and their managers' paychecks. --> At the end, you are working for your advisor and your advisors' grants.

<comment><USER9> To be fair, the job of the academia is to do research. Coding is just a means to an end. If on the other hand, you're distributing your code or it's intended as an ongoing project, then good comments and architecture are important (Disclaimer: I'm a PhD student).

<comment><USER10> The job of the engineer is to ship products, not code. (Unless you sell code or maybe library-components)

See, it's easy to ship responsibility on either side, with the exact same line of reasoning.

<comment><USER9> Usually though that product code will be worked on by many other people. The same is often not true of academic projects.

<comment><USER11> There's still an opportunity cost to writing documentation. How many other people will work on that code? 2-3? 12? 100? 2000? If it's 2-3 or even a dozen, you're better off explaining in person how it works, while if it's 2000 there better be some persistent written documentation.

It probably also doesn't help that the number of people who look at a given piece of code follows a power law, which means that when _you 're_ doing the looking, you are probably looking at a piece of code that many other people have looked at. Everybody remembers the terrible mess that they had to puzzle out without any documentation. Most of the time they don't remember all the little experiments they did that never saw the light of day, where time spent documenting would just be wasted.

<comment><USER9> If the product you're working on is a long term project of the company, it's likely you'll leave before it's over in which case there will be a future person who'll have to figure out your code. In such a case, documentation is essential as otherwise this person would have to contact you after you've moved onto other projects and may have forgotten the intimate details of the code making things tricky.

<comment><USER11> That's why you have at least two people work on every part of the code, ideally together, but you could easily arrange a hand-off. Solo-developer projects are bad ideas for other reasons, notably that if you get hit by a truck the company is SOL.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> _Expect no documentation in corporations._

True anywhere. Lots of OSS is horribly documented. Documentation is not only hard, but adds debt that now must be maintained. No documentation is better than wrong documentation.

 _It is not what you do, it is what you sell._

Welcome to business (and life really). While selling styling changes is going to be hard, selling bug fixing, code changes to be more robust and easier to manage are easy sells. If changes will make it easier (aka cheaper) to add new features even the least technical business person will get it.

 _Not everybody is passionate for engineering._

Not everyone has the same engineering passion. I don't care that my new router with IPV6 gives me some large number of IPs, but I do get excited when I can integrate a new framework which makes my job easier.

 _It is all about getting shit done_

This is life. Do you really think the small companies of the world don't care about getting shit done? The small companies of the world are often more concerned because they don't have MS Office level cash cows keeping them afloat.

 _Latest software, meh._

Because it often breaks shit and gets in the way of getting shit done.

* I spend most of my time trying to figure out how others' uncommented/undoumented code work, debugging strange things*

Programming is mostly reading code. I don't feel like looking it up right now, but Clean Code references the study. Reading code _is_ coding.

<comment><USER13> > Programming is mostly reading code. I don't feel like looking it up right > now, but Clean Code references the study. Reading code is coding.

Well said - certainly the most valuable skill I've picked up post education and working for $BIGCORP is the ability to quickly read and understand other people's code.

</comment></comment><comment><USER14> I am doing an internship in Windows and I have to say his first few points are right on the dot.

The windows debugger does have proper documentation. I know this because two separate people on opposite ends of Windows Org made a point to mention this. Yet the documentation itself is not more than one would expect from complex software's man page. This contrasts well with the software I am integrating with for one of my projects. The only mention I could find of said software was a slide saying "This software has no documentation, here is a link to .NET decompilation software".

One surprise I can add is that Windows does not have an internal package management system. I expected to see a apt-get like tool. Instead there are various download.com like sites hosting installers.

<comment><USER15> If you're interested in package management solutions on Windows, you might want to see [http://chocolatey.org](http://chocolatey.org)

</comment></comment><comment><USER16> "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."

WOW! It's one thing to ignore competitors, it's another to not know who they are. I thought (by reputation) that Microsoft was a competitive place.

"It's hard to find a position in corporations matches what you love to do."

Seems obvious, but hindsight is 20/20.

It was a risk for them to post an article that could be considered critical of the mothership.

<comment><USER17> Ya, he's not paying attention. I work for Azure and everyone is very clearly aware of the world and the competition.

<comment><USER18> scott, hope he is not creating controversy by publicizing his team n stuff..

</comment></comment></comment><comment><USER19> I can't comment on MS, but I can certainly tell you that not all large companies work that way.

Some points just don't apply - I happen to be lucky enough that I do work with passionate engineers, manage to get about 5 hours of coding done, and actually look at reasonably decent documentation.

And some things are as they should be. Your "specialty" rarely matters that early in your career. Most of the things mentioned (create iOS app, know MongoDB, etc.) are things that I'd expect a good developer to pick up as needed. Working as a software engineer is about being able to think logically, not mastering a particular subset of skills.

And yes, latest software is frowned upon. You'll know why once you've been on a project that went completely off the rails right before finish just because somebody needed to upgrade the compiler. Those are things you _plan_ for. You test the new software extensively, and see when you can best absorb the inevitable cost of switching.

</comment><comment><USER20> He sounds like someone who is significantly lowering his standards. Seems like working at a big corporation is killing his spirit and energy. That is just sad.

Edit: Unless he is being sarcastic?

<comment><USER21> His standards weren't based on the real world though.

<comment><USER11> The real world is an awfully broad place. There are plenty of places you can go where mediocrity is _not_ encouraged, people do more than 2-3 hours of real work a day, they're passionate about their work and curious about outside developments, and your specialties do matter. If you want to work there and find that you're not able to do that in your current job, _change your job_.

You tend to get the life you believe you deserve - if you're willing to put in the leg work to make it happen, you can very easily reconfigure _the world around you_ to something you're satisfied with.

</comment></comment></comment><comment><USER22> I can't decide if this post is a joke or not. Yes a lot of what he describes goes on in many large corporations (although rarely ALL of what he describes unless you're one of the unfortunates stuck at one of the REALLY dysfunctional companies), but the way this article is written makes it sound like you should expect and be satisfied with all the things he describes. If the company you work for suffers from about half of what he describes that's probably about "average" for the industry, but that just means you've got a mediocre job. If your company checks 3/4 or more of that list, your company sucks, look for something better. If your company exhibits none, or only a couple of the problems, that's a pretty good company, consider yourself lucky (although try to fix the problems if you can).

Just because something is dysfunctional in the company you work for doesn't mean you should just accept it, you should try to change it if you can, but depending on how far down the totem pole you are you probably won't be able to make that big a difference. In general, the better the company you work for, the more likely you'll be able to fix what problems there are. If a company is so dysfunctional that there's no hope for change, start looking for something better, don't put up with a horrible working environment just because the company is "big" or well known.

</comment><comment><USER23> I understand his experience. I've been mainly, (70% of the time), a third party Windows developer and admin for the last two decades and have spent thousands of hours working with and talking to Microsoft folks. Even have a few family members that work for the corporation.

NIH: Many Remondites live in the "bubble" where technology from the outside doesn't exist or doesn't matter. (It reminds me of the hard core Republican base.) This extends to much of the user base as well. There is a strong denial of OSS and there used to be taunting of Apple. (Until the iPhone kicked the smartphone market in gear.)

Future: Redmond has some serious issues to deal with: dysfunctional management, growing OSS usage, rejection of Win8/Xbox One and how to get people to use Azure when it's known you are the NSA's bitch.

<comment><USER24> _(It reminds me of the hard core Republican base.)_

hn works better without this kind of snark. I'm sure the "hard core Democratic base" believes most of what they read on the Daily Kos, too. Almost everyone has a bubble around something in their lives.

</comment></comment><comment><USER25> > I have seen the knowledge inside the company is mostly transferred by > talking and hands-on sessions.

Yes. Exactly. IMHO this is the factor that's responsible for at least 50% of corporate clumsiness.

> If this would have been my own company there would be tons of wiki pages.

Just having wikis won't help much. I worked at a company that had wiki, people were putting things there as an afterthought. I was total and complete mess. Lot's of information was outdated, duplicated, horribly messy but it still was something. There should probable be some person with sense of structure to prune those pages, nag people about details, construct some sort of tree from these splinters of information.

Corporation also had task tracking system. But it wasn't helping. It was used as afterthought to leave a trace that some work is to be done and some work was done. What's actually to be done was passed via face to face contact. Therefore noone cared about task tracking system and what's written there.

If you want to keep information, you have to use the system that stores it as crucial (only?) communication chanel.

<comment><USER26> Wikis for documentation: great in theory, sucks in practice.

Make a change to source, then you have to figure out where the wiki page is for it. Can't find the wiki page? Make a new one. What folder does it go in? Do you make a new folder? What if a page does exist, but it's wrong? Do you fix the whole thing? Just the part you added? Email the person who last updated it?

After 6 months it ends up being a tangled mess of insanity, and no one relies on it. You complain about outdated/indescipherable comments? Imagine that multiplied out. In fact, it's almost worse; at least with code you can try to think like a compiler and figure it out. Without code--yikes!

<comment><USER27> Do you have any recommendation for documentation then ?

In my experience wikis are far from perfect and need regular gardening BUT they are vastly better than a shared folder or a sharepoint with a ton of word documents...

<comment><USER26> Depends on the project's scope, who is working on it and also users/usage I'd say. Sometimes embedded documentation can be useful (Doxygen comes to mind). Given a ton of time, it probably should be done in stages, and created starting with the requirements document(s) to at least set the stage for the thought process. There's no blanket right/wrong for all projects. For Microsoft, my guess is that it would make sense to do the inner documentation in much the same way as external documentation is done--people are used to it, the system is already in place somewhere, etc.

</comment></comment></comment></comment><comment><USER28> Pretty much every single thing in here is false for my team.

The first thing he should have learned about Microsoft: every team is almost completely separate.

<comment><USER29> Not just Microsoft, any company that has a size greater than three digits.

On average, at a big company, you're going to spend 95% of your time interacting with less than 1% of the employees.

<comment><USER11> I dunno. Numerically that seems right - Google has 30k+ employees, and I definitely spend 95% of my time interacting with less than 1% of them.

But I've found that the breadth of interactions in that remaining 5% reaches across a _wide_ expanse of the company. I work in Search Features. I have friends and professional contacts not just in Features, but also in Ranking, Maps, Glass, Google+, GFiber, Chrome, Android, AppEngine, YouTube, Research, Brain, CourseBuilder, Doodles, legal, and PR - not to mention a whole bunch of infrastructure teams and research projects that I can't tell you about.

And I've found that one's effectiveness in a big company is to a large extent dependent upon the breadth of your internal professional network. The folks who seem to shoot up and don't get pigeonholed into just writing code for their manager are the ones who have a wide network and always seem to know somebody who can get this thorny task done.

</comment></comment></comment><comment><USER30> "Expect no documentation in corporations" \-- Don't expect code to be documented anywhere, ever. It's great when it exists. Even then, don't expect it to be accurate.

"It is not what you do, it is what you sell" \-- Capitalism -- welcome to America.

"Not everybody is passionate for engineering" \-- You could probably find a place to work where everyone is passionate about engineering, but I sense that these places are uncommon and highly competitive.

"it is almost impossible to get 2 hours straight of coding for me. I spend most of my time trying to figure out how others' uncommented/undoumented code work, debugging strange things..." \-- That doesn't count?

"The world outside is not known here a lot." \-- This is probably symptomatic of the time when Microsoft was the center of the universe. It's not true everywhere.

"Copy-pasting code can be okay. If somebody sees you doing this outside the corporations, you'll probably get punched in the face. I've seen source files copy pasted across projects." \-- In college, you have to show that you can do the assignment yourself. In the open source world, you have to be mindful of copyright and licensing. Inside a company, it's all the company's code, so there's nothing wrong with it. You don't have to prove that you can write it yourself.

"Almost 90% of my colleagues use older versions of Office, Windows, Visual Studio and .NET Framework." \-- It's pretty common knowledge that that's true outside of Microsoft, but it's interesting to know that it's true inside.

"You are hired to do get something needed done. I was not expecting that. It's hard to find a position in corporations matches what you love to do." \-- Again, capitalism. You make things for other people, not yourself.

There's always a tension between competing priorities; the thrill of engineering something wonderful, the reality of being part of an organization made up of people, and the need to keep money coming in the door. A lot of things are just facts of life, but an environment can also become toxic. At that point you have to leave.

</comment><comment><USER31> Obviously, these things exist a long a continuum. For example, at Google, people do tend to write design docs, maybe because writing and sharing them are so easy with Google Docs and Google Sites. We also write lots of "Getting Started" docs, so a new team member can check out code and know how to get his project up and running quickly. How to commit and test changes. How production works. Privacy, Security, Logging, and Monitoring related docs.

Source Code documentation seems better than most companies I've worked at, and Code Reviews are not skipped. The source control system won't allow you (without overrides) to commit without review and approval for most projects.

We also don't like committing hacks just to get something to work. It is generally understood that a //TODO -- will clean up later, or promise to do so will almost never actually be cleaned up later. Rushing creates technical debt. Not saying it doesn't happen, but the degree to which people commit something they know to be wrong just for expediency is low.

This certainly affects agility. All of the burdens of docs, reviews, testing, et al do slow down iteration, but I've also been slowed down by hacky code at other companies. It's a trade off.

Personal projects are a way to let off steam and feel agile again. There you can bypass reviews, tests, docs, and just hack hack hack.

</comment><comment><USER32> As a community, we should react responsibly and warn our members against sharing posts like this. There is almost no useful insight, clearly parts of it are exaggerations, and the whole thing looks like it was written for 15 minutes of HN fame.

Couple of karma points isn't worth pissing your co-workers. If you really want karma, just make an empty post with title "If you don't vote up, I'll write a stupid post that will ruin my career." I promise I will vote up.

</comment><comment><USER33> There's a lot of truth to this article. Some of it might be team specific. I've heard Azure in general is still evolving. I spent 6 years in Bing, a few months on internal MS tools, and a year in Exchange. In Bing, I had 20 managers over 5 years whereas in Exchange, I had just one for the entire year.

Overall, Test was a joke in Bing and most of the people there weren't passionate about coding. They were simply concerned with their bonuses and paychecks. 360 feedback was all about bringing others down. Managers cared about their promotions and fat checks. This problem might be common across large companies - I've heard that from several friends across the industry.

Since I left MS, I've been happier than ever!! Now, I'm making a difference in the world saving millions of lives and the extra time that I put in is well worth it as it's not about competing against yet another product! :)

</comment><comment><USER34> I'm pretty sure this is Asok from Dilbert.

</comment><comment><USER35> "Everybody loves finding Stack Overflow answers on search results, but nobody contributes those answers."

Nobody OFFICIALLY does that. Probably because subsection 89 paragraph 12 clause 9 specifically prohibits that kind of activity on company time, and the company owns everything you produce or think of outside work blah blah blah, only company officers may speak for the company and you're not an officer, and you are never off duty and always working for the company who owns everything you may ever say, therefore you may never communicate with another human being in any manner... officially... in theory...

In practice psuedonymity is the rule. No one he's met in 8 months has seen fit to give a kid leverage over him for no apparent reason.

<comment><USER36> There are quite a few people from Microsoft answering questions on SO with their full name. I don't think this one is a real issue. The % of people who participate in SO is probably small in the total dev population in general.

</comment></comment><comment><USER37> I wonder if he's been to one of those back stabbing Microsoft Performance Reviews yet, probably not since he's only there 8 months.

</comment><comment><USER38> I joined MS straight out of college as a SDET too and I agree with most of what this. This is a broad statement, but SDET is generally not the best bet if your goal is to be technical or entrepreneurial. My big regret is that I stuck around for 3 years before deciding to move. My advice - change your role/team/company soon. Realistically, nothing is going to change overnight in your current role or team - the culture has been established over several years. It is important to work on what you are passionate about and in a culture that fits you, especially when you are young and when career is a big part of your life.

</comment><comment><USER39> > 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.

</comment><comment><USER40> > 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.

<comment><USER41> 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...](http://arstechnica.com/business/2012/04/linux-kernel- in-2011-15-million-total-lines-of-code-and-microsoft-is-a-top-contributor/)

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 experiencing this.

<comment><USER42> Not to mention Microsoft is terrified, and I mean _terrified_ of any open source code accidentally getting copypasted into some Windows or Office. A team I worked on there had to indirectly use linux and there was literally one designated person who was allowed to have a linux machine, and the machine had to be set up by a contractor whose job it was to ensure it was scrubbed of any source code before being handed over to the one guy who was actually allowed to touch it. I swear, you could make the lawyers jump a mile by sneaking up behind them and whispering "GPL"

</comment></comment></comment><comment><USER43> Started a company... failed. Came crawling back to the corporate world, regretfully; it hasn't been all bad but I've experienced most of your pain points.

</comment><comment><USER44> I really hope that this is a sarcastic post? If not, this article is an absolute f __king disgrace.

First of all this is not how all large companies work. This is how bad companies, with poor leadership, bad process, and a complete lack of understanding work. And no, the answer isn't to be stuck so deep in process that you cannot move! The answer, like most things, is a considered, fitting and appropriate balance.

Secondly this attitude stinks. There is no way on Earth I would employ you to work for me. Is it any wonder that the software industry has such a lackluster reputation? An industry full of cowboys and CPs (copy and pasters) like yourself. If you really think like this then you should be looking to change your profession. Yes things need to ship, and no we can't develop forever, but without continuous improvement where do we end up? I am sick of hearing the 'people have lives you know' excuse for utter laziness. If you feel like this then you picked the wrong (rapidly changing) industry to work in. Too bad, so sad. Quit whinging and get a job you can leave behind at the end of the day e.g. shelf stacker.

</comment><comment><USER45> It's true that engineers who work for large technical companies don't typically pay very much attention to external tools. And there's a good reason for that.

Companies like this already have extensive internal ecosystems of tools. These tools were built to work together with other company systems, they adhere to various internal development standards, have teams dedicated to supporting and enhancing them, and are already known and trusted by other engineers and management.

For any problem you are likely to encounter as an engineer, there is typically an existing system that already does what you need, or close. This tool can quite probably be improved or reconfigured to do what you need with less effort than it would take to bring in an outside tool and make it fit internal expectations.

Because of this, the smart bet is usually to use or extend existing solutions rather than exploring and importing new ones. And really, just learning all about the internal systems is a job in itself, quite enough to sate the curiosity of nearly anyone.

</comment><comment><USER26> The biggest thing that sticks out to me is that if you expected to spend more than 3 hours a day writing code as opposed to simply thinking about it / studying it / discussing it / debugging it, you may have been misguided on what a coding job would be. I've only worked on relatively small-headcount projects, and even when the only code in the repo was my own, most of my time is spent debugging things, reading datasheets and discussing design choices with others. Actual writing of new code is fairly minimal, especially after the point in the project where you're making feature changes & additions. It takes a lot of time to figure out what to change without breaking everything!

I have to imagine that a job that allows for 8-10 hours of pure coding (not debugging, not discussing design, etc) every day has a boatload of half- finished-but-not-operational projects sitting around, waiting to be tested & completed.

</comment><comment><USER46> > Code reviews can be skipped, for the sake of agility

that word, "agility". I do not think that it means what you think it means.

<comment><USER47> He forgot the "fr" before that "agility".

</comment></comment><comment><USER48> Sounds about right to me. You leave university with an understanding of how things should be done. But reality is nothing like that. Adapt and move forward.

I would like to offer one other realization that you need to make early on. Your bosses are your bosses because they are better at playing politics than the people that came before them, not because they are more skilled or talented. The best part of working for a large selective company like MS is that you get to work with skilled/talented Type A personalities. Start building your rolodex. This way when you want to move into a director position or start a company you are miles ahead of everyone else.

Cheers!

</comment><comment><USER49> This article is stupid. "I'm fresh out of school, but take my word that this is how ALL corporate jobs are". Then his bullet points are depressing. "Expect the bare minimum, because the bare minimum is A-okay."

</comment><comment><USER50> I think it's weird that this person complains about people going home to live their lives. You know what's awesome about big companies? They know you have a life and they don't try to get in your way for that. There is life beyond the work and the office.

Also, Microsoft is a massive company, and this person thinks a single team reflects the entire company culture? It's a huge company with hundreds of teams. One team does not define the organization.

This post should be titled "I worked at Azure 8 months out of college and here's what I learned." That would be a more accurate title.

</comment><comment><USER51> > If this would have been my own company there would be tons of wiki pages.

Ah how naive :)

> The world outside is not known here a lot. I bet you're reading what sort of > latest technologies and tools are out on blogs, Reddit or Hacker News every > day.

Not reading any tech news sites at all? That is odd, so many developers do.

> Not everybody is fond of latest versions here.

Must be a Windows culture thing. I don't know many Linux users who aren't using the latest version with all programs often or even automatically updated. Except some university computer labs using ancient Linux distros like Mandrake.

</comment><comment><USER52> It's important to remember that Microsoft is a HUGE company, and the experience varies greatly between divisions and organizations, and even between single products within those orgs.

</comment><comment><USER53> As others are saying, Microsoft is a very large company with a great deal of variance in the quality and maturity of teams. I wouldn't consider this description representative.

Azure is still a comparably new team, so I'm not surprised if it is still sorting out its processes. I've hear similar descriptions of Bing teams, and other "startup" divisions in the company.

But there are definitely some brutally effective teams there that far outshine any other non-Microsoft team I've ever seen.

</comment><comment><USER54> "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...](http://social.technet.microsoft.com/wiki/contents/articles/1262.test- lab-guides.aspx)) which is continuously updated.

<comment><USER21> 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.

</comment></comment><comment><USER55> Welcome to the corporate world, where the grass isn't always greener on the other side.

There is always being an intrapreneur. People are people and can be influenced. It isn't easy.

<comment><USER56> _There is always being an intrapreneur._

No there is not, in most companies. In most firms, if you try to be an "intrapreneur" while the middle manager to whom you report has to deal with typical corporate dreck, you'll break this "Law of Power" (Never Outshine the Master): [http://www.youtube.com/watch?v=WMy8Tf- zCag](http://www.youtube.com/watch?v=WMy8Tf-zCag) Then you get fired for being "distracted" because the perception is that you care more about your career goals than your manager's. (Of course, this is usually true for most people and there's nothing wrong with that, but one can't be brazen about it.)

There are benefits to working in larger companies, but the idea that one can just decide one day to recast his job description to "intrapreneur" is laughable for most people. The people who have jobs that would allow that (in small or large companies) don't need to fall back on some templated concept.

</comment></comment><comment><USER57> > In college, I learned code quality is as important as the result, turned out > wrong.

I'm surprised you learned this in college. My department couldn't care less about code quality, and in fact they teach a lot of stuff that goes against the majority of style guides. In an extreme case, I've seen code written by a senior student that repeated tons of code because he didn't use loops, and he passed the assignment just fine.

<comment><USER58> In my university, I'm pretty sure you can graduate with even decent to good grades without having written any single program that worked. So maybe this grind is exactly the right thing for these people.

</comment></comment><comment><USER59> Those are good things to learn. All of them correspond to my own experiences in large companies; none of them are specific to Microsoft. He is fortunate to discover this early, with what sounds like a fairly minimal degree of trauma, so that he can either learn to deal with it or learn to avoid such environments.

I'll never work for such a company again, that's for sure! Been through it three times and that's enough to be certain.

</comment><comment><USER60> Duplicate: [https://news.ycombinator.com/item?id=5868066](https://news.ycombinator.com/item?id=5868066)

</comment><comment><USER61> Ouch.

> It is not what you do, it is what you sell.

This bothers me. Multiple companies I've worked at have made me want to work on some sort of Code Quality team to go in and rip apart and rewrite entire sections of shitty code that won't make any immediate noticeable impact. The business impact it will make is next time another programmer has to touch that code it'll take them a tenth the time to understand, use, or extend it.

</comment><comment><USER62> _> Expect no documentation in corporations. [...] If this would have been my own company there would be tons of wiki pages._

Yes, it it were your company you would have all you employees write tons of document instead of working on new project and actually making money, I know all freelancer and small company have tons of document and run on CMM5.

Wonder why all old CEO never thought of this. They should hire this guy to be the new CEO.

</comment><comment><USER63> He's probably right about some things; but he's wrong about people having life outside of work, but that's OK, he's young and his only passion is his code and growing his career. However, there's something about the tone of this posting and the sarcastic overtones that I'd probably fire him....if at least to free him from his corporate shackles so he can go find himself.

</comment><comment><USER64> 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.

</comment><comment><USER65> >At the end, you are working for your manager's and their managers' paychecks.

You are working to get the shareholders a better share price and dividend payout.

<comment><USER66> I'm working to climb Maslow's hierarchy and achieve self-actualization.

If managers and stockholders benefit from that, that's cool with me.

</comment></comment><comment><USER67> This article has me worried for the author. His cut-and-paste comments alone would drive most corporate legal and PR teams crazy. Normally, this sort of honest personal blog about corporate culture would be okay inside a corporate intranet portal, but forbidden when sent to the wider tech universe.

I hope for his sake that he has understanding managers up the chain and a good second job planned out.

<comment><USER30> Maybe, but what's wrong with pasting code from one Microsoft project to another? I think the company would be overreacting. This post could have been subtitled, "holy cow, this is not college anymore." Most of it sounds like universal coming-of-age stuff that could have been written about pretty much anywhere.

</comment></comment><comment><USER68> 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.

<comment><USER59> 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.

<comment><USER68> 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.

</comment></comment></comment><comment><USER69> "Everybody loves finding Stack Overflow answers on search results, but nobody contributes those answers. I can understand that."

Hmm. I see _lots_ of excellent answers on Stack Overflow from declared Microsoft engineers, and undoubtedly many more undeclared ones. I think the OP is extrapolating, but also that s/he may have caught something of the culture there..

</comment><comment><USER70> This does read like someone just out of college, working on their first job.

> Every company has its own problems.

Over time you'll find most companies/organisations operate in very similar ways.

I'd say it's not even specific to the I.T. industry, but rather, just the way people tend to operate.

It's the politics of human interaction and the bigger the organisation the more politics you will find.

</comment><comment><USER18> coming from the same company, here are my few thoughts when I was joined on Day1..i hated that there is no documentation, but learnt about system by talking to people mostly. and infact no one has given me time to learn. right now for the stuff I have been doing, i dont have time to document them. in Agile, my managers are not expecting me to spend time on that. once some user story satisfy biz. req. they dont want to waste spending time on making absoutely beautiful code or at least they move to technical debt and never look at that again.

code reviews can be skipped sometimes, usually I too go by offline review and checkin. even the people I work with don't give a f __k about open source, HN /reddit or about competitors. at our level we are there to develop what we are told to. If you are interested in something you have to spend time after 6PM at home which is reality in most agile teams. to end 'LIVE WITH IT'

</comment><comment><USER71> I work at a big enterprise and yes, lots of things are familiar. Then again, I work on a project that's about 5-8 years late, and migration will finally be completed next week. People are figuring out documentation matters, and large parts are being properly documented and/or rewritten. There are corporations where people get it.

</comment><comment><USER72> I had the same feeling entering my first job, and I think that its not something about Microsoft it seems to me that its the clash between what we tough that was work, what were taught that was work in college and what it is work in the real world.

Nevertheless these points are valid and we all know the problems of this stuff.

</comment><comment><USER73> Each time is different. You really should take this down or wait to change teams after a year and a bit or leave. It sounds like there is serious disconnect between your expectations and the company culture and what you have written does not reflect too well on the Azure team.

</comment><comment><USER74> All this sounds about right. Sadly. Probably is why companies come and go. Even big ones, eventually.

</comment><comment><USER75> It speaks volumes that even the M$ engineers are afraid of new versions of M$ software...

</comment><comment><USER76> Most of these rang true for me and I only work in a 25 personal company. The biggest one is everyone except me is only there for the 9-5 and the paycheck. Not one has heard of HN. This is why I start a new job in 2 weeks.

</comment><comment><USER77> >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.

Am I the only one that thinks this is completely unacceptable?

<comment><USER78> You are probably the only one that believes his statement.

</comment></comment><comment><USER79> >If this would have been my own company there would be tons of wiki pages.

Ah, to be young and naive again. This is one of those lofty goals that I'm sure everyone aspires to but absolutely no one really ends up doing.

</comment><comment><USER80> If you would like to work in a place that embrace new technology and value great code, TokBox is hiring: [http://tokbox.com/careers](http://tokbox.com/careers)

:)

</comment><comment><USER78> I thought this post was mildly interesting until I hit this statement :

"I am surprised that no one I met in Windows Azure team heard about Heroku or Rackspace"

Aside from the obvious ambiguities, this simply cannot be true.

</comment><comment><USER81> 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.

</comment><comment><USER82> I have a gut feeling that you work as an SDET. I have been through the same experience in my first 2 years. SDETs go through a very different experience as compared to a PM or SDE at Microsoft.

</comment><comment><USER83> Thank you for posting. I think you will inspire a lot of younger devs to seek more meaningful employment than working for big corp. However I fear that you will lose your job over this post.

</comment><comment><USER84> This post is spot on and applies to more companies than you can imagine. Reading Hacker News gives you a really skewed view of how things work and how people think in the software business.

<comment><USER85> I completely agree. Even late stage startup will begin to look more like what the blogger has described. The blogger should gain some exp and move on to a small/early stage startup or find a way to move in to R&D role within Microsoft -- these positions normally offer more freedom and greefields.

</comment></comment><comment><USER86> Great writing - we really feel along with you ("and that's okay"). It's terrible to care and work with people who don't. Find a new team (in MS or out of it).

</comment><comment><USER87> So is this his "I quit" post? Because it doesn't seem like his superiors are going to be very pleased with this post..

</comment><comment><USER88> perfectly describes some of the top mobile/chipset companies i have worked for. Some of the code is so horrible that you feel it might be worth the time rewriting it. But time is too precious...nobody has time to step back and analyze or point fingers. just get the code fix and ship to it the customer.

</comment><comment><USER89> All those things that he wrapped up with "and that's ok." How exactly are they ok?

<comment><USER18> ultimately one needs paycheck.. Its not easy to switch to the ultimate company which is perfect according to his ideologies when you have wife/kids..

</comment></comment><comment><USER90> If I were Bill Gates, I'd fire you without blinking an eye.

</comment><comment><USER91> i wonder if working at google is the same?

</comment><comment><USER92> Yep.

</comment><comment><USER93> sad panda

</comment><comment><USER94> Publishing something that HR/PR can consider slander under your real name while being junior developer is not a recipe for stable employment. These guys tend to freak out over minor stuff like that.

Lets hope it does not have negative consequences.

Otherwise familiar - these companies are like supertankers - move slowly and few people are empowered to make meaningful decisions and contributions. Worked for a few years in a telecom ... it was meetings, meetings, meetings, signing contracts with delivery dates before the day they we signed, absurd promises, turf war and NIMBY.

From now on - 20-50 person companies for me only, unless I am at the very top.

<comment><USER95> 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 lot of people were perfectly happy just riding the Microsoft wave. There were plenty of engineers who had been at the company 12-18 years with only a single promotion or two.

\- I actually was able to do some open source work with Codeplex

\- Not a single person I worked with read HN or Reddit, that I knew of.

It's a bit depressing reading the post, but at the end of the day Microsoft was and is still an amazing place to work. I was paid well, the engineers are well taken care of, and the consumer offerings are still fun and exciting.

Although things were done differently than they are done in Silicon Valley, the difference is not necessarily bad, perhaps more eye-opening. This is how MOST computer science majors spend their careers. Not mastering MongoDB, collaborating on Google Spreadsheets, or posting things to HN, but using Windows XP, Visual Studio, and Microsoft Word 2003 on a 2008 Lenovo laptop. And MS is perfectly happy taking their money.

<comment><USER29> _Although things were done differently than they are done in Silicon Valley, the difference is not necessarily bad, perhaps more eye-opening. This is how MOST computer science majors spend their careers. Not mastering MongoDB, collaborating on Google Spreadsheets, or posting things to HN, but using Windows XP, Visual Studio, and Microsoft Word 2003 on a 2008 Lenovo laptop. And MS is perfectly happy taking their money._

I think this is a dangerous line of logic that leads to equating 'new' with 'important.' I think once you get to the point where you judge someone for the tools they use or the sites they browse you go down a pretty negative path. It's shockingly easy to forget how much of the world runs on J2EE and ASP.net.

<comment><USER96> It's curiosity that's important, not new stuff. We read HN because we're curious, and we don't want to miss anything. We don't get stuck on old inferior tools (at least not at home) because we like to tinker and explore. You can judge people, to some extent, based on their reading, their tools, how informed they are about the competition. Programming is like surfing a tidal wave of information and change; you don't improve by sticking your head in the sand.

(Yeah, that last sentence is a tidal wave of mixed metaphore tossed like a salad.)

<comment><USER97> Programming is more like surfing an infinite amount of tidal waves of information change. Every wave is different, but ultimately they're all just waves regardless of how much people argue which is superior to the other.

Point being, when you're 35 and an expert in your field, you probably need to spend less time learning what the cool kids are up to as opposed to when you're 23 and learning your field and everything you learn is new.

That doesn't mean that you can let yourself not be current, but if your future plans are to work 12 hours per day then go home and read HN at night, I pity your wife and family prospects. :p

</comment></comment></comment></comment></comment><comment><USER56> I am going to be really curious to find out how this plays out for OP. I don't know anything about MSFT, but it's a courageous and insightful post that underlines many of the awful truths about typical corporate programming.

The nonsense (endless meetings, anti-intellectualism, lack of passion) is _why_ so many people check out for good around 40. I really hate the stereotype that that's normal, though; I go to Lisp meetups and fairly often run into people in their 50s to 70s who are still passionate about technology.

I want to know, now and in 6 months, where the OP ends up. I'm not going to get into more detail than this, but one learns a lot (about others, organizations, and oneself) through whistleblowing.

</comment><comment><USER98> The only intention of a bureaucrat is to keep and strengthen his's position, that's why they do meetings and paper pushing and finger-pointing most of the time - just to cover his ass and survive to the end-of-year bonus.

It is so obvious (and ridiculous) that nginx has more market share than IIS precisely because of lack of meetings and design documents.))</comment>


Deco – The React Native IDE is now free and available for download - <AUTHOR> https://www.decosoftware.com/download <comment><USER2> Deco homepage does not start an automatic download: [https://www.decosoftware.com/](https://www.decosoftware.com/)</comment>


Getdavai.com: Compare medicine based on same composition by price - <AUTHOR> http://www.getdavai.com

<comment><AUTHOR> This is my first rails app :).

In a country like india where per capita income is just $1500 getting branded drugs sometimes for the poor or middle class is out of reach.

India is a global hub for generic drug manufacturing. So i made this app to help people find generic and low cost drug based on same composition hoping it will help people find drugs based on same composition by price.

</comment><comment><USER2> why is the accuracy bar in the format: high accuracy(of match?) --- low accuracy ---- medium?

instead of high-medium-low?

design flaw?

by the way, as a fellow Indian, I would suggest adding a option for whether the said medicine is subsidized or not, given how our country has a big subsidy bill (plus some bill was announced recently as well, don't remember the name)

PS: congrats on the first app btw!

<comment><AUTHOR> fixed that was a mistake in hurry. thnx i'll for the feedback will look into thing subsidized thing.</comment></comment>


CERN cuts ties with 'sexist' scientist Alessandro Strumia - <AUTHOR> https://www.bbc.com/news/science-environment-47478537 <comment><USER2> Social sciences are completely untrustworthy because it's all survivorship bias. The writings of people who didn't get fired.

Basically any other source is more trustworthy than current age researchers. E.g. the bible, unkempt street corner prophets, uncle at thanksgiving, porn magazine, unmoderated comment section, magic 8 ball etc

It's nothing but fake science

<comment><USER3> 'I have a point I want to be the truth, so I will selectively filter facts to portray it as truth'.

<comment><USER4> "society has a point that is wants to be truth, so it selectively filters people to portray it as truth"</comment></comment></comment>


Kevin Rose: Five tech predictions for 2016 - <AUTHOR> https://medium.com/@kevinrose/five-tech-predictions-for-2016-d1435d9423b4#.irzcqivec <comment><USER2> Halo 1 got people to buy an Xbox. I think there could be a killer game that could do the same for VR. I'm holding out hope for Eve Valkerie but we'll see if it has the lasting appeal

</comment><comment><USER3> Does Kevin Rose have a history of making accurate predictions about the valley outside of his success with digg?

<comment><USER4> He didn't predict Digg would fall hard in such a short time.</comment></comment>


Can We Keep Our Biases from Creeping into AI? - <AUTHOR> https://hbr.org/2018/02/can-we-keep-our-biases-from-creeping-into-ai <comment><USER2> I suppose this all depends on how you are framing/thinking about the question.

There is a certain amount of bias in being designed/architected/engineered/constructed by humans - the artifact is 'in our image', as it were.

Are you talking about feeding a machine learning system data/information to be turned into information/knowledge by the system that is created by humans? That has our fingers all in it as well.

Cognitive bias? Well, are we talking about what is an 'acceptable' result to a human, or the underlying process? Take Google's machine vision system that sees the world as dogs - the cognition certainly is different, and the results of value to humans for an illustration/visualization of the different approach as well as a certain aesthetic I suppose. The bias is in the entire point of the question and the specialization of the system to provide an answer. But as to the details of the analysis and results? I don't think that has bias in the sense you may be thinking of.

Can you be more specific about what is meant by bias?

</comment><comment><USER3> I'd argue that human bias is actually a source of truth. "higher" levels of truth are often codified in a way very similar to logical constructs. Human knowledge is biased but is flexible and adaptable. Codified law is fairer and has less bias but can only deal with exact situations.

I wonder if black box AI internally has an isomorphism to what is basically a gigantic codification of logic and the training process just discovers then or if it's fundamentally something very different.</comment>


Speech Recognizer / Synthesizer Shield for Arduino and Other MCUs - <AUTHOR> http://www.eetimes.com/author.asp?section_id=216&doc_id=1327036

<comment><USER2> I'm glad this technology is growing. I have several hobby projects in flight now that could benefit from this. I will be investing.</comment>


The Campaign to Eliminate DRM - <AUTHOR> http://www.defectivebydesign.org/ <comment><USER3> >Holding Nintendo Accountable

>volunteers for Defective By Design assembled the cardboard bricks (and had some fun doing so!).

They are fighting DRM by sending Nintendo... bricks?

Wearing pink shirts wont get Bush thrown in jail. Wearing teabags off your hat wont get Obama impeached. And sending bricks will not get DRM removed. Protest culture in America is a hobby and will not be taken seriously, as a result.

You want to stop DRM, you have to stop buying things that have it. Most people will not consider it enough of a deterrent not to, neither will most consumers even know it exists.

HTC removed locked bootloaders because a large number of power users decried it, along with a large number of competitors offering similar devices. Nintendo is the only game in town when it comes to Mario. It's great to send in emails complaining about it, but the only thing that's going to stop them from putting DRM out is a necessary public outcry (not going to happen - <USER2> need every 6 year old to care), or just them just figuring out the futility of DRM (which i'm not sure the statistics on).

<comment><USER4> The point isn't that Nintendo is receiving bricks in the mail, it's that media outlets are telling users _why_ people are sending Nintendo bricks in the mail. To get some momentum behind your cause, you have to attract attention. That's what the bricks are for.

Honestly, I think Nintendo's policy was probably a CYA instead of a detailed record of what they are planning to do with your data. If that's the case, they will realize that they look somewhat evil, and reword their legal agreement. That's much more realistic than impeaching Obama.

</comment></comment><comment><USER5> Unclear why the DBD home page on HN, now (a USian independence day tie-in?), but I guess it is clear why it is on the front page. I voted it up, and presumably lots of people will likewise reflexively vote up an anti-DRM link.

Anyway, how goes the campaign to eliminate DRM? DRM hasn't worked to suppress unauthorized distribution (which of course was a fantasy) and isn't ubiquitous ... except where it is, e.g., Netflix and many consumer devices.

As far as I can tell, the campaign is at best at a standstill. Consumer outcry even when directly harmed (e.g., useless purchases when DRM service shut down) is at best tepid. More speculatively, my default view is that DRM is a misfeature of proprietary software and culture, and will only be eliminated to the extent free software and culture win.

My default view is probably short-sighted. What will be the role of DRM in attempting to control devices that have little to do with content, e.g., automated vehicles?

<comment><USER6> _USian_

That is so stupid.

</comment></comment><comment><USER7> > The campaign aims to make all manufacturers wary about bringing their DRM- > enabled products to market. DRM products have features built-in that > restrict what jobs they can do. These products have been intentionally > crippled from the users' perspective, and are therefore "defective by > design"

oh come on, that's just silly. That isn't at all what DRM does, it can be a side effect of bad DRM but _good_ DRM doesn't "intentionally cripple" products. Why would anyone support a campaign that starts off by spreading such silly claims.

<comment><USER8> There is no good DRM. Claiming otherwise is simply regurgitating the same bullshit that companies such as Ubisoft, EA and Valve spout at every given opportunity.

DRM, in all of its forms, limits what you can do with the product you paid for. That is - and always will be - intentional crippling and therefore defective by design. There is no justification for these limitations besides escapist claims of "protecting intellectual property" or similar nonsense. It's simply companies trying to control (and lock in) their customers.

I might add that I used to be a big fan of Nintendo for their awesome franchises. Mario, Link and all the others basically make up a good part of my childhood. To me, it's just sad to see them going down the same path as all the other publishers.

<comment><USER7> Steam is DRM, but it adds so much value. I prefer to use Steam (with the DRM) than I do to use a game that doesn't have _any_ DRM because of how much Steam improves the process of purchasing, installing, downloading and updating games. DRM done right (eg: Steam) can be awesome.

<comment><USER8> That's just obfuscating what DRM really is. Sure, it's cool and convenient to use Steam, but it's still DRM. Gold-coated feces, if you'd prefer an analogy. Just for example, you don't actually own the game, and you can't do with it whatever you want.

tl;dr: Convenience is not a justification for restrictions.

<comment><USER9> That's an odd position, isn't it?

I have no problem believing that what you are saying is your opinion but I see no reason why everyone should be of the same opinion.

Why can't I be perfectly fine with not owning the game and not being able to do with it whatever I want in exchange for the convenience of Steam? What's wrong with that? I can understand that _you_ believe that those terms are not acceptable but why do you want to force me to believe the same?

Even after understanding perfectly what Steam's terms entail I still think that buying games there is a good idea. What now?

<comment><USER10> I don't think people are complaining that games should be free of charge. People are complaining that all of a sudden, the copyright law itself is not enough.

DRM is broken by design because (a) there is no DRM system that hasn't been cracked yet and (b) it punishes honest customers.

Not only that, but many DRM systems require online servers to be active. You don't own the copy you purchased anymore and as soon as that verification server gets shut-down, then your local copy won't work anymore; unless you knowingly break the DMCA to workaround the DRM restrictions (which is always illegal, even if you own the copyright of said content / being the freaking author).

For me, it is far more convenient to just start downloading a torrent from the dozens of trackers I have access to, than pay up for DRMed content and get punished.

That I pay for the apps or other content I use, that's just because the authors deserve getting rewarded and usually it's not their fault that the distribution medium is using DRM; but when it is, that feels like a dick-move to me and I feel no remorse turning to piracy or not using the product at all.

<comment><USER11> When you pirate a game, do you also pay for it?

<comment><USER12> Those who break technological restrictions (DRM) break the law via the DMCA.

Those who download a 'pirated game' do not violate any laws, as far as who has been prosecuted.

Those who UPLOAD a pirated game can be busted for breaking copyright laws, as you made a copy to someone else.

My answer: I do not pay for DRM games. Its illegal for me to 'fix' them, so I pirate. And it saves me money. Start respecting my rights as a user and Ill acknowledge your rights as a creator.

<comment><USER11> _And it saves me money._

You could save just as much money by not playing the game at all.</comment></comment></comment></comment></comment></comment></comment></comment></comment>


No Amount of Alcohol Use Is Safe, Analysis of Studies Finds - <AUTHOR> https://www.bloomberg.com/news/articles/2018-08-23/no-amount-of-alcohol-use-is-safe-analysis-of-studies-finds <comment><USER2> For anyone that's looking to drink less or moderate their consumption I'd recommend a book by Annie grace called this naked mind. I'm about two weeks past finishing the book and although I haven't stopped drinking, I've had the first real mental shift in how I view alcohol consumption. She was a high functioning, heavy drinker and she dives into the unconscious mind and societal norms/pressures around consuming alcohol. I have a hard time picturing a life without ever drinking again (which is sad in and of itself) but I'm on the mental path of reducing considerably without counting drinks or time till I can have my next one.

<comment><USER3> I'd recommend AA.

<comment><USER3> Not sure why someone would downvote this. I myself am a member. If you have a drinking problem you can't control, come to a meeting please.

<comment><USER4> If you have a problem get help. That said, AA was started by a group that had no idea about physiology of addiction but definitely understood 'God'... It gets tons of support and money from private and government and its completely unchecked and its validity remains untested next to other methods. AA has a 13% 7 year success rate, which is pretty dismal. There are better ways to treat addiction. To be honest I don't know of them because AA sucked all the air out of the room.

I also personally don't like it that, anytime someone demonstrates they have an a very functional understanding of drinking and their intake and can control its many facets through a multitude of different means indicating that they are in no way under some spell of blind addiction, people are still so quick and judgemental to assume they have a problem, a disease, an addition that they aren't handling and should get help from a group of people who really don't know what they are doing with regard to the psychology of addiction.

Something no one will ever tell you is, most people go through a period of heavy drinking at some point in their lives and will miraculously let up on consumption all on their own without the help of a 12 step group.

<comment><USER3> Those are all fair points. I'm sorry if I came across as condescending.

AA worked for me, but only at the point that _I_ wanted to change. Most of the people I see coming in day after day-- they're court ordered--they don't want to be there, they don't think they have a problem, so I would have no trouble believing that 13%.

</comment></comment></comment></comment></comment><comment><USER5> I thought the article was about how even small amounts of alcohol were bad for the health but there's just a line about it and no link to the study. The rest is about heavy drinkers, which seems like nothing new.

<comment> Engineering-MD This is generally true for most of these studies. They rarely look at low alcohol consumption, and then extrapolate to it being true for all levels. They also tend to quite heavily correct for morbidity among those who drink no alcohol. It's a good idea, but often not made clear to the end reader.

My general perception is that maybe small amounts of alcohol aren't necessarily good for you (which was previously thought) and may just be neutral. Moderate drinking certainly doesn't seem as significant for morbidity/mortality as smoking or obesity from the current evidence.

Plus at the end of the day, everything carries risk. It is about deciding what is worth a slight risk. I don't get the focus on demonising small amounts of alcohol. Even if it increases risk slightly, it provides joy to many people and encourages socialisation- important to improving both quality of life and health. There are much bigger fish to fry than moderate alcohol consumption.

<comment><USER6> I call the category of low alcohol consumption into question as being substantial enough of a number to create an argument against the ill-effects of worldwide alcohol consumption. Is it the yearly total, factoring in several days of binge drinking? I am 54, and have lived and traveled the world, and I have rarely met people who only have one drink every few days or so, or if they did, are now mid-to-high alcohol consumers. Like a cancer it grows. I have given up drinking several times in my life, and I currently do not drink. Alcohol culture and marketing seems the same everywhere except when I spent a year living in Indonesia, or traveling to less developed areas in the world. No signs and billboards, no print or TV ads, or conversations with people mentioning how hungover they were, or looking forward to drinking over the weekend, or drinking and driving and making it home somehow, all created a stark and telling context when returning to the US after 8 years overseas. At my current workplace, alcohol is talked about by my young colleagues in a large percentage of their conversation and with passion. The romance and addiction associated with alcohol probably fogs the eyes of those trying to be objective when studying it.

</comment></comment></comment><comment><USER7> This [0] was previously on HN, and it changed my attitude towards alcohol consumption into one much closer to abstinence.

In the past I've used Cysteine and Thiamine supplements for effective hangover prevention [1]. But after learning the same acetaldehyde largely responsible for the hangover effects is carcinogenic. Having had experienced firsthand the effectiveness of Cysteine targeting the acetaldehyde _in_ _my_ _head_ , it became very clear consuming this poison, ethanol, should be avoided in general.

[0] [https://www.motherjones.com/politics/2018/04/did-drinking- gi...](https://www.motherjones.com/politics/2018/04/did-drinking-give-me- breast-cancer/)

[1] [https://en.wikipedia.org/wiki/Cysteine#Reducing_toxic_effect...](https://en.wikipedia.org/wiki/Cysteine#Reducing_toxic_effects_of_alcohol)

</comment><comment><USER8> > The main causes of alcohol-related deaths in the 15-to-49 age group were > tuberculosis, road injuries and self-harm

Tuberculosis? That's interesting.

<comment><USER9> > the biggest drinkers were in European countries. The average Romanian man > drank the equivalent of 8.2 bottles of beer a day in 2016, the most in the > world.

Tuberculosis is more common in Eastern Europe. Poor, homeless or incarcerated people often get it. Those segments are more likely to abuse alcohol. Not sure on the direct causation part. It weakens the immune system perhaps.

</comment></comment><comment><USER10> When the scientific conclusions are rapidly changing like this, I hope our leaders will have the wisdom to change recommendations and policy slowly while this plays out.

<comment><USER11> This isn't a rapid change. We've known this for years.

The only reason people are unsure about this is the multi-million dollar industry spending huge amounts on bad science and press releases.

<comment><USER12> Multi-million? More like hundreds of billions.

[https://www.statista.com/topics/1709/alcoholic- beverages/](https://www.statista.com/topics/1709/alcoholic-beverages/)

</comment></comment></comment><comment><USER13> Remember that, no matter how commonly used it is, alcohol is still a neurotoxic solvent whose purpose is to diminish or impair cognitive function to various ends.

</comment><comment><USER14> I will not read an article where the first thing happening is the embeded video starting to play. I do not event whant to load that Video on my mobile phone if i do not click on it. If i open a Video site on YouTube, i know that i want to See a Video, but even there the Video doesnt load without my interaction. If i open an article, i definitly dont want to watch a Video.

</comment><comment><USER15> While it's true that there is undisputed epidemiological evidence as to positive effects of moderate alcohol use on health for some people, at the molecular level there's no getting away from the toxicity of ethanol and its breakdown product - the unpleasantly reactive acetaldehyde. Ethanol itself denatures proteins. Certainly a conundrum. Maybe part of the answer is in the side effects of the enhanced detoxification mechanisms in the liver in response to alcohol intake. I suspect there are some interesting findings that await discovery.

<comment><USER11> > While it's true that there is undisputed epidemiological evidence as to > positive effects of moderate alcohol use on health for some people

Where "some people" only includes women over 50, and "moderate drinking" means "three or four drinks per week" \- far less than most people think of as moderate drinking, especially in the UK where 2 large glasses of wine a day is seen as normal.

</comment></comment><comment><USER16> Yeah, I think there's value in this. I stopped drinking about 15 years ago, it's been very beneficial.

I really think others would probably benefit as well.

</comment><comment><USER17> I'll just wait for the next study that says it's great for you.

<comment><USER18> Considering the power and money at stake in the alcohol industry, the presence of even one study proving that any alcohol level is bad for you, would be worrying. The fact that it's not just one study, but many, is more than enough.

</comment></comment><comment><USER19> Sorry but I'm pretty sure drinking 1 glass of beer every day is not going to cause a major increase in road injuries or self harm. That just doesn't make sense.

<comment><USER11> They're talking about a small effect across a large population on an uncommon event.

Your small glass of beer most days isn't doing much to you, but across the population it means you have thousands of extra accidents.

<comment><USER19> [https://www.cdc.gov/motorvehiclesafety/impaired_driving/impa...](https://www.cdc.gov/motorvehiclesafety/impaired_driving/impaired- drv_factsheet.html)

Even the slight effects start at 2 glasses.

This kind of statement is as useful as the 'all products are known to the state of California to cause cancer' stickers.</comment></comment></comment>


Freaky news about your brain may change your mind - <AUTHOR> http://www.cnn.com/2009/HEALTH/08/25/nostrils.tone.deaf.lost/index.html

<comment><USER2> Since when is the fact people walk in circles when they don't have a reference point "new research"? I learned that in the Army in '94, and I learned it in the Boy Scouts in the '80s.

Maybe the research is new, but all it does is corroborate what real-world evidence already told us decades ago. The author of the article seems to be sensationalizing the matter, or maybe just such a poor reporter that she didn't bother to find out what's new about the research.</comment>


Show HN: discuss.io - Get feedback on your designs with visual annotations - <AUTHOR> http://discuss.io

<comment><USER2> FWIW, your logo looks a _lot_ like the Ubuntu logo (to me). I'm just one data point, of course.

<comment><AUTHOR> Ah true, there is some similarity: <http://i.imgur.com/PSWxJ.png>

Thanks for the heads up. I was never much of a logo designer, always focused on UI/UX.

</comment></comment><comment><USER3> Love this idea, and the interface looks brilliant. Initial suggestion is to have a password confirmation box on the sign up page.

<comment><USER4> Personally, I feel like a confirmation for any form field is insulting. Is it there to prevent typos? I can almost understand it for the password as it's obfuscated by dots (hence harder to see if you made a mistake), but I can "feel" when typos happen, and if one happens when entering my password for the first time I'll just clear the field and type it again.

In the case that I accidentally register with a typo-ed password, I'll just reset it through my email (which I never mistype via. Typinator). Alternatively, the password probably got saved by Chrome.

If anything, I'd remove the Username field and just make the email address the username (assuming the backend could gracefully handle the transition). My chances of registering go up exponentially the smaller the form gets, which - I would postulate - is the primary reason the "log in with facebook/github/open id" buttons are so effective.

</comment></comment><comment><USER5> Looks great. It would be awesome if you could just enter a URL to start discussions with.

As for paying accounts - maybe keep 3-5 free design feedback free per user. That way people can try it, get some value from it, and the professionals who want to keep using more (and wanting to store old feedback) will want to pay.

</comment><comment><USER6> This is an awesome tool. I'm sold already!

My only advice is to keep some form of this service free.

<comment><AUTHOR> Thanks, we intend to keep it free for the near future. We may do some kind of public/private model similar to github.

<comment><USER6> Oh another idea you could think about:

If for each box, you could somehow select all of the scripts and styles inside, and allow them to be edited, with the edits being visible to all in the app, then this tool would not only be great for quick discussions about design, but also a way to quickly agree on it's solution. Don't forget being able to somehow copy that code somewhere for when you actually make the change!

A screenshot of the change with the dialog could also allow freelancers to keep a record of approval with evidence!

While this may be a lot of work, the benefits could mean this app being used extensively in the design and UI process. Let me know if there's something similar integrated.

EDIT: This type of functionality is something that I would pay at up to 50 a month to have because it would save time opening an editor, making the change, reviewing the change, and finally committing the change when all I want to do is get approval from a client.

Look to the stars with this, it's a brilliant tool, and has many possibilities. Good luck!

Cheers

</comment></comment></comment><comment><USER7> great idea, makes highlighting points and presenting / discussing design over the internet very easy. Will use this in the future.

</comment><comment><USER8> This is fantastic. Great, simple idea, and looks well executed. I can't wait to have a reason to use it.

</comment><comment><USER9> Awesome idea, beautiful looking site :)

</comment><comment><USER10> Simple, easy, clean. Sold already.</comment>


Battle of the bots – Stanford students' robots duel amid raucous cheers - <AUTHOR> http://engineering.stanford.edu/research-profile/battle-bots-stanford-students-robots-duel-amid-raucous-cheers

<comment><USER2> Reminds me of the late 90's when, as a kid, robot death matches were the main highlight of my week.</comment>


Ask HN: How would you design/manufacture an Android tablet? - <AUTHOR>

I am looking to design/manufacture a rugged, shock proof, water proof android tablet (think military use).  it would only have one input that would supply data and power, a few buttons, including pwoer.  no cameras or speakers.  i am an android software developer... i am an EE, but have been doing web and mobile apps for 10 years. Where would you start? <comment><USER2> Start with specification requirements, what CPU (power consumption, speed), mobo (size, features, weight), memory (size, speed), screen (resolution, toughness, size), etc.

Once you have a list of constraints (not necessarily specific, but bounded), think about how these will work as shock-proof, water-proof. Will it just be the case that is shock/water proof or will the components be as well.

The screen is probably the hardest bit to make rugged since being a tablet it will probably be a reasonable size and therefore easy to crack/scratch/break. So a large amount of focus should go here.

Just as a start

<comment><AUTHOR> I would think the components should be water/shock resistant.

It seems like gorilla glass might work for the screen.

</comment></comment><comment><USER3> The simplest way would be to contact a manufacturer in China that makes tablets and work out a deal where they put your brand name on their tablets. Alibaba.com may help you find sources for that. The downside is that you will likely have little to say about the specs of the tablet. Also, I've yet to see a Chinese Android tablet that has decent specs and provides a decent experience. Going further, I'm sure that some manufacturer would be willing to work with you on the design specs that you have, but this will likely cost you.

Another option is to start a business, raise capital (probably a relatively lot), and build up a team of engineers here. This would allow you to take a larger part in the design process, but will take longer and require more outside investment before you can even get a prototype out.

I would look at the options available on the market now for white labeling, and build off that.

<comment><AUTHOR> i like the idea of the white label a lot... the main spec that is crucial is that it is rugged/shock proof/water proof... i.e. mounted on a jeep in the dessert or on a small boat.

</comment></comment><comment><USER4> Phlux, put up the post I did on Manufacturing, take a look at it. If you have questions get in touch. Your going to have to give me quite a bit of info though if you want me to help. Don't worry won't steal it, I'm busy finishing up my own project and getting ready to raise financing (also gearing up to look for a CTO/Co-Founder once I go live).

My advice depends on a lot of factors such as target price, quantity, resources, timetable, development team, etc. Until I know more I can't help, but once I get the info I can quickly tell you if it's viable and if so what to do.

</comment><comment><USER5> The problem with this generation of tablets (in my astoundingly subjective opinion) is weight, so I'd optimize for that, but that design goal conflicts _somewhat_ with ruggedization.

<comment><AUTHOR> weight is not an issue for this project... in fact, they may be mounted.

</comment></comment><comment><USER6> Obviously figure out how rugged and shock proof you want it. From there, you can design the shell and component mountings to withstand the shocks. And then make sure you don't get any thermal problems with whatever chips you'll want to use.

In other words, find an engineer who designs physical things, and get him on board (or at least get him to give you a quick rundown of stuff).

</comment><comment><USER7> Well, I would have started at CES - there a re a ton of ODM tablet guys from China at CES.

Look at this post, and get in touch with this guy: <http://news.ycombinator.com/item?id=1840896>

I would take his recommendations regarding any of the other components of your device, like the case, you might be looking to make.

Any direction you take is going to take $$ though, as you will need to pay for tooling, etc.

Do you already have capital?

I too am looking at getting a tablet made - but for medical purposes.

<comment><AUTHOR> I don't have funding right now... we are building a software prototype on a normal android tablet and then pitch vcs to get money for the hardware... but we want to have an idea what we're getting into and if it's going to be feasible/economically viable.

<comment><USER7> Are you building a military app? If so, why not look at getting money from either Darpa grants, others in the defense industry or just selling/licensing the app to a defense contractor, such as Lockheed.

Otherwise - why be so concerned with the tablet.

When I was at lockheed, we used to buy Tough Books and mount them in pelican cases with other RFID reading hardware and sell them to the DOD for like 30K.

<comment><AUTHOR> well... it might be used by the military... i just figured that would be an easy way to describe the water/shock proof aspect. the target market is actually recreational boats. one of the partners is concerned about keeping the idea a secret... which i think is silly.

<comment><USER7> android+GPS autopilot for boats, plus remote security. Got it.

Well, What I would focus on if I were you would be the app - and talk to shock/case/mount people first.

There are so many people right now building tablets that you should surely be able to find an ODM soon building based on the spec you need.

This is an interesting company, www.launchpad-sprocket.com

They are making tamper-proof mounting boxes for iPad and other tablets.

What I am suggesting that building a waterproof/shock proof mounting setup would be far cheaper at this stage then attempting to spec a whole device.

Do some prototypes this way - to proof it out.

<http://www.protopulsion.com/> is a 3d printing service shop in redwood city that could help proofing the case.

Again - the most important thing to build is the app. The tablets will come. You also might want to stay out of the HW biz for a whole number of reasons, not the least of which is that every high volume Apple/Motorola tablet order is going to make all your components too expensive - so ODM it...</comment></comment></comment></comment></comment>


Enabling Facebook's Log Infrastructure with Fluentd - <AUTHOR> http://blog.treasure-data.com/post/16034997056/enabling-facebooks-log-infrastructure-with-fluentd

<comment><USER2> Now THAT is a linkbait title. You don't enable Facebook's log infrastructure; you enable Facebook-STYLE log infrastructure for sites that don't have insane- scale performance needs.

Big difference.

</comment><comment> yoikawa</comment>