Hacker News new | comments | show | ask | jobs | submit login
Dropbox Hires Guido Van Rossum (techcrunch.com)
586 points by dko on Dec 7, 2012 | hide | past | web | favorite | 207 comments

"the adventure found at a nimble 250-person startup like Dropbox becomes more tempting"

What is the definition of a startup these days, anyway?

I would argue that Dropbox isn't a startup anymore.

Once you've found a business model and start scaling your personnel (i.e. Steve Blank's "Company Building" stage), a startup is no longer a startup, IMO.

Exactly that

Besides, Dropbox has already received some substantial investments, and have a healthy revenue

And soon enough offices abroad.

I've always liked Steve Blank's definition:

"A startup is a temporary organization designed to search for a repeatable and scalable business model."

I would say Dropbox has found a repeatable and scalable business model.

Very nice

If you can hire Guido you are not a startup.

B.G. (Before Guido) it's a startup, A.G. (After Guido) it's not a startup anymore.

Can that be the mark of a programmer too? /j

I suspect a "startup" is any company that is serving a market that has yet to prove it is viable. Many folks use that term to describe any privately held company that is growing into something much larger.

Or a market that is known to be viable with a product that is not yet known to be viable. I think most people would consider Tesla a startup, but cars have been around for a century.

Yes, but in their case it's "electric cars" which is a different market.

This market also exists for a century.

You confuse "exists" with "matters to more than a thousand people".

Also for me, a startup has a disruptive nature or mission for an existing market that seperates it from the normal competitive pressure created by new small businesses, franchises, etc.

I never understood who or what Dropbox was ever disrupting to earn such high valuations but that's ok. Sometimes just have to admit when you can't see the forest for the trees.

It's funny that that term is abused, similar to how this site hates the abuse of the word "hacker" by the media.

On my more cynical days my observed definition from context clues would be:

"A company that isn't profitable, but isn't as unhappy about it as I would be yet."

[edit: Worth clarifying that I doubt Dropbox probably ever qualified under my definition... but that's fine. Who wants to be a startup? I'd rather start a company.]

Maybe I'm a lot more cynical than I thought, but I think this is the best definition of a startup in this thread. I'm continually amazed by stories on HN where people invest significant portions of their lives and/or wealth with no idea of how they can generate revenue.

Now I AM going to get cynical by saying it's in the VCs' interest for this to happen, because they can swoop in and grab the few that do turn out to be profitable. The HN dream is a bit like Hollywood - most of the hopefuls who chase the HN dream are going to end up eating ramen through three or four pivots, before they realise quite how bad the odds are against them. Sorry for such a black thought at the start of the week!

PG's well-known definition is "a company designed for growth".


Meaning Apple is a startup?

No. A growing company is not necessarily a company designed for growth.

Startups are rarely profitable since a company designed for growth reinvests its revenue back into the company to create future growth (think a "ramen profitable" startup vs a "lifestyle business").

Large profits mean the company has run out of investment opportunities.

So in other words, your actual definition of startup is "a company that doesn't make any profit"?

