HTML5 buzzwords in action - <AUTHOR> http://mir.aculo.us/2010/08/05/html5-buzzwords-in-action/

<comment><USER2> Jeff Croft:

      But I think there's actually a very good reason
      why we should, in fact, embrace the term "HTML5"
      as an overarching buzzword for this latest round
      of web standards and specifications. Our industry
      has proven on several occasions that we don't get
      excited about new, interesting, and useful technologies
      and concepts until such a buzzword is in place.

Source: <http://jeffcroft.com/blog/2010/aug/02/term-html5/> via <http://www.zeldman.com/2010/08/03/html5-fuzzies/> (there is a term HART proposed in comments, I quite like that one).

</comment><comment><USER3> HTML 5 != -webkit-proprietary extensions.

"Instead of animating standard CSS positioning properties like left, use -webkit-transform instead."

<comment><USER4> Sigh. <http://www.alistapart.com/articles/prefix-or-posthack/>

<comment><USER3> Interesting article. I'm not opposed to vendor prefixes by any means. Instead, I'm merely pointing out that the title is misleading. A -webkit CSS extension _may_ at some point make it into a blessed spec, but describing it as HTML 5 in action is inaccurate.

<comment><USER4> I don't think you can look at HTML5 through the is-in-spec/is-not-in-spec glasses. It's just not a very useful distinction (the spec is just moving too slowly for that to be practical).

<comment><USER5> Indeed; I think the best way to define "HTML5" right now is "a large web- developer wishlist for near-future browser features." It's not a standard or anything (other than the part of it that's actually about the HyperText Markup Language v5); it's just a bunch of stuff that's getting hyped so much that all the browser makers are paying attention.</comment></comment></comment></comment></comment>


How we upgraded PostgreSQL - <AUTHOR> https://about.gitlab.com/blog/2020/09/11/gitlab-pg-upgrade/ <comment><USER2> Ok we'll wait for some outages :) thanks for warning us , gitlab is great but stability ... you can easily be down with some feature for 1 week

</comment><comment><USER3> Hmm, I went trought the same upgrade path (9.6 -> 11) with my synapse homeserver on debian, and it's been burning trough CPU cycles ever since.

I wonder if that's a common issue, or something specific to my config. I reindexed the DB, but would dumping it and reloading it help?

<comment><USER4> You probably need to run ANALYZE to rebuild the statistics, as that doesn't happen automatically after an upgrade.

</comment></comment><comment><USER5> _How_ * _we upgraded PostgreSQL at Gitlab.com_

It's a lot more interesting how they did it than just announcing they did it.

