HACKER Q&A
📣 greenie_beans

How do small companies adopt new technology?


I'm looking for examples of how small technology companies adopt new technologies to their tech stack. What does an R&D process look like for small teams that are shipping new products but want to continually improve their tech stack? How do they identify areas to focus on improving? What sort of processes do they use for changing their stack? How do they get consensus and buy-in for adopting new tech?

There are a lot of examples of big corporations doing R&D where they adopt new technology, but these R&D ventures seem like they're only for developing new products. This examples don't work for a small company.

I don't think a startup's approach is the right model. I'm primarily looking for examples from mature-ish small product and tech consultancy companies with ~5-25 team members who are trying to improve their tech stack.


  👤 ilaksh Accepted Answer ✓
You didn't ask about individuals but this probably applies to some degree anyway.

I think that it's about psychology and social dynamics more than any process or system usually. Like anything else.

But maybe with some particular technical requirement that makes people consider something different. Maybe there is an existing project, library or language feature that seems to make a core requirement significant easier. Add to that an element of rising popularity.

Also "new technology" in many cases may not be new at all really. Just new for that organization.

For me, I have been through several different technologies, from Turbo Pascal and C/C++, PHP, C#/.NET, JavaScript and Node.js and now Rust.

When I got into Node.js, it was because I had been experimenting with realtime collaboration in a web page, and at the time that seemed like the most streamlined option.

Recently, I have been looking for an inexpensive lightweight way to securely host custom back-end code for users. The last time I ended up using Docker with Node.js, and it worked, but it was very wasteful in terms of server resources.

Obviously, there are lots of ways to do it efficiently. So part of this is psychology -- I'm not going back to PHP, for example. But after years of putting off really learning Rust, I decided to dig into it. Because the options for hosting user scripts or web assembly etc. in a lightweight way with Rust seem pretty good, although it can get fairly complex. But I also feel like despite the initial hostility towards programming ergonomics (which was a poor decision), Rust has now become critical in some ways, and I don't want to be "left behind" anymore.

I am using Rhai for scripting.


👤 logicalmonster
At that size, you likely don't and shouldn't have wasteful committees and formal approval processes.

At that size, you probably have a certain pecking order of "who has the final say" and know everybody in the company. So the tech lead either dictates a technology, or somebody approaches them and makes their pitch as to why that technology should be used.

Or if the devs are trusted, they might have approval to try basically whatever technology they think will get things done best.


👤 croo
Uh, at 5-25 people you don't need process for that. You know everyone by name and know the informal hierarchy of the team.

You ask Joe and show it to the team they say cool, let's use it.

At the pub five of you decide you will write the new module in rust because it's fun. Bam.

Or just start use it and explain it to whomever concerned if you are that high up.