Apple is designed for growth since their inception (when they were still a startup, by anyone's definition of startup) and that haven't changed much ever since (except, perhaps, on the Scully phase... and probably now, under Cook): they kept iterating fast on new products, predating their own margins with internal competition and all those other small things companies designed for growth do...

So a startup is mostly a pyramid scam on investor/IPO money, not interested in a specific end product (since they pivot) or building a profitable company (judging by what you say).

I'd rather have a lifestyle business, which at least until the nineties we used to call just company/business.

You know, like Apple, IBM, Oracle, Microsoft, Adobe et all, despite not being startups are _just_ businesses.

Are you saying that a start-up can't have more than a certain number of employees?

At 250 people, you would think you're a business and no longer a startup. Once you pass Dunbar's number you probably are no longer a startup.

That's a reasonable upper bound. Once the company is big enough to the point where you don't remember everyone's name, it's past the startup point.

Dunbar's number makes little sense for directly determining/classifying organizational sizes. Most of peoples' relationships lie outside of the organization they work for. You'd probably have little to no relationship with people in your organization way before you reach Dunbar's number.

Well, it may be 50, it may be 150, but the point is, it's probably fine to call a company of 10 a startup, and it's absurd to call a Google or Facebook a startup.

Which leaves open the question of what to call Dropbox. Well funded, profitable, late-stage startup? Sounds like too much of a mouthful.

You could call it a company, but that doesn't quite have the same rock-star ninja cachet...

    Which leaves open the question of what to call 
    Dropbox. Well funded, profitable, late-stage 
They are a successful business. What matter does it make if they are a start up or not or how you define them in 1 sentence?

The advantage of calling out Dunbar's number is that it explains why there's an upper bound of some kind.

But yes. 150 is far too high a number. I'd say it should be closer to 50.

It makes me sad to link to this, since the PARC blog no longer hosts his images, but it's more than nothing: http://www.lifewithalacrity.com/2005/10/dunbar_group_co.html

I see your point, but there's more numbers when it comes to companies, there's a break at 7 or 8, and another one somewhere around 20. I might have fudged the numbers a littlebit, but they're both breaking points when a company needs to change its organisational structure: Starting with a flat, informal startup, at 7 or 8 is where people may feel their voice is not informally heard at (for instance) meetings, that needs to be addressed by a (slightly) more formal type of meeting. Somewhere around 20 there's a second break which is when you need to start thinking about an extra level of management (just one at first, of course). There's probably a few more that I don't know of and I would not be at all surprised if Dunbar's number is one of them.

That's what the last bit of the post I linked says, actually.

ETA: Oh, wait. His older post actually explains it better: http://www.lifewithalacrity.com/2004/03/the_dunbar_numb.html

"In my opinion it is at 5 that the feeling of "team" really starts. At 5 to 8 people, you can have a meeting where everyone can speak out about what the entire group is doing, and everyone feels highly empowered. However, at 9 to 12 people this begins to break down -- not enough "attention" is given to everyone and meetings risk becoming either too noisy, too boring, too long, or some combination thereof. Although I've been unable to find the source, I've heard of some references to a study from the 1950s that says that the optimum size for a committee is 7. Likewise, it's fairly easy for us to see and agree that a dinner party starts to break down somewhere above 7 or 8 people, as do also tabletop games of both the strategic (I prefer 5) and role-playing varieties (I prefer 7). These size limits can be overcome, but require increased amounts of "grooming".

"The chasm that starts somewhere between 9 to 12 people can be especially daunting for a small business. As you grow past 12 or so employees, you must start specializing and having departments and direct reports; however, you are not quite large enough for this to be efficient, and thus much employee time that you put toward management tasks is wasted. Only as you approach and pass 25 people does having simple departments and managers begin to work again, as it starts to really make sense for department heads to spend significant time just communicating and coordinating (and as individual departments become large enough to once again allow for the dynamic exchange of ideas that had previously occurred in the original 5-9 member seed group).

"I've already noted the next chasm when you go beyond 80 people, which I think is the point that Dunbar's Number actually marks for a non-survival oriented group. Even at this lower point, the noise level created by required socialization becomes an issue, and filtering becomes essential. As you approach 150 this begins to be unmanageable. Once a company grows past 200 you are really starting to need middle-management, but often you can't afford it yet. Only when you get up past that, maybe at 350-500 people, does middle-management start really working, primarily because you've once again segmented your original departments, possibly again reducing them to Dunbar-sized groups."

That eliminates capital-intensive businesses. I think most people would consider Tesla and SpaceX to be startups, but Tesla has 3500 employees and SpaceX has >2000.

I honestly don't know why you'd need 250 people to run a service like Dropbox. Dropbox is a piece of software that could recreated in about a month by a smart hacker; and if you're using AWS, you don't have worry about the servers (so don't need a sysadmin/maintenance staff) -- so, theoretically could be comfortably run by a handful of skilled core engineers.

Why are 250 people working at Dropbox? Is Dropbox overstaffed?

> Dropbox is a piece of software that could recreated in about a month by a smart hacker;

A service running on AWS with intra-account deduplication, with signup, referrals, billing and support, Windows, Linux, Mac, iOS, Blackberry, Android, kindle and web clients, all internationalised into English, French, German, Italian, Japanese, Korean, and Spanish (both European and Latin American), and an API with six platform-specific SDKs for Dropbox integration.

"About a month, one person"?

> Why are 250 people working at Dropbox?



Dropbox is also somewhat of an enterprise sales play now. I am sure they have a decent sized sales team to get more companies onboard with teams accounts.

It's a genuine question. To my mind, a startup has a small number of employees and not very much money. This is hardly the first time I've heard of a company with >100 employees described as a startup, so I'm interested to know what people's definitions are.

As long as we are on HN, might as well as cite PG on what a startup is: http://paulgraham.com/growth.html

>A startup is a company designed to grow fast. Being newly founded does not in itself make a company a startup. Nor is it necessary for a startup to work on technology, or take venture funding, or have some sort of "exit." The only essential thing is growth. Everything else we associate with startups follows from growth.

I once interviewed with a company that maintained a staff of <25 people throughout its entire 8 year existence. It struck me as odd when they described themselves as a startup.

According to Paul Graham, "a startup is a company designed to grow fast."

By this definition, they didn't fit the bill. Dropbox might, depending on whether or not they're still in a rapid growth phase.

Well, it can get confusing when "a company designed to grow fast" doesn't, and yet still has enough revenue coming in to not die. I worked at a company that considered themselves a startup when I first interned there in 2004 (they'd been founded around 2002 and had just gotten their first 7-figure contract). When I left in 2007, it was apparent they were really a small business, they started calling themselves a small business around 2009, and they finally went out of business in 2011. I think headcount topped out at around a dozen in 2006 - it'd been around 7 at my first internship, and I think it was down to just founders when they went under.

It seems like you're taking the term "fast" to refer to the number of employees. I think it refers more to revenue, or maybe user acquisition for those "we'll figure out how to make money later" companies.

Being a start-up really has nothing to do with number of employees.

People were tossing it around to describe a 400-person Twitter team in 2010 or 2011 (can't remember which).

Well, I'm sure there is a point when a startup has started up.

Nimble 250. I worked at places with 25 people that weren't close to anything I'd consider "nimble".

Not completely proven & scaled business model?

A company in a hyper growth mode?

Technically I believe any company that is less than 2 years old is a startup, they have a limited operating history. VC funded startups that are supposed to grow hyper fast but lots of statistics we see also count every new small business.

Perhaps companies that have existed for less than n years?

Billion/million rule is the cutoff for "real startup".

It stops being a startup when, if acquired or IPO'd for $1 billion, a full-time entry-level engineer makes less than $1 million after taxes. For straight equity, that puts the cutoff around 0.2%. For options, it depends on the strike.

By 250, new employees are getting much less than that.

this is a poor definition for what a startup is

I'll be very interested to find out what role Guido will take up at dropbox. When someone like Matz/ Guido/ etc gets hired, what do their job responsibilities, for the community include exactly? Are language writer hires such as this purely symbolic?

Having worked with Guido on App Engine, I believe I can answer this.

Just because someone wrote a language doesn't mean they have no other talents as engineers. I will say that apart from being a good language writer, he is also a good Engineer. For us having so much invested in Python, Guido has been an important part of App Engine. But even if that wasn't true (as it may be for Dropbox), having well-known programmers is an important way of marketing to other engineers, be they customers or potential hires.

TL;DR - App Engine got great use out of Guido while he worked with us, and I'm sure Dropbox will too.

Guido wrote the NDB framework for AppEngine, which, as an AppEngine user, I'd say has one of the most clever ways to do async requests that I've seen in any major language. I'm used to the C++ frameworks for async that are used in the main search stack, and switching to AppEngine and having things pretty much "just work" has been great.

He also did Mondrian, which kicked off the trend toward web-based code-review and was a huge step forward from just critiquing patches over e-mail.

Usually famous programmers get famous because they've done a lot of programming; that experience translates into some pretty cool programming chops.

I'm not sure how I can see Guido having the effect at Dropbox that he had at Google. Dropbox's engineering difficulties, while large, are not near that of Google's. Is this more of a Matz being hired by Heroku scenario, in name only sort of thing.

stop acting like you know abut Dropbox's engineering difficulties.

They are language designers, not systems engineers. Any place with programmers has problems they can solve, and hopefully open source.

I've worked on the Dropbox client back in 2009 and I can tell you that Dropbox has spent considerable resources optimizing Python, so there is actual python-related work to be done.

As Rian Hunter mentions they've for example implemented a custom memory allocator: http://highscalability.com/blog/2011/3/14/6-lessons-from-dro... and that's just one part of it.

With a few hundred million installed machines or so, having Guido on board to make python work better for Dropbox-scale apps is a huge win for them (and python)!

This isn't just Dropbox deciding to hire Guido, it's Guido deciding to work for Dropbox and, perhaps most interestingly, deciding NOT to work for Google anymore. Surely a company the size (and type) of Google could come up with some pretty amazing projects for an engineer like Guido to work on if he got bored but, for some reason, Guido left. The reason could be something as boring as a big raise or a shorter commute, or something more interesting (a new internal policy to start replacing Python with Go, a clash with one of the big shots that leaves Guido forever on the shelf in the celebrity trophy case, or whatever.)

I'll have to admit I'm curious.

It could just be that Google was too big. Maybe Guido just wanted to be the Big Man on Campus. Google is filled with brilliant/famous engineers. Dropbox is much smaller so going to a smaller company, he can have a much larger impact. Just a theory though, there are tons of possibilities.

Google has a reputation for being cliquey. I've also noticed a tendency toward trying very hard to make your coworkers look stupid rather than trying to look smart by actually accomplishing things.

I'm sure it depends on where you're working, but there seems to be a lot of that Marissa Mayer "excellence means putting other people down" attitude. And because of that, there is a lot of mediocre talent at Google despite its reputation.

I have no idea whether any of this has to do with Guido's decision, a lot of engineers like to change jobs for all sorts of reasons, sometimes for the sake of it, but I'd probably prefer Dropbox to Google as well.

I would assume that someone like Guido would be really valuable when architecting complex project written in Python. Maybe he won't be directly writing a bunch of small features, but at the scale Dropbox works at some REALLY good code reviews and language-related design decisions could produce big dividends.

Code reviews and design decisions can get old though. Sometimes you just want to write a bunch of code.

If Guido van Rossum wanted to work on python full time, I am sure that there would be companies like Red Hat that would be very happy to pay him to do exactly that.

I think it's a good thing for Python that Guido doesn't work on it full-time, and instead keeps his hands dirty with other projects. It allows him better exposure to the experience and perspective of regular Python users, and the sorts of problems that they use Python to deal with on a day-to-day basis.

The App Engine team at Google isn't really "regular Python users".

No, but the thousands of people who use it and come up with problems are.

That has nothing to do with it. GP said that it's good for Python that Guido doesn't work on it full-time, and instead keeps his hands dirty with other projects. But this experience of Guido's doesn't really expose him to 'thousands of people' any more than looking at the Python issue tracker would.

Maybe GvR is not interested in working only on Python language design, and wants to see other kind of projects. I mean, I am sure he has reached the point that he can pretty much decided what to do, so if he hasn't go to be a "full time language designer" is probably because he don't want to, not he doesn't have the opportunity.

Guy Steele's work at Oracle (previously Sun) was in the area of language design, but companies at that scale can afford a dedicated R+D presence.

For me, its simply really, a language is itself a program with too many users, and Guido has demonstrated good design, scale, and engineering skills in building such a program.

my thoughts exactly. I feel like it's a status symbol for a comapany. They are most likely busy giving talks and lectures to do any actual work.

Maybe their value is in the odd meeting where they can voice some input. I've never had the pleasure of being in the room with giants such as these so I wouldn't know sadly.

There is a joke in Silicon Valley that one of the levels of success is "Your new company issues a press release that you've been hired."

It goes something like:

You know you are successful in Silicon Valley when:

followed by silly things like "You are Time's Man of the Year" or "On Wired's most Influential list" that sort of thing.

I guess that's why it's called "Silicon Valley" rather than "Sense of Humor Valley."

I sincerely hope that he will write some code. Keeping him busy just lecturing and giving talks will be like hiring Michael Jordan only to play baseball...

Probably very similar to why Universities want Nobel Laureates on the faculty. Sure, they want their brainpower, but it's also huge for prestige and a symbol to the World of what a great University they are.

This will probably help greatly with recruiting. What Python engineer wouldn't want to work with him?

> This will probably help greatly with recruiting. What Python engineer wouldn't want to work with him?

Bingo. And it will make water cooler talk about the GIL a lot more interesting.

Kind of a quirky note, but now the creators of all of the most popular web languages (Ruby, PHP and Python) have had a stint at YC companies:



Awww, Larry's in the corner, sobbing. It's OK, Larry, we still like you.

Brendan Eich?

It always strikes me as odd when something like this happens. Guido is still working nine-to-fives and Drew never has to work again. Can someone tell me why a brilliant person like Guido isn't worth a billion dollars? Have tons of fancy cars and a fancy house? Has to work for another company?

I know nothing about Guido outside of his work with Python but I assume he's not hurting for money at all. Nevertheless, our capitalist system does not reward people for brilliance alone; it rewards people for taking risks. Some very wealthy people are still being rewarded for the risks of their ancestors, and others have managed to keep wealth gathered in different economic systems, but that is generally how new wealth is created in our economy today.

(By definition, risk takers are collectively expected to fail more often than they succeed. There is probably some level of intelligence below which success rates drop even further, but I would be surprised to see any strong correlation between success rates and intelligence above that level.)

I don't get it. How is creating a new programming language in your spare time not a risk? You're spending valuable time creating something that is likely to fail (see the scores of niche languages no one uses).

I think what you mean by "risk" is something very specific: financial risk. If Guido had instead put time and, more importantly, money into starting a "lifestyle" startup on the side, he would have been financially rewarded if successful.

We were discussing financial success; I assumed financial risk was implicit. Investing time in the creation of a new programming language is likely to pay off in many other ways, but the potential financial rewards are very low and therefore so is the element of financial risk.

People tend to overestimate the amount of money required to start a successful business.

You shouldn't assume anything about the personal wealth of...well, anyone. There are rank-and-file, post-IPO engineers at Google sitting on multi-million-$ hiring/retention stock grants. The only difference is that there's no press release when your boss quietly prevents you from leaving for another company, or hires you away from another company. Most smart people, if given the choice, would rather that other folks not know that they're wealthy.

Has to or wants to? Guido has chosen to focus on building an awesome language rather than maximising his personal wealth. Some people just like programming, and I'm sure he's extremely well compensated and does not have to work 9 - 5.

Because the stuff he built is open source? I'm sure he gets paid a high salary for his work, but he's still an engineer, not a founder. And maybe he likes working in an office?

Because it's more fun to write lots of awesome Python code than to retire, or drive fancy cars, or go home to a fancy house.

Since when do language designers get rich? I can't think of a single person who got rich through language design.

According to Borland's 1997 lawsuit against Microsoft, Anders Hejlsberg had a signing bonus of $1 million plus stock options to move to Microsoft. That sounds like a rich language designer.

I think of language design like running. Almost everyone can run, a lot of people run because they enjoy it, some of those enter competitions, but mostly because they enjoy the social and competitive aspects. Very few people make a living by running, and almost no one gets rich as a professional runner.

A lot of people enjoy making new languages. Some of these languages are used by more than a handful of people, though most of those are domain-specific languages. Only a few languages enter wide-spread use, and of those language designers, very few get rich from that work.

Stephen Wolfram

Mathematica is much more than a language. People buy Mathematica for system, the language is just a small part of it. (And it's crap, just like MATLAB language is crap, but the full product itself is massively useful).

Nice. Add Cleve Moler and Jack Dangermond, I suppose.

because he didnt found or was an early employee of a highly successful startup, yet. Same is true for Linus and many other hacker heros, but its not a bad thing imo.

Linus Torvalds is at least a multi-millionaire; when RedHat and VA Linux went public, they each gifted him with shares in gratitude for inventing Linux, reportedly worth around $20M [1]. Some sources put his wealth at anywhere from $150M [2] to $1B [3]; his actual wealth would vary significantly based on when he sold and what he's invested in since, since those shares shot up 10x on IPO day.

[1] http://en.wikipedia.org/wiki/Linus_Torvalds#Later_years

[2] http://hollywoodnose.com/net-worth/linus-torvalds-wealth

[3] http://money.cnn.com/magazines/fortune/fortune_archive/2000/...

hm ok, i read some article on that suggesting that he didnt make much money at all from the RedHat stint. But yeah i am sure he is a millionaire, but i am also sure Guido is too, just considering what he earned at Google for the last 7 years.

Now he is am early employee of a highly successful startup.

Would someone like this be paid based on their fame and/or positive PR value, or would they be paid based on position just like everyone else? I've always wondered if these "programming celebrities" make substantially more just based on their personal brand, or if their personal brand just affords them the opportunity to have any job they so desire (but with the "standard" pay)

That would be up to them, wouldn't it? I mean, if you could get a job anywhere you wanted and money was the most important differentiator, there would be nothing stopping you from increasing your price until you had sufficiently decreased your options.

I think most people treat it like hiring an executive, even if they're technically not one. They'll get significantly higher salary, equity, and bonuses.

I've long held the theory that Dropbox's long-term secret plan is to host apps - as they already have the data, this will effectively make them the fabled "internet OS".

Having Guido on board to make python its systems language makes sense - and would be enough to tempt him away from google.

Speechless. This is definitely one of the best decisions that Dropbox will probably ever make. Not only will this mean that Dropbox can hire other equally great Python developers, but as a company you can't get any more humbling than, "hey we hired the guy who wrote the programming language this site is based on and makes its money from"

Guido is an exceptional engineer as well, not just a guy who knows Python really well. The dude is seriously one of the rare gems in the community.

All that, plus the fact that they hired him AWAY from Google.

Matz is one of the "rare gems" in the Ruby community. So doesn't that make Guido one of the "rare eggs" in the Python community? ;)

Your joke made me literally laugh out loud in the middle of a coffee shop. Bravo, sir.


I was always impressed by how much code Guido wrote at Google, he definitely isn't afraid to get his hands dirty.

Wow if he really did contribute a lot (which I don't doubt at all) then how did Google let him get away? I'd imagine his lifestyle there was pretty nice.

What do you think Google could have done?

Figure out why he wanted to leave, and see if they could remedy it (e.g. more money; different challenges; etc).

Pretty sure someone like Guido is, at this point, not motivated by money. If there was a challenge he wanted to undertake at Google, I'm sure they'd give it to him already.

He probably wanted to participate in growing another new tech company that has a lot of potential. That's an opportunity Google would find hard to counter.

Sorry, my statement was more generic. I wasn't trying to say that Guido is motivated by money, just that these are common ways to get someone to stay if that is indeed the issue that makes them want to leave.

On the issue of challenges, maybe Guido has more pull on this, but there were recently some articles/discussion on HN about Google's hiring practices. They might hire you based on your PhD in databases, and then have you writing shell scripts for work because some randomized 'sorting hat' tells you what group you end up in. It's possible that even Guido doesn't have enough pull at Google to overcome this. :-\

If you want to move to another team at Google, it's really up to that team if they want you. As long as they have budget for you, and they want you working with them, then you're free to move.

The problem with new hires is that no other team has any idea whether you're any good, so it take a bit of tenure to prove yourself and make yourself known to others.

I'm quite sure Guido would be doing whatever he wanted at Google

The discussion I'm referring to represented ending up somewhere that you don't want to be as a bit of a trap.

E.g. if Guido ends up writing shell scripts, but his real skill-set/passion is for databases. It's quite possible for him to under-perform, and then that performance used as a reason for the 'database team' to not take him.

Except working for a small company. There's something to be said for that!

"It's possible that even Guido doesn't have enough pull at Google to overcome this."

I have enough pull at Google to overcome this, so I'd be pretty surprised if Guido doesn't.

If it's a sorting hat, maybe he could ask Tim to adjust it. ;)

Yeah but the problem is, reasons for a career change are highly personal, and by the time the employee wants to leave, it's usually already too late to keep them by sweetening the deal. The only way to know is to ask Guido himself.

In any company there could be changes that are simply imposible to fulfil. Let's say that there is something on the company culture he don't like. You can't call upper management and say "I can't stand the level of politics on this company". Or the way we hire. Or the kind of products we are doing. Or the impact I have on the company (no single person is going to have a big impact at Google, no matter how great he is)...

There are also things related to company size. I am more confortable working for small companies than big ones, there are other people that is the other way around...

It's not as simple as saying: "please stay, whatever you want"

Speculation: maybe Python advocacy matters to him and that isn't something Google is really up for anymore.

Probably nothing. I just find it interesting that an organization like Google with practically unlimited resources can't keep someone (who can probably get anything they want in terms of perks) around.

If someone wants to go, how could a company, even a great one like Google, keep them?

He was a core member of the app engine team, wrote ndb[1] (the next generation datamodel library for their schema-less datastore), wrote the code review web app tool that was awesome, and a bunch of python infrastructure AFAIK.

[1] https://developers.google.com/appengine/docs/python/ndb/

Guido apparently wrote a web-based code review tool for Google:


I heard that this tool was not well received at Google; anybody else hear this?

When I was there, everyone I knew used it and sang its praises.

But it is a large company with a lot of teams. I am sure there were people somewhere who thought it was awful.

When it worked, it was great. When it was down or slow (Friday at 4:15 PM, anyone?), it was miserable.

Hey wait, doesn't everybody at Google stay till 10:00 PM on Friday??!

They kinda kick everybody out on Friday evenings, actually. (Not actually kick out, but make it easier to just go home, especially as compared with Mon-Thurs.) And, in fact, that's even more true now than it was two weeks ago, because of a change in food-service policy.

Still need to beat the pre TGIF rush. Reviewing code after happy hour is a bad idea.

I use Rietveld (not in Google) and I'm not particularly impress. It makes the job, but I don't think is a GREAT tool. After all, there are not many ways you can do a code review...

I'd love something that will be more integrated with source control (git in particular), maybe I'm asking too much...

Try Gerrit. It's tightly coupled to git, it's quite easy to host, similar to Rietveld/Mondrian in style, and has good documentation.

Git is not well received at Google either.

This is not true. I use git practically every day, working within the main source tree. Google's a big company with thousands of engineers and multiple ways of doing things. Some use git, some don't. You use what works best for you.

Care to elaborate? I'm curious to hear why this might be.

Not true, a lot of people, including me, use git at Google. It's not a default options, but you can use it if you want to.

Not true, it is a part of the required standard check-in process for the long time and just recently was replaced with the V2.


A decade ago, Python being widely used in Google and the creator of Python being employed by the company was a big endorsement for the language. Now Python is quite mainstream. Actually, Guido was allowed to devote 50% of his time at Google for Python. Hope the good work continues at Dropbox.

FWIW, Guido's role at Google wasn't specific to Python. He worked on real product teams and contributed much more than his Python expertise.

The article seems to think that Dropbox hired him for his thorough knowledge of Python, which probably had some role in the hiring decision, but I expect that the primary motivation was to acquire an excellent engineer.

I wonder, will Dropbox still allocate 50% of Guido's time toward Python development?

Further, donning our tinfoil hats, is it reasonable to suspect that Google is phasing out the use of Python internally? I've heard rumors that Python is no longer permitted for new projects within Google; hoping some Googlers here can confirm or deny this.

No such blanket prohibition currently exists.

Are any of those words weasel words? "blanket"? "currently"?

By themselves, no.

Now, it depends on if he actually knows more than what he stated. They could be weasel words if he actually knows on some future date such a prohibition will be made, or that they are currently prohibiting Python on some level.

My suspicion is that he was trying to be specific, not weasel-like.

I am happy to clarify!

By "blanket" I mean to say that there's no organization-wide policy. I don't know of any specific cases, but I would not be shocked if certain groups within Google have stricter policies in this area.

I was just trying to be specific by saying "currently"

Not aware of any prohibition against Python. The rule as I understand it is (not surprisingly) "use whichever of the supported languages best fits the goals and requirements of your project". If that's Python (and you can support your reasoning), use it.

Any idea why they would phase out Python? Internal promotion of Go, or problems with Python?

Or internet commentators making stuff up?

"Some people only need to be introduced by their first name" - maybe so, but it would have been nice for them to mention it at least once.

They did. They even linked to wikipedia pages on him twice.

I think the parent was referring to his full name. "Guido" appears 7 times on that page, "Rossum" appears 0 times in text.

Yes, I was referring to the "van Rossum" part of his name. Sorry for not being clear.

    Python has been a backbone of Dropbox since its early days as it 
    allowed the startup to write code once but deploy it across platforms.
Can anybody elaborate on this? Is the argument that Python is cross-platform because everybody uses GNU tools on every platform, or are there other reasons why Python is more cross-platform than other languages?

1) CPython is written in portable readable C code. 2) CPython has been around since 1991, and thus people have had the time to port it properly. 3) Python have shown an interest in supporting both Unix and Windows for a long time (and later OS X), thus every new change has to describe how it will interact with both systems.

You as an python developer don't have to worry much about different platforms since every new library and language feature tries to work the same on all supported platforms. (of course this doesn't always happen)