<comment><USER6> [https://news.ycombinator.com/item?id=23884623](https://news.ycombinator.com/item?id=23884623)

<comment><USER5> I didn't know about this!

Thanks for the link. It does make sense.</comment></comment></comment>


Please stop duplicating Rails - <AUTHOR> http://srirangan.net/2012-10-its-2012-stop-duplicating-rails-please Am I the only one who isn't excited by {any.new.framework} that provides RoR like capabilities in {your.favorite.programming.language}.
If I want to use a MVC framework, there are plenty available including RoR + other alternatives across various platforms.
A new framework doesn't really help.
At least something like Meteor tries to meet the next generation challenges (real-time apps). I'm not saying Meteor is perfect or horrible, I'm just saying they tried to solve the right challenge.
Server side MVC feels like 2005.
There are plenty of frameworks across a whole range of platforms.
You aren't really solving a problem here. <comment><USER2> Guide on how to Hacker News:

1\. Look at the current popular articles in Hacker News and choose one.

2\. Write short blogpost about it which could easily been a comment (but your opinion is much more important and deserves its own golden soapbox)

3\. Post said golden soapbox on Hacker News.

4\. Steps 1-3 are repeated by someone else posting a rebuttal to your blogpost.

<comment><USER3> On the other hand, your complaint is a shining example of comments that add value to HN...

</comment></comment><comment><USER4> I disagree with the author of that blog post.

If you think something should be built, go right ahead. Ignore the naysayers and write what you enjoy writing. Don't listen to people that tell you how you should spend your time.

[I'm somewhat puzzled why this post is on the first page of HN in the first place but that's another topic]

<comment><AUTHOR> Don't you think it makes more sense to contribute to existing open source projects than rewrite one without offering anything new? DRY?

Don't we have _way_ too many MVC frameworks? Time to consolidate imho.

<comment><USER5> What looks sexier on your resume though: "Creator of backbone.js" (Not trying to pick on backbone since it's a great project, but you can read the entire source in an hour) or "Contributed to making AR 5% faster for certain queries"

I'd much rather see 10 people put their time towards making one project better, then seeing 10 people start 10 divergent projects with dreams of becoming the next DHH, but I recognize that there are other factors at play.

<comment><AUTHOR> Contributor to a well known project > Creator of an obscure, unknown project

<comment><USER5> Sure, but a lot of programmers' dream (not mine) is to be the creator of the next big thing and gain accolades from other programmers. That won't happen if you're strictly contributing to other projects.

</comment></comment></comment></comment></comment><comment><USER5> I totally agree. Derby (<http://derbyjs.com/>) and Meteor are the only new frameworks out that excite me. RoR is close to ten years old and has thousands of man hours invested into it. Does anyone think a new project that has some of the same capabilities, but lacks the ecosystem/community is going to gain signifigant traction?

</comment><comment><USER6> I disagree, what if you like rails conventions but aren't a big fan of Ruby? What if you have a large collection of code in one language and would rather something that integrates better with it or you have a development team that have core competencies in a certain language.

Sure some will say put down the time now and switch to Ruby, some though would much rather be in another language though with the same type of conventions and ideas that Rails brings.

</comment><comment><USER7> Age old debate. Either create something new (that no one understands or wants), or rebuild something existing but better (and has a market).

One is a lot more fun (the former). One is a lot more lucrative (the latter).

I'd be willing to wager that MeteorJS doesn't find major traction until it starts to adapt to the generation of developers who have previously embraced server side MVC. It's examples and API will eventually start looking a lot more like Rails.

</comment><comment><USER8> I assume the OP is complaining about the RailwayJS article on the HN frontpage. Meh.

Personally, wish someone would implement Erlang's OTP in node. That would be useful.

<http://www.erlang.org/doc/design_principles/users_guide.html>

<comment><USER5> I think it would be easier to take the best stuff in the node ecosystem and port it to Erlang than the other way around.

<comment><USER9> How do you bring code sharing between the server and client into Erlang? :)

Edit: I should have given a little more value on the post. I left node for Scala because the advertised code sharing wasn't worth having to work around an event architecture that I found hard to debug (as I've mentioned elsewhere) and I too considered Erlang before settling on Scala due to our previous java experience and my co-founder's knowledge of people in the Scala community.

But fundamentally, node.js isn't interesting if it's not in Javascript. Actors seem like a better model than futures tacked on to callbacks, and frankly javascript's quirks (like having to use require.js for modularization rather than a feature built into the language!) IMHO don't make for a compelling case.

I'd use node.js on someone else's project, but I don't know if I'd pick it for my own.

<comment><USER8> You are right on all points ebiester, but you missed the one compelling reason to use node anyway: the browser is well on it's way to being the dominant programming model (and for a good reason: application components and data are addressable by other applications via the DOM! this turns out to be necessary to have globe-spanning meta-programs like search, and also useful personal meta-programs like Evernote) and that model can and will extend into the server. JavaScript is a quirky language but can and will get's it's act together. "use strict" for example was a good step in the right direction.

Even more than that, I think that the entire notion of what a server is _for_ is changing rapidly away from "server-side MVC" to a far more rational (not to mention more efficient) dual role of "initially serve a client" and then "handle messages from the client". Server-side manipulation of client state is a horrible, terrible idea in any language, and right now node is suffering from cultural/technical momentum of wanting to do things that way. Once that impulse goes away and alternatives become more popular and well-understood, I think node will get even more popular.

<comment><USER5> Can you expand a bit on what you meant by "...and that model can and will extend into the server."?

<comment><USER8> Sure. I think server software should be constructed, simulated and visualized in a browser. Server components can be sourced from around the net, pulled into a shared environment, inspected, tested, and connected, and then when you're ready, pushed onto the server. This approach has the added benefit that when get to client code, a lot of what the client needs to know about the server is available to it, either at build time or even at runtime.

</comment></comment></comment></comment></comment></comment><comment><USER10> NIH syndrome?

Unless there is something really revolutionary on the framework, most of them are just reinventing the wheel and sadly not from a new approach.

On the upside, if you treat this frameworks as code katas. I could see some value on them.

</comment><comment><USER11> i don't see much substance in this. let's all stop building something new.whatever suits your needs. or hell, maybe whatever helps you learn.

linux was just made from a guy who wanted to learn os programming.

<comment><AUTHOR> You missed the point. A lot of these frameworks aren't building anything new.

<comment><USER12> You could have said the same thing about Linux.

<comment><AUTHOR> Nope, but I can say the same thing about my redundant Linux distros.

<comment><USER12> So once something is popular then it is self-justified, but new things that imitate something else are bad. How do you ever cross the chasm with that attitude?

<comment><AUTHOR> That's your inference. Just because you make outlandish inferences, doesn't mean I get put on the dock and I have to justify them. :-)

<comment><USER12> Pot, kettle, black.

Linux is derivative, there I said it.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> I think it completely depends on why you are doing it. There's no better way to learn about the internals of frameworks than to create one.

