I turned my side-project into a startup. I'm Ido Shamun, AMA!
Hey! I'm Ido, a co-founder of daily.dev and long-time software engineer.
Together with two other founders, we have turned daily.dev into a startup after running for two years as a side-project. We serve dev news for over 40K developers every week, and everything is open-source!
Let's talk about:
- Scaling your architecture
- Building your side-project
- Web development
As the title says, you can ask me anything! These are just topics to drive the discussion but don't limit yourself. I'm super excited to host this AMA and looking forward to answering your questions.
Send over your questions in advance 👇 and I'll answer them Wednesday, September 9th, 9AM PT / 12PM EST / 4PM GMT.
First up, A big thank-you for doing the AMA.
Couple of questions on the Side-projects:
- As a beginner, what kind of side projects, should we look to build?
- As experienced Devs, what kind of side projects, should we look to build?
- Like everything in life, a deadline is important for a side-project too, so that, completing a project gives the right amount of motivation to continue. In that regards, should picking up a larger project as a side-project a bad idea?
- What are the factors that we need to showcase in the side-project? For e.g. Features of the application, Design, Unit tests, Swagger Doc, etc. Is Code Coverage, CI/CD also required to implemented?
- How to showcase your side projects other than your portfolio?
And with Monetization, other than blogs/videos, what other ways to monetize your content?
Thank you once again for taking the time out to do this. Truly appreciated!!
Awesome Ido Shamun! Thanks for the tip. Since March, I'm on a sabbatical, thanks to COVID :-) A quick background is that I've worked with a few Start-ups over the last 4+ years, but mostly as an engineering manager/product manager.
Hence my role was more of a generalist to ensure that we build what was asked for and also ensure that we take the right technology related decisions at that point in time considering the budget and client priorities.
Since March, I've been investing in learning Web Development (since most of my career I was a Java backend Dev) and there's just so much. And learning from a lot of wonderful folks out there who've been very kind in offering help/advice to me. Eternally grateful for that!!
As for my personal projects, I'll definitely create things that solve a problem for myself or others, which is truly the motivation and at the same time try and learn from the experience.
Hi Ido Shamun, thanks for this AMA!
Impostor syndrome is one challenge developers face, what is your experience with imposter syndrome, and what advice do you have for web developers facing this currently?
Hey Bolaji Ayodeji,
Thank you for the question 🙏 Imposter syndrome is something I face very often. But thinking about how supportive the developers' community is make everything much easier. Once you get past the idea that no one tries to grill you but want to help, you can be more open and put the imposter aside. My advice is speak out, get out of the comfort zone, and face your fears. This is the only to get rid of them.
If you could go back to your early days of:
- learning to code
- founding a start-up
what, if anything, would you have done differently now in retrospect?
Hey Annie 🦄⚡,
Glad to have you here 🙏
I would probably learn more. I used to rush into building things without thinking. It was great because I learned tons of new things while building and I had projects to be proud of. But sometimes I could use a bit of planning and proper learning to do things the right way. There are some things that can take much more effort to change on the go if you don't get them right at the start. Today, I'm trying to balance between theoretical learning of best practices and hands-on experience.
I wouldn't do anything differently but my advice is team, team, and team! Make sure you trust your founders. Ideas tend to change along the way but the team is here to stay. If you can't trust them it will be very hard to move and progress.
Ido Shamun Thanks for the AMA!
I love daily.dev, I have been using it as my new tab page for a couple of weeks now.
How did you know it was time to make the jump from side-project to startup? Did you get an initial investment which allowed you to do so?
What has been one of your most challenging problems with daily.dev? What did you do to solve it?
Is a bowl of cereal considered soup?
Corey O'Donnell thanks for using daily.dev and being here 🤩
We decided to turn daily.dev into a startup, once we felt that we achieved "product-market-fit". Meaning that our product delivers value to our users (devs). We didn't get an initial investment (and actually turned one down), we currently live on our savings. This is a risk you have to take as a founder if you truly believe in your idea.
Growth for sure! It's a constant problem, you never solve it but we're doing our best to keep it going. We found out that writing blogs and community are the best ways to increase our reach. We're also seeing good results from YouTube ads.
I would like to say yes, but it's definitely a tricky one!
I write daily web development tips that help you become a more efficient developer. 👨💻⚡️
Super cool your doing this AMA!
Did you setup daily.dev as a scaleable solution from the start? What infrastructure do you have in place making such a platform scalable?
Sub note: When will we have a mobile app 😂
Hi Ido, thank-you for doing the AMA.
I have just one question :
How do go on to build a tech team in early days of startup. What specific skills/talent you look for in a candidate, if any? (Because i feel your team is the one of the biggest factor on how your product will perform in the market specially in a startup.)
Hey Apoorv Tyagi,
Thanks for the question. Right now we are only the founding team (3 members), the tech team is only me. But once we recruit devs I will look for the passion to learn. Devs with a passion to learn with the right guidance can do everything. You are definitely right that team is the most important piece in the puzzle.
Hi Ido, first of all, huge fan of daily.dev!
My question is: You mentioned this was your side project at first, which means I am assuming you had a full-time job while you were building this.
- When did you decide to give this project your 100% attention and turn it into a startup?
- What are some decisions criteria that make you decide to scale this side project to something bigger?
- What was the inspiration behind daily.dev?
Thanks for your time :)
What advice would you have for self-taught or developers with side projects in regards to thinking about scale for their projects? I imagine knowing how to code is one thing, but knowing how to think in an enterprise setting is very different! It's probably hard to get that experience if you aren't already working in a bigger code base.
I myself a self-taught developer, I never worked in an enterprise before, and never faced a massive scale. I learn what I need on the go. I do many mistakes and fix them along the way. The most important thing is to keep learning, especially from other developers. Look at open source projects to see how they face scale challenges, read blogs about DevOps and architecture. Be curious, for example, have you ever wondered how the Twitter feed works? There is much information about it online and you can learn so much from it. As in everything, Google is your best friend 😉
And on a personal note, I'm available if you have any questions.
I'm curious about the monetization.
It seems like a cool project, but not easy to find substantial streams of revenue. Curious how you're doing it!
Having 40k users is an awesome accomplishment and probably 39.997 than most projects. But is it already enough for profitability, or how many do you expect to need?
Glad to have your here ☺️ You are most definitely right, monetization is super hard. Our main revenue stream is ads and it's going pretty neat. Our revenue is high enough to cover all the IT costs, marketing, community gigs, and some pocket money. It's not enough to make our livings, but it's ok for now. We've turned down an investment because we would like to navigate this product by ourselves at the moment.
We believe that once we achieve a critical mass of users we will be more attractive for advertisers and can convert more users to the premium subscriptions.
What stack you're using for your project?
When it comes to architecting large systems, what does one put into perspective before making a decision?
As regards Open Source Contribution, What practical steps can a newbie take in order to get started?
For someone curious about starting their devops engineering journey, what important skill set one must have?
What type of portfolio projects do devops engineers need have to show that are employable and capable?
Hey Nonso Amadi,
Thanks for your questions.
Usually, systems don't start with a large scale. You slowly build them, going step-by-step. It's important to turn big decisions into tiny deployable pieces. Change -> Deploy -> Monitor -> Iterate. If you follow this rule of thumb, it's easy to rollback wrong decisions.
First, focus on open source projects that you use and well familiar with. Second, look for issues labeled with "good first issue". Usually, these issues will help you onboard and learn the codebase.
Be open-minded and constantly learn. DevOps engineers have a great responsibility and in many companies, they're the architecture leaders.
Unlike frontend engineers, DevOps engineers can't proudly show their projects. My advice is to write blogs and contribute to open source projects.
Hey Ido Shamun Really like daily.dev, I have been using it for about two weeks now. I am really curious and would love to know how did the product come out, the initial stages, before launching it to the public, everything from development/ideation/monetary situations (if any) how did all of these go. Would really appreciate if you could make some time for this :) Thank you
Hi Girish Patil,
Glad to host you here. Two weeks is exactly the amount of time it took us to launch! We went down the quick and dirty path just to share it with the world. We didn't think about monetization, we didn't crystalize the idea. For a long time, I had a few Slack channels with tons of RSS feeds. At some point, we thought "wouldn't it be great to have a tool exactly for this?". We proceeded with building a prototype and launched it immediately. From there we navigated mainly by listening to our users. This is the only thing we cared about.
Thank you Ido Shamun for taking time out to do this. Talking about open source and scaling your architecture.
What should developers consider when it is time to scale, and what are some design decisions we should be making at the beginning, so we can scale effectively.
Secondly, what tips can you give to help developers get people interested in contributing to their open source project?
Hey Omotola Shogunle,
Thanks for dedicating your time 🙏
The best tip about scalability is don't over-engineer. It's super hard to scale an over-engineered system. Keep everything simple. The second tip is monitoring. You will never know it's time to scale if you don't monitor. Set up proper alerting and dashboards to understand when your system misbehaves. Start changing the architecture slowly when you see that it cannot serve your users well. Don't do premature decisions, they will not help you and might stall you. Message queues such as Redis, Google Pub/Sub, Kafka, Rabbit MQ are the best design pattern for handling scalability I think. Use them wisely and they will be your best friend.
Spread your word. Be active on Twitter, write blogs, make your repo accessible to others by documenting everything. The repo should be inviting and help new devs get on board and contribute. You have to embrace the Developers Relation domain
I have gone through your Data scraping post and it was knowledgeable. Thank you for that.
Need your expert suggestion, We are a young team and working on a JOb portal platform in Bootstrap 4 & NodeJS & MongoDB. We are using python too for few services.
We want to scrap the company career pages and present on our platform like indeed & other platform does. For that first, we are generating the sitemap and crawl the career pages.
Oour approach is, generate the sitemap for website => crawl the links => scrap the jobs
are we doing it right? Any suggestions to our approach?