The "batteries included" philosophy and commitment to making CPython work on multiple platforms has gone a long way. I don't think it has much to do with GNU tools specifically.

An interview with Guido himself that discusses some of the multiplatform emphasis in the development of python: http://oreilly.com/pub/a/oreilly/frank/rossum_1099.html

Perhaps as Python has had Windows installers for a longer period of time?

If me memory serves me correctly, Python has had simple Windows binary install packages (from Python.org and ActiveState) longer that most other scripting languages in the same class, that did not need require an additional layer like Cygwin.

No compile step. Python exists for a great many platforms.

Also true for several other "scripting" languages.

But python code is compiled (and saved as *.pyc files). The compiled code is then executed by a VM, in the same way as Ruby, Java and C# and a lot of other languages work.

Therefore, it is a bit stange to see people referring to Ruby or Python as 'scripting' languages. I'd call shell script a 'scripting' language, but not Java or Python.

No compile STEP means there is a REPL, there is no waiting seconds, minutes, hours while a compiler compiles and links code to native format, code on arch 'A' can be run on arch 'B' without [re|cross]compiling it and a few other less important things.

That there happens to be an PURELY optional for performance only pre-parsed representation for the interpreter is immaterial.

I really don't the sentence as "the best language to deploy across platforms", but as "it works across platforms".