</comment><comment><USER14> This looks like it's getting HN'ed, google cache is here: [http://webcache.googleusercontent.com/search?q=cache:srirang...](http://webcache.googleusercontent.com/search?q=cache:srirangan.net/2012-10-its-2012-stop- duplicating-rails-please)</comment>


On Hacking (or Why We Need Security Ratings) - <AUTHOR> http://blackhole0173.blogspot.com/2011/06/on-hackers.html

<comment><USER2> So what you're talking about is covered by both regulatory compliance (like PCI, or HIPAA), and third-party services (like ICSA and those "hacker proof" logos).

The first are an imperfect implementation of a gameable standard which some argue is better than not having anything at all (and others argue makes things worse).

The second are at best of limited usefulness (as the half-life of any type of "hacker proof certificate" is incredibly short), or at worst snake oil.

While far from a solved problem, the current best practice methodology of implementing an SDLC program, increasing developer awareness, and both internal testing of applications as well as independent third-party security review before letting an application go live really does solve 99% of these issues.

Dramatically increasing the overall security posture of the internet at large doesn't require a "cure for cancer"-type breakthrough. It just requires adopting a programatic approach to application development and deployment that is presently not the standard.

[edit]: Saw the the submitter was the actual author of the blog, so changed the "he's" to "you're"

<comment><AUTHOR> But there's no incentive to implement these fixes. Unless the market can figure out the difference between good security and bad security, people will just assume all security stinks and there will be no improvement. This is what has been happening.

<comment><USER2> There are incentives, they are just not at an equilibrium with the costs.

Prior to compliance legislation (like PCI, GLBA, HIPAA, SarBox, etc.) there wasn't much downside to having insecure systems; or more accurately, the downside only hit you after something bad had happened, so for most organizations it didn't make sense to worry about it until that point.

In today's business climate, the costs have increased somewhat: Potentially losing the ability to process card transactions, having to do breach notifications and pay for credit reports, being fined by the SEC, being made fun of on messageboards, etc.

They're still mostly only applicable after something bad happens though. It's like trying to convince people to back up their hard drives. There's a percentage of them who fundamentally accept that it's a good idea, and are proactive about it. There's probably a larger percentage who only consider it after they've had a drive failure and lost a bunch of data. I don't think there's anything you could say to them to make them understand that though.

But the "good" news (and I use that term loosely) is that the costs of "non- compliance" are going up, and I don't just mean from a regulatory perspective. Sony will spend a lot of money dealing with the implications of the PSN hacks. Citibank will as well.

Executives of other companies who weren't directly part of a breach will sit around in conference rooms and ask "So, what happened to them couldn't happen to us, right?" and some CSO will try to stifle a laugh and say "Oh no, we'd be screwed if the same thing happened to us."

<comment><AUTHOR> So why, then, do you think that incentives that have nothing to do with the average consumer are sufficient? The average consumer is still helpless here. They simply cannot know if a company has good security or not, especially if its new - like a startup. The end result is that most of them assume that all security is bad. We have seen this before, repeatedly, and its even showing up in the comments of HN: <http://news.ycombinator.com/item?id=2671441>

People keep asking if good security is even practical. Security experts _know_ it is, but nobody else does. If the incentives you describe were actually working, we would be properly assigning blame to bad security, instead of everyone simply asking if good security is even possible.

<comment><USER2> I'm sorry if my post led you to believe that I think the incentives are presently sufficient. They most certainly are not.

My point was that they _exist_ , and believe it or not, as bad as they seem now, they are better than they were when I first started working in InfoSec ten years ago.

I'm not a "visionary" type person, but the only incentive that I can think of that would actually have practical implications for the consumer would be the ability to hold a provider responsible for bad security decisions (ie: Your site was hacked, my information was compromised, so now I'm suing you).

I also don't think this will ever happen (on a large enough scale to be effective); for a variety of reasons.

I know this sounds stupidly obvious, but companies on the whole will only take security seriously when the cost from being insecure is greater than the cost it will take them to secure things.

Maybe insurance will be the thing to finally tip the scale. Companies are already buying "hacker insurance", and I imagine if there's any industry with an incentive to enforce best practices, it would be the insurance industry.

<comment><AUTHOR> I am convinced that something will have to happen, and I agree that the insurance deal sounds promising. Companies will be forced to have good security if they want good insurance.</comment></comment></comment></comment></comment></comment>


Facebook lost more than Tesla's market cap - <AUTHOR> https://www.bloomberg.com/news/articles/2018-03-20/facebook-sees-tesla-sized-chunk-vanish-from-market-cap-in-2-days <comment><USER2> The stock will come back, just as Wells Fargo, United Airlines, and Intel stock came back after their scandals.

Facebook in particular will come back because there is no alternative social network with nearly as many people on it. The fundamentals of the business aren't really at risk -- most of the users will stay. The impact of potential privacy-related regulation is already priced in to a large extent because everyone already knew that GDPR was going to happen before this latest scandal broke, and Facebook was already prepared to comply with it. I doubt the US Congress in its current state would pass anything as strict as that.

<comment><USER3> It's true that many companies come back from scandal but it really depends on the impact to the bottom line. Chipotle had tremendous negative press years ago from food poisoning issues and hasn't recovered since. Even though the number of instances are in the single digits compared to millions of burritos served on a monthly basis.

With social media boycott campaigns it's hard to separate the noise from impact on the bottom line but with recent stories of Uber and what was occurring behind the scenes, the #DeleteUber campaign actually did have a negative impact on the bottomline that was felt and was definitely a huge driver for the board moving to remove Travis which is underreported as everyone instead focuses on the drama that occurred as that sells as a better story from the press side.

