What is the definition of a startup these days, anyway?
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.
Besides, Dropbox has already received some substantial investments, and have a healthy revenue
"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.
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.
"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.]
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!
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.
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...
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.
Which leaves open the question of what to call Dropbox. Well funded, profitable, late-stage startup? Sounds like too much of a mouthful.
Which leaves open the question of what to call
Dropbox. Well funded, profitable, late-stage
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
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."
Why are 250 people working at Dropbox? Is Dropbox overstaffed?
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?
>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.
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.
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.
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.
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.
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)!
I'll have to admit I'm curious.
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.
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.
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.
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.
(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 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.
People tend to overestimate the amount of money required to start a successful business.
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.
Having Guido on board to make python its systems language makes sense - and would be enough to tempt him away from google.
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.
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? ;)
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.
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. :-\
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
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.
I have enough pull at Google to overcome this, so I'd be pretty surprised if Guido doesn't.
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"
But it is a large company with a lot of teams. I am sure there were people somewhere who thought it was awful.
I'd love something that will be more integrated with source control (git in particular), maybe I'm asking too much...
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.
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.
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.
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"
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.
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)
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
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.
Also true for several other "scripting" languages.
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.
That there happens to be an PURELY optional for performance only pre-parsed representation for the interpreter is immaterial.
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...
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.
I have 163 packages in my local pypi, and they work fine on Linux, Windows, and OS X.
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).
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.
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.
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.
This isn't a Python move. It is a Guido move and a company environment move and a product move.
2. What seems to be happening to ndb.models in near future?
3. Will Guido leaving Google affect webapp2 in any way?
Anyway, most of what he was working on was AppEngine itself.
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.
I'd imagine Google wants to acquire them. However I doubt Drew Houston would go that route.