I started using Python on Windows machines, and I was able to develop programs that run without any problem or adaptation on Linux servers. That include thing like GTK, making a GUI and working on Windows and Linux.

It is possible that I could achieve that in other languages, I guess. But it had that capability, for sure... And for Dropbox that's a very interesting feature, as they have a client that needs to run on Windows, Linux and OS X...

Yeah, I don't think that trait distinguishes Python from Ruby or Perl, or even Java, for that matter. Cross-platform compatibility is an advantage of interpreted languages in general.

Not if we're talking about the real world (implementation), rather than the theoretical capability of a language in itself. Perl and Ruby don't see much love on Windows, particularly with GUI toolkits and the like. Python is the only one of the three that feels comfortable using on Windows, from the skeleton of the app down to actually distributing it. Java is really good at cross platform apps though.

This is one of the few things that irks me in programming communities, often you'll seen criticism or praise of a point in a language, and then some language lawyer comes and talks about what said language can do in theory, rather than looking at the practicalities of actual, real world implementations, the community and culture surrounding it and so on. No one gives a crap if any dynamic language COULD be made to work the right way on many OS, people care if the work is done, not if it COULD be done.

The worst offenders are of course people victim of the sufficiently smart compiler curse.

This is what I was wondering about, because I have so far failed to install a single Python package on Windows without it breaking on some Unix dependency.