With Facebook it will really be about how many people truly delete Facebook.

The difference of course is that every Uber user was generating significantly more revenue on average than the avg Facebook user, so the number of users that delete Facebook would have to be much more significant.

Also interesting, is what is the global response. Is this localized to the US, are many people globally doing the same thing?

If it doesn't impact the bottom line through a massive amount of users deleting, then the stock will bounce back well before the next quarterly earnings report.

<comment><USER4> Disclosure: I bought more FB today

You covered the fundamental reason why Facebook _could_ suffer from this but I believe it won't. Uber is very easy to ditch because it has well-known competitors that are just or almost as good and readily available. And uber doesn't have years of photos, friends and interactions that I'd be losing.

<comment><USER5> > Disclosure: I bought more FB today

May be you can consider the moral side of what you are doing, if you care.

This makes me really sad. People say, they care about privacy - theirs and others'. But they are okay making money investing for the same.

<comment><USER2> How does investing in Facebook stock help Facebook? It's not like Facebook gets the money. The guy you buy the stock from gets the money.

You know what would do good in the world? Invest in evil companies and use the profits to fund advocacy against what they are doing. Turn their success against them.

But if you refuse to invest in companies you don't like, it makes no difference to them at all.

<comment><USER6> It isn't so much as "helping" a company but rather putting your money where your mouth is and refusing to make a personal profit off a company you don't agree with.

<comment><USER2> That only hurts yourself. It results in no benefit to any cause or harm to the company you don't like.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Facebook isn't going to disappear, but the company's valuation has fast growth baked in the cake.

We're already seeing dramatic deterioration in DAUs and minutes per user.

This episode will cause a few users to leave Facebook completely, but many more will use it less.

And that deceleration in the growth rate will need to be offset with an acceleration in earnings and cash flow for the stock price to increase from here.

<comment><USER8> Most people i've seen move away from facebook ended up in instagram and whatsapp. So i'm not worried for the stock in the long term. They do however need to prepare for the post-instragram era. Not sure what it's going to be.

<comment><USER9> I've been curious about what the effects are of people moving to Instagram and WhatsApp.

I'm not too familiar with the former, but am I correct in assuming it's less useful, compared to FB proper, for both ads and information gathering?

And with WhatsApp, if everything is indeed end-to-end encrypted, would this not be even more the case? Instead of a steady supply of chats, photos, location data, FB would 'only' have metadata to work with. And ads are probably not really a realistic option at all.

Unless I'm wrong about all that, I imagine the value of these two platforms is significantly lower than the original value of Facebook (to them, anyways)

<comment><USER10> The WhatsApp client could still learn your interests from your conversations and request ads related to them from the server.

<comment><USER9> Isn't all that end-to-end encrypted?

<comment><USER10> It is, but your own _client_ obviously has access to the conversation (how else would it display it on your screen?). So learning your interests can be done on the client-side, rather than server-side. Then your list of interests is reported to the server.

</comment></comment></comment></comment></comment></comment><comment><USER11> So, an already oversized company that has been loosing business to startups for several years is gonna do more work in-house?

</comment><comment><USER12> A lot of commentary here (not all) seems to miss one critical point: what is the inherent value of Facebook to its users, and has THAT been recently degraded? Controversy aside, this will be the big factor behind an exodus from Facebook, and I would argue that for months if not a year or more, Facebook has ceased to provide value to an enormous portion of its user base.

<comment><USER13> If by users you mean the people with Facebook profiles, then the value to them doesn't matter, only engagement matters, being addictive and depressing is a winning strategy here, at least short-term. What matters is the value of Facebook to its customers. If users lose touch with the platform, consume less ads, and yield less data, then that will matter to Facebook.</comment></comment>


What happened to coin? - <AUTHOR>

They were supposed to be available by this summer [1]. I haven't heard from them so far.<p>[1] http://bits.blogs.nytimes.com/2013/12/10/be-careful-with-coin/ <comment><USER2> Delayed until Spring 2015, which will make them obsolete: [http://recode.net/2014/08/26/the-coin-cards-problems-may- ext...](http://recode.net/2014/08/26/the-coin-cards-problems-may-extend-far- beyond-delayed-shipments/)</comment>


GDB Dashboard - <AUTHOR> https://github.com/cyrus-and/gdb-dashboard <comment><USER2> If you use emacs, you can use gdb-many-windows to do something similar.

