Stream is an API for building scalable activity feeds and chat/messaging
 

What percentage of your time do you spend actively writing code or providing technical input into architecture? Going down the business dev/managing path is something I'm interested in, but I can't seem to get away from the hunger for writing code.

 

Year 1 of Stream I did a ton of dev work, probably 80% of my time. After that fundraising and marketing became more important. Once we started getting enterprise customers I ended up doing a lot of sales.

We recently launched Chat and for the last 6 months or so I got to do quite a bit of dev and product work on that. Perhaps 60% of my time. I really enjoyed doing a bit of dev work, I really like the making/creative aspect of it.

 

That's excellent to hear! I'm glad you still get to whet your appetite for bit wrangling every now and then :-)

 
 

Sure thing. I tend to use Postgres for everything unless there is a really strong argument for not using postgres. CRM data should be stored in postgress unless you expect billions of rows. Next you'll want to replicate some of that data to Elastic for awesome search. If the search only kinda needs to work you could also consider the built-in fulltext search of postgres, its pretty decent actually.

 

Managed postgres is nice since tuning PG, and setting up WAL replication (check out wal-e, github.com/wal-e/wal-e) takes quite a bit of work. We did this in-house at my first startup, and while it worked it took up way to much time to justify the cost savings. Gitlab is a nice example of running it yourself gone wrong. They wrote an awesome transparent blogpost about it though. about.gitlab.com/2017/02/10/postmo...

I've used RDS in the past, never used the google one, how do you like it so far?

Man, amazing answer. Can’t tell you how much I appreciate the help. I’m self taught (going on year 3) and never really had anyone to bounce ideas off. Dev.to just became my favorite place :) Postgres it is! ... I’m a huge fan of Google Firebase real time database. I learned backend processes, data structure, and authentication through it which gave me so much confidence when I started out. Now I can setup something so quick using it, I use it a ton at work mainly for internal projects. It’s a great product with great developer advocates and great docs ... thanks again !

Firebase is pretty cool, it's also price super competitively because Google knows you end up buying more stuff from them

 

How to market your product, as a developer i feel this part to be the hardest for me. What tips would you give someone that can program and deliver a product, but sucks at selling it.

 

I think it was YC at some point that said that you should try to be good at 2 of these: design, development, marketing. Not sure, can't remember the exact quote, but I definitely agree. If you can master two of those your chances of making a startup succeed go way up.

Once you're good at marketing note that many of your campaigns will still utterly fail. I've been doing this for years now and I think only 60-70% of the marketing projects I work on hit a positive ROI. For a great read on various approaches to marketing I recommend: amazon.com/Traction-Startup-Achiev...

Next you want to get basic experience with many different types of marketing:

  1. SEM, just try buying some ads to get the feel of how it works and when you can use it for your business
  2. Content marketing, write some blogpost and see if you can get any of them to 1k, 10k or 100k pageviews
  3. Quora/Stackoverflow try to understand what makes things trend on those platforms

Your goal is not really to make your marketing succeed in the beginning. You mainly want to make sure you understand how all these platforms work and how and when you can use them to grow your business.

 

As someone who is about to start a project, I big time second this!

 

Also this: getstream.io/blog/creative-develop...

Though its pretty dependent on what worked for us at Stream, if you're in a different market other things will work. What are you building?

Put simply, it is for people who are intimidated by cooking their own meals, like me. It will provide a way to easily find and sort recipes based off nutrition requirements, price, and most importantly, difficulty. I'm thinking about implementing forums for the website so people can talk and share about cooking. That would be something cool to add when I already have the MVP. All of this to give me an excuse to learn about building with React and serverless. At first, because I wanted to hop on the bandwagon, but then I learned about what makes the tech special (also to not follow the bandwagon hype), and it seems like a lot of fun to play with!

I think Serverless, React + components like Algolia, Stream, Auth0 etc. is where the cloud hosting market is going long term. It's crazy how quickly you can build fully functional apps these days.

On the other hand getting a DO or Hetzner server is as cheap as its going to get :)

 

Hey Thierry,

I would like to compliment you and your team on your product since I use it every day. =)

How many tools/services are in your stack that you chose yourself? Are you still involved with that or does someone else completely own that process?

Thanks!

 

I advocated for Go as an interesting option to consider. The tool and stack is really up to the engineering team though.

Raft, RocksDB, Jaegar were all new to me. As a part time engineer I mainly just use the tools that were already selected by the team.

For chat I introduced this little library though: github.com/go-pg/pg
Which, while it's not perfect, has been pretty nifty.

 

How did u make the jump from engineer to CEO? Did you do any prep work before taking the plunge to build a startup for yourself?

 

Started coding at 13, but I studied business for 3 years (during my bachelor, system is a bit different in the EU, where I'm from than the US). I don't really recommend studying business. Most of course content seems to be tailored to someone running a large multi-national, not so much a startup. I really wonder how they come up with the course content, because literally zero people out of uni end up in a job like that.

What I do recommend is:

 
 

When did you start Stream.io?
What inspired to start the company?
Is this your first startup or you have started companies before? If so, what are some lessons you learned from previous companies that you applied to this one.

 

We started Stream 4 years ago. It was mainly due to Tommaso and myself being frustrated with the state of the art in terms of news feed tech. Back in the days you basically had to read papers from Facebook/Yahoo etc and spend a year building your own software (more if you become really large). Also we saw companies like Sendgrid and Algolia do well with a hosted model.

This is my second startup, my first one was a social network for shopping which eventually pivoted into a marketing agency, grew to 50ish people and sold. It was not amazing, but a decent outcome for investors, employees and the founders.

In terms of engineering we learned a lot from operating a social network at scale. So a lot of the devops experience translated well into the second startup. Basically all our infrastructure is defined in code which makes it very easy to make changes, update things etc.

Fundraising experience also helped a great deal with the second startup. I learned a lot about that during the first startup (I was the CTO, but involved a bit in fundraising as well). I mostly learned more from Techstars though, that was super helpful.

We also go things wrong. Building a consumer app we used a ton of Python. Python is a very productive programming language. Its a terrible choice for building a scalable micro service though. Switching to Go has been a major improvement for us:
getstream.io/blog/switched-python-go/

 

Do you have any recommendations for a software engineer to transition to product developer or product development manager ?

 

You have an advantage coming from an engineering background. PM is not rocket science. Talk to customers often, make sure there is a short feedback loop between customers/leads and product and sort things.

To get good at it though you need an understanding of everything that goes into a good product. So you need to have basic marketing, sales, analytics experience in addition to engineering.

Classic DEV Post from Feb 22

What are some Browser plugins that you can't live without ?

What are some of your essential browser extension/plugin that make your life easier ?

Sore eyes?

dev.to now has dark mode.

Go to the "misc" section of your settings and select night theme ❀️

(There is also a pink mode)