What Python package you tried to install that comes with "Unix dependency"?

I have 163 packages in my local pypi, and they work fine on Linux, Windows, and OS X.

Perhaps I'm just unlucky. To be fair, I've only tried to run like 3 python packages.

If you're pulling a pure python package (like Django, Tornado or requests) then you're golden on any platform python is available for. If you're pulling a python package that contains C bits (like PIL, msgpack-python) then you'll need the compiler toolchain and associated libraries.

Luckily, most such packages (the popular ones at least) can be obtained in other ways (PIL through a win only download, or get a pure-python alternative like msgpack-pure-python).

I use Ruby for light scripting on a Windows machine. RubyInstaller worked just fine and so do the irb shell and my scripts. Dropbox is a web app, so who cares about GUI toolkits? Perhaps you're right that the Python community tried harder, earlier, to support Windows and other non-UNIX platforms. But it's hard to imagine Dropbox actually selecting Python to build their web app for that reason. Maybe in their earlier days they used a hosting service that supported Python but not Ruby, Perl, etc.? Who knows...

You wrote 513 characters about a subject you don't know anything about. Why is that ? You didn't use dropbox, you don't know how it works (hint, what made it so popular is the desktop client that syncs your data in the first place. And it's written with wxpython.), but you felt compelled to write 513 chars about your ignorance and wild speculation ("Maybe in their earlier days blabla").