[http://emacs-fu.blogspot.com/2009/02/fancy-debugging-with- gd...](http://emacs-fu.blogspot.com/2009/02/fancy-debugging-with-gdb.html)

</comment><comment><USER3> Just an FYI, there is a similar TUI built in to GDB: [https://sourceware.org/gdb/onlinedocs/gdb/TUI.html](https://sourceware.org/gdb/onlinedocs/gdb/TUI.html)

</comment><comment><USER4> Pretty awesome - the only thing I would change is for the ability to switch to Intel syntax for the disassembly. Maybe I'm the only one - but I find intel syntax easier to read.

<comment><USER5> You're not the only one, plenty of others agree:

[http://x86asm.net/articles/what-i-dislike-about- gas/](http://x86asm.net/articles/what-i-dislike-about-gas/)

But another thing I can say from experience is that GDB Asm-level debugging seems to be more of an afterthought and everything doesn't make as much sense as e.g. OllyDbg or even the old MS-DOS DEBUG. The behaviour of some commands like "disassemble" is perplexing at best[1]. It was really meant for use with higher-level languages.

[1] [http://stackoverflow.com/questions/1237489/how-can-i- force-g...](http://stackoverflow.com/questions/1237489/how-can-i-force-gdb-to- disassemble)

<comment><USER6> My experience of gdb asm-level debugging is that it is incredibly buggy and dumps core at the drop of a hat. It's not fit for purpose. I've taken to using it to get a disassembly listing of the problematic code and simply analyzing it in an editor, rather than risk doing anything in gdb.

</comment></comment></comment><comment><USER7> This is super sweet! I've recently been messing around a lot in C/C++ with GDB to spelunk through, and this kind of wrapper makes a lot of things immediately visible that I wish were there by default.

Thanks a ton for posting!

</comment><comment><USER8> Does anything like this exist for LLDB?

<comment><USER9> Yes: type "gui"

</comment></comment><comment><USER10> This looks great but im curious, when do people actually use gdb shell instead of debugging in your IDE? I only do it during emergencies, such as a one in a million bug happened on a server which I can only access over SSH and this might be my only chance to find it. Maybe this tool could make that experience a bit closer to what I'm used to when using an ide.

<comment> fake-name I use GDB interactively pretty often, generally when working on cross-platform code.

Basically, I can't find any IDEs I like for linux, and the overhead of running a big IDE in a VM (which is where I do most of my cross-platform testing; I principally develop on windows) makes them painful to use.

</comment></comment><comment><USER11> Wow thank you, this is awesome! It'd be great if you created a place where people could create PR's to share their own modules

<comment><USER12> Thanks! This is a good advice, I'll surely do it, if it will ever be enough demand.

</comment></comment><comment><USER13> How does one use this? I can't find conclusive instructions. Yeah, I'm new to this.

</comment><comment><USER14> Is there much difference between this and the built in windowing features of gdb like `layout asm` and so on?</comment>


After working at a startup, I'll never work at a big company again - <AUTHOR> http://kencochrane.net/blog/2011/08/ill-never-work-for-a-big-company-again/

<comment> buff-a I think there's another issue. At a small company, everyone (usually) has a stake. Everyone wants to make the company succeed, because having the company succeed gives each individual a huge payout.

Beyond a certain size, however, new individuals will not receive huge payouts if the company succeeds. The strategies by which they maximize their individual return now involve politics, power and control. Short of killing the company, their reward is maximized by behavior which may hurt the company (and in my view always hurts the company but I'm bitter). An example of such behavior are putting forward tech ideas which may not fit the company but which the individual has had experience, and therefor has seniority and status. Another would be eliminating competition with bad reviews, or failing to acknowledge good work.

Beyond a certain size (perhaps its beyond a certain time) a company will be managed by "players" using the company for their own purposes. Non-players are identified and eliminated. These players don't really care if you can get the job done, they just want large departments to manage. In fact hiring idiots whose job depends on the player's good graces is a great way to balance intelligent people with legitimate complaints.

No. Wont be working at a large company again.

<comment><USER2> I worked at a 100+ person startup that exhibited the same behavior.

So, sorry, but this isn't exclusive to large companies.

<comment><USER3> >100+ person startup

No.

</comment></comment></comment><comment><USER4> I've worked at both, and said the exact same thing.

Now I find myself at a big company (Netflix). How did this happen?

When I was looking for a job, I was mostly looking at startups, but the Netflix job caught my eye, because they are solving a very interesting technology problem.

I brought up my concerns in the interview, and they convinced me by pointing out that a lot of people here had come from big tech companies that had transitioned from startup to big and corporate (two of those being Yahoo and eBay), and most of those people wanted to avoid that.

So a lot of what is done here is done as a way to retain top talent -- engineers are respected, process is a dirty word. That's really important. When something goes wrong, the response is not "what rules can we put in place to prevent this". The response is "how can we educate new employees so they have to knowledge to make sure this doesn't happen again, and how can we give them to tools to make this easier?"

That is why I chose to work for a big company again.

Also, it was pointed out to me that if you look at most people in the silicon valley, they didn't make their money working for startups -- they made it working for bigger but growing public companies like Yahoo and eBay and now Google and Netflix.

</comment><comment><USER5> I've worked for large corporations and startups and definitely prefer startups.

Large corps are so mired in useless, mindless institutional procedures that you waste inordinate time satisfying the procedure beast, usually in areas that have nothing to do with your job (fun fact, I once worked as an analyst for a large corp and spent on average 4 hours a week taking industrial safety courses, volatile materials storage compliance training, etc.. The chances of me _ever_ doing anything in the company in a warehouse, assembly plant, or anything other than look at a computer on a desk in an office park were 0). Sure there's some politics at the upper levels of a given organizational unit in a large company, but the pay tends to be pretty good and you'll have pretty good job security. IMHO large corps are great places to work when you are just starting out because your mistakes generally will just average out with everybody else.

Small companies/startups are such an entirely different beast it's night and day. You have huge impact in everything the company does. A single employee might account for 40% of the company revenue! The jobs are usually very versatile, you don't get stuck in a single task, you probably have to learn to do many different jobs -- you gain more experience than it looks like for a given unit of time compared to large co. For example, at large co, you might not be asked to work on contract negotiations until you've been there for 10 years. At startup you might do it from day one.

While large co's problems are mostly procedure issues, Startups are not without their issues -- and they're usually personnel problems:

1) Politics are magnified beyond belief. In large co, if my division manager was having a problem with another division manager, I might not even know. In a startup, it's like watching your parents fight over a family dinner.

2) Because everybody can have such a huge impact, screwups are magnified. A bad employee can literally sink a company. In a two person startup, that's 50% of the workforce.

3) There's very few checks against bad employees. One of the reasons large co _has_ so many mindless procedures is to help control for bad employees. Startups don't really have a way to do that.

4) Job stability? Pffff...what's that? Pay is often not as good as large co, and benefits such as options or shares are just paper until you can buy beer with them.

I was once recruited to work at a very well funded startup that fell apart during salary negotiations. They wanted to make up for the low salary with catered meals and an all-you-can-eat pantry, dry cleaning and other benefits plus some options. I told them I'd rather trade those benefits for a pay check and would sign an agreement to never touch those benefits -- which wouldn't be hard since my position would require me to almost never actually be in the office where those benefits were offered. They backed out and it demonstrating to me that those benefits were simply flash and not worth the delta in salary they'd have to pay me.

</comment><comment><USER6> I work at an extremely large company - over 100k people across the globe. When companies get this big, it feels like everything takes forever to get done. I was just talking with a coworker how at a small company the RetiredOnTheJob people wouldn't be tolerated.

Funny thing is we used to be in a small group that was empowered to do what it needed to. Then upper manglement decided to centralize a bunch of functions - now we have common ways of doing things that don't meet anyone's needs. So I think as companies grow they need to be more like how the Virgin companies operate - literally separate divisions in a family corporation. Empower and measure each small group to do what they need to and leave them alone.

Required reading is the Gervais Principle here: [http://www.ribbonfarm.com/2009/10/07/the-gervais- principle-o...](http://www.ribbonfarm.com/2009/10/07/the-gervais-principle-or- the-office-according-to-the-office/) After reading this, I now can associate 3 times having gone through the MacLeod Life Cycle. Now on the fourth in a growing organization. The org is in the second stage moving into the third and I'm moving from a Loser into the Clueless.

My saving grace is having tough technical problems to solve for my team like 30+ terabytes of files and db, thousands of transactions flowing, making system "Mission Critical", etc. That plus learning iOS development at home keeps me sane.

</comment><comment><USER7> I would say the only startup worth working on is your own.

Working at someone else's startup is a recipe for getting exploited - overworked and underpaid. And the worst thing about it is that it's all couched in an atmosphere of guilt trips and taking-it-for-the-team.

Perhaps there are exceptions. I just haven't seen any.

I'd rather work for The Man in my day job in a cold corporate environment where everything is explicit from the get-go, get well paid for it and crank out code for my own startup in my free time.

</comment><comment><USER8> After working for a startup, I'll never work for another one unless I own at LEAST 50% of it.

<comment><USER9> How about 51%; stale mates can suck.

</comment></comment><comment><USER10> I agree with a lot of the sentiment in this blog. There are however exceptions. Some small companies get some guy in charge who was previously mired in the bureaucracy somewhere and starts trying to impose that on the little company. Disaster ensues.

On the other end, you can get a good startup feel by finding a good team in a big company/institution (usually you see this in Academia, but some places in companies have this too). A well built group will have some admin staff (secretaries, hands off project managers, etc.) to insulate the core team from the crazy. When done well, this admin group will fill out the crap forms, hide various money absurdities, deflect outside poisoners and otherwise do amazing things to keep the non-admin folks blissfully ignorant.[1] The bosses in such a group will create or emulate a flat reporting structure, and not let the external politics apply too much pressure or influence to the team. The core team will then get to do their thing in a way that feels very much like a small company or startup.

There are benefits and drawbacks to this of course. Benefits include having a giant name behind you, and the awesome funding and legal resources available -- I was once told "you think you need a cluster... we can buy one, just make sure first". Awesome. Customers say "Oh $BIG_NAME no need to jump you through these sill hoops to prove yourself". And of course, the feeling of stability provided by being in the employ of a giant. On the drawback side: you do more work than a lot of your peers outside the group -- not a big deal but sometimes mentally taxing. Politics can creep in, so you need to maintain high productivity and always do a good job, so the bosses can preserve the group by selling it as "ninja rockstar team alpha" to everyone else. And no matter how good the shielding, sometimes the crazy still can creep in.

So basically, this is a long winded way of saying: if you are careful, you may be able to find the startup feel in a big company, or at least the good parts of it.

[1] I'm fully convinced that good admin staff are worth the same as good programmers in this type of situation. In my current employment I travel a lot, but have never filled out an expense report, I dump some receipts with the admin, answer a few questions, and she takes care of the rest of the voodoo. Similarly with the HR rep for insurance we have. Purchases are a simple "hey I need, can you charge it to...". I know there are forms and procedures -- I've heard horror stories. When we need a new person we tend to churn a bit til we find a good one, then it's a quick raise and lots of flattery to keep him/her around. (On a personal side it's always good to be very nice and friendly to these folks, they do magic :) ).

