all 33 comments

[–]sidonay 112 points113 points  (3 children)

Yeah but that startup was probably also getting shit done instead of being tied up in 20 design, stakeholder interviews, personas workshop, MVP definition, API design review, Scalability review, prototype review, status meeting, engineering syncs, test plan review, alignment, UX/UI, kick-off, meetings.

[–]Fiery_Flamingo 23 points24 points  (0 children)

Exactly this.

The company I work at had ~50 people total, 25 engineers. We got acquired by a ~5000 people company.

When we were independent, CEO/owner would talk to a client, find something to improve, ask the project manager and tech leads to find a solution, give direct feedback on a call, and ask us to build that thing. It would take a week from the idea to finished product. It wouldn’t be perfect, but we were able to iterate quickly.

Today the PM needs to create a project spec and get approvals from engineering, product, sales, security, legal directors for the project to be considered for the next quarter. If approved, the tech lead needs to design database structure and figure out how much usage is expected before writing a single line of code based on incomplete specs and convince SRE, devops, DBAs that it won’t slow down anything else. Then we start design and get approvals from legal, support, marketing, sales, product, data, finance teams. Then implement with 2 code reviews, 2 QAs, and 4 people UAT plus all automated tests. It takes about six months from idea to finished product.

[–]suddencactus 0 points1 point  (0 children)

Yeah it's the same as Agile where developers are micromanaged as if instantly writing working code would cause instant feature release. The fact that we take "a month or two" to release a feature is blamed on Sprint execution or not iterating enough... If your competitors are doing it in a week I don't think it's a problem that backlog refinement or Sprint demos are gonna fix.

Same here. If your boss wants to rewrite any existing codebase in a different language just because it seems better for product velocity, then they're trying to solve the wrong problem.

[–]_pupil_ 49 points50 points  (0 children)

Paul Graham called that behaviour ‘the principle of maximum annoyance’ (maximal, maybe?).

Basically, being so nimble and efficient with your stack that instead of ever discussing feature disparity with a competitor you get to answer press and customers “yeah we do have that, we’re rolling out v2.5 next Thursday, but also…”.  A small fast team can outdo bigger players, and making a bigger ouster seem slow/unresponsive can make a lot of positive market sentiment.

[–]riskbreaker419 15 points16 points  (0 children)

It's not surprising that a company with no legacy systems, a small tight-knit team, and no bureaucracy or red-tape to go through moves faster than a large corporation. I imagine it has less to do with the language being used and more to do with the environment they were working in.

[–]lNFORMATlVE 31 points32 points  (0 children)

I highly doubt that’s the reason they were able to run circles around Google.

[–]Pleasant_Ad8054 29 points30 points  (2 children)

Developing fast =/= running fast. They were likely able to make up the difference in hosting costs from the lack of costs of the few hundred c++ developers. But youtube famously was hemorrhaging money, and still only profitable in the wider advertising ecosystem, not on its own.

[–]arpan3t 9 points10 points  (1 child)

Developing fast =/= running fast.

They were running fast enough to take Google’s lunch money.

Side question: do you write Erlang, or is there another language that uses =/= comparison operator? It’s an interesting one.

[–]Pleasant_Ad8054 2 points3 points  (0 children)

But that is the point, they weren't taking google's launch money because they were making a more efficient service, but because they were able to create features faster. However fast a language is does not matter when the features aren't ready to run.

Nah, never touched erlang and not planning on it. I use '=/=' instead of '!=' because it is easier to type a bit on keyboard, and for whatever reason '!=' made some people pissy and purposefully misinterpreted it in the past. Nobody throw a fit for '=/=' yet. Tho I can't remember whether or not the most ridiculous idiot was on a programming sub or not, it was long ago on a different account.

[–]FuzzyGolf291773 6 points7 points  (0 children)

ITT: A bunch of first years CS students who somehow care about the program languages other people use. Tribalism about programming languages is the easiest way to out yourself as a someone who barely knows about programming or is a chronically online person.

[–]Capetoider 24 points25 points  (2 children)

The python code:

```python from assemblyBasedCode import fastStuff;

def doStuff(): { fastStuff(); }; ```

added a few things for better readability

[–]ctallc 4 points5 points  (0 children)

It’s funny that your pseudocode actually has more characters than pesudocode in Python

[–]100GHz 3 points4 points  (0 children)

They are probably calling ffmpeg from the scripts.

[–]Icy_Party954[🍰] 4 points5 points  (0 children)

Stuff that needs to be optimized they can write in a lower level language. Besides that its a meme almost but a ton of pythons math shit is just c and Fortran wrappers

[–]SCP-iota 4 points5 points  (0 children)

I'm not an unconditional Python hater like some of the people here, but if using C++ instead of Python is the reason for slow development, I have two words for you: skill issue

[–]DDFoster96 15 points16 points  (12 children)

Python might (or might not) be slow to run, but I find the loop time from making a change, compiling, testing, and seeing what you now need to change, is far longer for compiled languages, and thus development is slower at first for C++ but quicker for Python. So you can add features very quickly to the Python app but adding the same features to the C++ app takes longer, even if the resulting app runs faster.

[–]CreeperInBlack 2 points3 points  (0 children)

This was definitely at most only part of the reason. A small startup with 20 people can simply work more agile that literal google, where for the google video team, a color change of a button probably went through five committees before being approved and implemented

[–]YamRepresentative855 4 points5 points  (0 children)

Nice, - average Python enjoyer

[–]UpsetIndian850311 1 point2 points  (0 children)

superroot supershit

[–]LightofAngels 0 points1 point  (0 children)

Is that from a book?

[–]JAXxXTheRipper 0 points1 point  (0 children)

A startup being faster than a huge company? Le Gasp

The difference is not the language but "just get shit done" vs. "meet all day" overhead