HACKER Q&A
📣 dijit

If you were to start a new company, what tech stack would you recommend?


Context: A company has asked me to join as CTO and everything is prototype stage and needs to be rewritten from ground up.

the current stack is Java (spring) on the Atlassian Suite (bitbucket, jira, confluence) - there's no love for that platform within the teams I'd take over, but I'm curious to know how others do it and what they'd recommend.

Personal Bias':

SCM/CI: Gitlab

Documentation: I prefer `docs/` in the repo's themselves, but there is a need for something more architectural; maybe mediawiki is fine?

Task Management: Notion or Monday

PL: Golang + some python glue

Build system: Bazel (if anything)

Structured DB layer: Cockroach

------

But I'm extremely open to other ideas.

I know everything should start with "what problem am I trying to solve" but there has to be some sensible defaults here? right?

I'm trying to not choose tools that make people miserable, I only have experience with tools that make people miserable. The scale is pretty small.


  👤 ckluis Accepted Answer ✓
I don't think there are sensible defaults because of the lack of context.

Small team: notion

Big team: notion

Huge team: notion

FYI: I love and use notion.

But scale affects tools. Employee knowledge affects viable tech stack. It is all truly dependent on context. The thing about being a CTO/CPO etc is that you are the one that has to weigh the trade-offs and make sensible "defaults" based upon your context.


👤 xyzi2
Sounds like a startup, and with the small scale in mind, it should be whatever the team is most comfortable with. And ideally something that isn’t too hard to hire more people for. Makes me wonder what made them pick Java in the first place for the prototype, if there’s no love for it.

Edit: For task management, issue board etc. it’s probably best to let the team(s) choose/vote for what they enjoy working with, rather than prescribe it from the top. Your process is more important than what task management tool you happen to pick


👤 brudgers
Seriously, congratulations on the offer.

rewritten from ground up

Now you have two problems.


👤 Dracophoenix
What tools do you have experience with exactly?

For programming languages, what about C#, Rust, Python, Julia, R, or C++? Any particular pros and cons?


👤 jray
Golang + react + PostgreSQL.