</comment><comment><USER11> I definitely prefer startups. But let's try to be realistic about what working for a startup is like.

 _You don't see many dumb people at small companies, mainly because there is no place to hide. In a small company you need to carry your own weight, and if you don't it is pretty obvious. In a large company it isn't as obvious to find the slacker._

I'm going to assume the author just doesn't have enough experience to realize just how naive this is. Startups employ dummies all the time, and you can't tell because everyone is too busy to pay attention, they're good at playing politics, they're friends with one of the founders, or they _are_ one of the founders. And yes, sometimes these startups are successful in spite of that one or two idiots.

 _Working for a big company has a different feel to it, and you normally have to worry about office politics and other things that you don't have to worry about in a small company._

Well, if "small" is two people or less, this is correct. But politics comes into play whenever you have 3 or more people. Granted, the politics may be easier to understand and manage, but they're much more ugly than in a big company.

In short, it sounds like the author found a good startup to work for, which is usually better than most BigCos. But it's all downhill from there. If the author stays in the startup game for long enough, I guarantee he'll work for a company that will make him miss BigCos and their rules (some of which benefit the employee).

</comment><comment><USER3> While I agree with the author on many parts, I do think he misses the ball on some issues.

For example, there seems to be an argument being made that a lot of the structure in big companies, as compared to start-ups, is to keep "lesser" people from making mistakes. But, I think that is far from reality.