Then comparing apples to oranges "I use Ruby for light scripting" vs "widely deployed desktop app with users from the three major desktop systems (Windows, OS X, Linux)."

This kind of behavior is a serious annoyance in online discussions.

I'm sorry if I annoyed you, but there's really no need to be rude. It's a subject I never claimed to know a lot about, but it's also false to say that I don't know "anything" about it. I'm here to learn more, not to show off what I already know.

If you were actually here to contribute, you might give a concrete example of why Python is more cross-platform compatible than other interpreted languages (because someone built a better Windows GUI toolkit for it?), but if you just want to put down and feel smarter than someone you don't know, you're wasting your time and keystrokes.

The fact that you actually bothered to count how many characters I typed strongly suggests the latter.

Now you're doing more of the same, not contributing anything of value to the discussion in 689 characters.

Dropbox also have a desktop client that's written in python. Presumably with a slightly different UI layer and packaging method depending on the target OS, but with the underlying functionality shared.

OK, that makes more sense. I don't use Dropbox and didn't realize they had a desktop GUI client.

I like Google... And Dropbox is also good. I don't know how I'm supposed to feel! HN always tells me who the villain in a story is. Someone please help!

The villains appear to be Bjarne Stroustrup and James Gosling - perhaps Robert Griesemer, Rob Pike and Ken Thompson as well.