If you're a startup, you have no employees, no sales and no users. No users means no support to give, no need to check if your latest changes fail on some obscure configurations, no infrastructure to handle the load, no critical bug- fixing of now outdated versions, etc, no fear to make significant changes and break things. No employees means no human resource handling, simpler paycheck administration, less managerial overhead. No sales means less administration, less regulatory burden, no internationalization issues, less need for documentation, and so on.

There's a different kind of company needed to innovate compared to the kind of company needed to sell a product worldwide in a competitive market with low margins.

There's only a few companies that handle can both at the same time. (Bigger ones buying up small ones don't count)

That being said, a small company where the product is in flux generally requires the engineers to have broader skillsets and tends to allow them to make more wide-ranging design choices. That just doesn't happen at bigger companies or with established products. You spend most of your time maintaining things.

</comment><comment><USER12> There's no office politics in a micro company as there's no point, one person often has absolute power. And even if it's not one person, the founders will often trust each other a lot more than you. That's fine until you don't agree with one of them.

1\. The case of the mysterious Piggy Bank

This caused a lot of problems at a 2 founder startup I worked at where the guy looking after the books was semi-inadvertently skewing everything in his favour, the company paid for renovations to the office that was actually his property he'd just bought. He claimed to have 'invested' £100k (leant) but he was constantly calling in those loans. But then putting some back. And then taking it again. In tiny chunks of a few £k here and there. And the accountants were incompetent and couldn't keep track (the semi-inadvertent part of it). It took me a month and a lot of late nights with paper accounts and excel to convince the other founder what was going on. When I cut through the accountants' mess I found at one point he actually owed the company £10k for a few months.

The only reason I started looking is because I couldn't fathom how we'd spent so much money.

The guy to this day doesn't really get what he did wrong, he viewed all his companies and his own money as piggy banks for each other when they weren't doing so well. But we were operating on false assumptions. Like we were profitable now, when in fact we had been profitable, but were no longer. Because we got rid of the good sales guys.

The mess was much bigger than that, with crazy salaries for mundane jobs and some employees he knew personally investing in the company as it was 'profitable' but expanding, when in fact they were investing to pay their own salary until one of his other companies had enough money to pay back an intra- company loan. Luckily they all got their money back.

Needless to say that period was crazy political for me and very stressful. On the plus side I made a good friend out of it that I still see today. And he learnt his lesson and never ignores the books now.

2\. The Tank

A similar, funnier, scenario happened at my mate's old employer where one founder (CEO) had much bigger equity than the other (CTO). This was a 15-20 person company, kinda just past the startup phase.

The CEO also had a love of tanks. And a tank museum.

The company therefore went into the tank buying business. Which meant the company couldn't expand how the CTO wanted. This led to office politics, some supporting the CEO, some the CTO. The CEO eventually promised no more tanks.

A month later a tank accidentally got delivered to the company instead of the museum. The CEO was away, when he got back in the office the CTO simply took him to the back and pointed out the window to the tank. He ended up leaving to start a new venture and took half the staff.

 _TL;DR From personal experience I disagree, politics enter startups when things go wrong or the CEO has a love of tanks._

<comment><USER13> Just to make sure there isn't a cultural misunderstanding here... when you say "tank", you mean the war vehicle that travels on treads, and has a big gun turret on top?

<comment><USER14> Is YC open to tank startups? :)

<comment><USER15> Yes, but they should probably start with something smaller.

</comment></comment></comment></comment><comment><USER16> There are many benefits to working at a large company over a startup. Many of the items in this thread alone are proof to that. If you have a mortgage, and 2 kids in college then working for a startup that could fold tomorrow is not exactly the safest bet.

In addition, working at breakneck speed and being completely accountable for failure is just not within every programmer's capacity. Some need more structure to be successful. Not everyone is a rock star programmer.

That being said the software industry is changing rapidly. Being a rockstar makes you more valuable as time goes on. Large s/w companies are having trouble even maintaining marginal talents and the workforce of programmers is dwindling. Us hackers will continue to be more valuable than ever.

<comment><AUTHOR> I agree it isn't for everyone. I have 2 kids and a mortgage and I left a high paying contracting job to take less money at a startup.

I took the chance and I went from dreading work, to really enjoying it. It proves that money doesn't always buy you happiness.

</comment></comment><comment><USER17> "If I need to get anything done I normally do it at night or on the weekend"

Why do so many share this same problem? Anyone should be concerned when this is the case.

What this says to me is that the current setup is unproductive and needs changed.

</comment><comment><USER18> Add "the government" to that. After working for 6 years at several large technology consulting firms on government contracts - because of that experience I have even less faith on our government getting things done than ever. On top of the normal big company politics and red tape, government contracting adds more frustration with its own policy, red-tape, and frankly, less than enthused employees. It's one thing working for a company that actually depends on making revenue every quarter - its another working for an organization that just needs to check a box in order to receive a budget for the next fiscal year. Never again...

</comment><comment><USER19> I prefer startups too, but I disagree on a couple of points:

1\. There are lots of politics at small companies too. There are lots of politics in any social context. But it probably isn't institutionalised in a small company. For example, in a big company you might hear the head of one department instructing people to lie about something in order to manipulate the people in another department. In a startup that would just be one person lying to another peerson. And if you're not in the room at the time you would know it was going on.

2\. It doesn't matter how great your people are, if you have more than about 8 of them you need some structure and process. Companies don't adopt structure in order to cope with dummy's, but that's a useful side effect.

3\. I doubt companies take on dummies because they've exhausted the pool of quality people. The pool of quality people is much too big for one company to exhaust, and it gets replenished every year. But great people are rarely on the market. Also, people don't deliberately hire dummies, they're just willing to accept slightly less talent than they themselves have. So, the more layers you have between the founders and the latest hire, the lower the hiring quality can get.

</comment><comment><USER20> This is so subjective - everyone's experience is different. While I agree that large companies have a tendency to accumulate overhead and slackers things have changed significantly over the last few years.

I started out working at several startups and they were orders of magnitude worse in terms of politics and personality clashes. Also, it was hard attracting qualified engineers. On the flipside, it was very clear what my contribution was and I felt very responsible for the success and failure of the company.

I've been at HP for 11 years now and it's changed from somewhat bloated to very lean. We've had pretty thorough housecleaning efforts in recent history as have most mega companies. Bureaucracy has never been a problem where I've been (I'm sure it's different in other divisions), the smaller project teams feel a lot like working at startups with the added benefit of very good equipment, etc.

</comment><comment><USER21> For me, I have come to this realization after making a move to a large company (Motorola Mobility) from a small one. I have been working for them for two months, and I am already hating it. Being placed in China puts a whole additional layer on top of the typical bureaucracy you see in these large companies. Tons of red tape everywhere!

Needless to say, my experience is very much the same. I see lots of unnecessary office politics, the inability to get anything done at breakneck speed as you would at a startup, and for the most part total lack of innovation. It is really disheartening, and as the OP put it, makes you go home at the end of the day very disheartened.

</comment><comment><USER22> A lot of good points here but he might not have seen the flip-side, and that's something that can sour someone on startups real fast.

Here are a few that I've run into:

A lack of funding and the headaches that come with it like downsizing, cost- cutting, and just the general absence of job-security.

Having a visionary CEO who is also crazy or incompetent or both.

Having a really nice product and it going nowhere because it's either ahead of it's time or behind.

</comment><comment><USER23> I have seen several such posts on why working in a start-up type environment is great and I do agree with the points in such posts but what is missing is any appreciation of the challenges of running a large company vis a vis running a start up.Comparing a startup to a big company is like comparing a bullet to a freight train and wondering why the freight train can't go supersonic like the bullet.

</comment><comment><USER24> That's what I thought, until we took the acquisition exit.

</comment><comment><USER25> I worked at Honeywell as an intern one summer during college. My cubicle-mate ran a full time truck routing business on the side...</comment>