I heard from a friend who talked with Guido this year, he couldn't let Google add Python to Android and Chrome, this make him disappointed.

Well that was pretty clearly stated at Pycon 2012. Someone asked Guido that question he answered pretty diplomatically that it was a "political decision" _but_ you could tell it was a issue he cared by the tone of his voice.

"couldn't let" is odd. Do you mean "get", IOW persuade Google to add Python.

Thanks, I mean "get".

I think it's been about a year since he gave his Python talk at Dropbox. I suppose they also used that opportunity to begin to recruit him.

Why Guido left? That's the question.

Speaking as an ex-Googler, when I left, Python was largely relegated to glue code, scripts, internal projects, and App Engine -- consumer-facing frontends were written in Java, and backends in C++. He probably wanted to move to a company where Python was more pervasive, and he felt like he could have more of an impact, given that he _is_ the BDFL.

+1. Google is a C/Java shop, and App Engine doesn't have a motivated team behind it (some App Engine apps make a lot of money for Google, but the GAE folks don't provide them with adequate support, much less external customers). When I stopped working on Google projects there were large parts of what would have been in the SDK provided by random teams in Creative Lab.

Why is Python being phased out?

Python wasn't phased out of consumer-facing applications because it was never in. Google has a lot of machines, but those machines receive a lot of traffic. Efficiency matters, and byte-for-byte, cycle-for-cycle, Java is more efficient than Python.

Don't ask me why Google didn't throw lots of resources at making Python more efficient like they did with JS and V8. I often wonder that myself.

they did throw a significant amount of resources at python with the creation of unladen swallow. In the end i believe it was decided (due to GIL issues, and other language design choices in python) that it was never going to match up performance wise, so unladen swallow was canceled, and Google began to move away from python.

Google doesn't run JS on its machines much. Google users run JS.

Python is a cool language but performance is performance. This is why C++ and Java will continue their domination. So in the end, assembly language and optimization experts are the king makers?

The dusty corners of Google where Python is relegated must add up to far more expansive use tha all of DropBox.

This isn't a Python move. It is a Guido move and a company environment move and a product move.

If I was a language designer looking for a change, I'd go to Yosemite and apply as park ranger. That would be a change.

But dropbox?

Would be nice to get away from it all for a few months. Being a park ranger (for awhile) would be a nice break from a high-tech lifestyle.

Dang, Dropbox is stealing talent from every direction.

They not only steal but steal at very good timing. Since Google will give their focus to javascript and go from now on :)

Go, yes. Javascript, I'm not so sure: http://code.google.com/p/dart/

Compare Googles recentbJS publications with their recent Dart publications.

This is great Dropbox PR. Also I'd imagine DB Python developers are excited!

1. Will GO replace Python?

2. What seems to be happening to ndb.models in near future?

3. Will Guido leaving Google affect webapp2 in any way?

It's more interesting that he left Google.

Very doubtful. I would find it hard to believe that he hasn't committed code in a week.

Anyway, most of what he was working on was AppEngine itself.

Two comments:

IMHO, Python would have been in a far better place if Guido and his team would have been getting paid to maintain and evolve Python, the language, rather than apps and platforms based on Python. I think in the early days at Google he was able to do so, later, appengine took most of his time.

Dropbox is still a startup - despite the substantial investments rounds - since it is still relying on external money (investments) to grow.

It's not uncommon to see staff from Google going to another small company and then some months later, the company is acquired by Google...

I agree this is true for small companies. However Dropbox is not a small company by most measures. Also pg's remarks about how you couldn't acquire Dropbox or Airbnb for (some large dollar amount I forget) lead me to believe Google won't be acquiring them.

I'd imagine Google wants to acquire them. However I doubt Drew Houston would go that route.

Great news for Dropbox, I cannot wait to see what Guido will do for Dropbox.

interesting (to say the least). does it mean that Go is taking prominence at GOOG ?

Guido is a boss.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact