7 things I wish I knew when I started my company

Ahmed Saleh
12 replies
1. The biggest mistake is bad hires. The second biggest mistake is not firing them fast enough. 2. Build code ready for scale. Scaling will bite you in the back real hard. Costs will add up fast, and re-organizing code will be a pain. 3. Absolutely no bugs allowed. Bugs are horrible and are the fastest way to drive users away from your product. 4. Never build using technology that's not popular. It's hard to maintain, and even harder to find developers who can work with the technology. 5. Build SEO from day one. It's a long game. And you'll need it. 6. A great design makes a huge difference. Some customers told me they stuck with us through the times just for a good UX. 7. Patience is key. Patience through all the hard times, ups, and downs is required in abundance throughout the journey. Good luck hackers. I write about my journey creating https://classtra.org

Replies

Paul VanZandt
These are great tips Ahmed. I really had to learn about bad hires the hard way, and you can't waste time cycling these people out. Especially as this is my first company, I felt a lot of guilt around the hiring and firing cycle, but as you learn, it's just business.
Ahmed Saleh
@paul_vanzandt you are right Paul. I think the guilt and what you’re feeling is not a bad thing. In the end you don’t want a culture of high turnover either. But be selective in your hiring.
Paul VanZandt
@ahmedsaleh I completely agree. It's all about learning how to spot the right traits in the hiring process to avoid turnover as much as you can.
Sawyer Andrews
Design is really good and professional.. But how do you feel about dot.org tld, is it good for commercial? Can't find many org's in the $ fields.
Ahmed Saleh
@zenull_ You know, it didn't make that much of a difference to be honest. But it does play in better rankings in SEO, so I would definitely recommend it. But when we started, the cost of acquiring it was so high, now things are rolling without the .com 😅
Dominik Keller
Couldn't agree more with points 2 and 4. A few years ago, a developer wrote an article titled "Why I choose boring technologies", in which he described we he chooses a plain vanilla MySQL database for almost every project he starts on. Why MySQL? It's tried and tested, has been around forever, great community support, easy-to-find skills in the job market, and supports even the largest online applications.
Ahmed Saleh
@dom_five You are 💯 on this. This bit us in the back so hard. We chose a new framework for our backend when we started thinking we already know how to work with this, we just want to test the waters and find product market fit. Then things got real very quickly. The framework had many many issues that only surfaced under the high demand and we had to rewrite all the core pieces in good ole Node js. To this day, we're still migrating the stupid framework and I'm stuck doing it coz there are no developers who know how to (or want to) work with novel framework :(
NotesbyHugh
I like #5! Too often (myself included) we hinder ourselves by only paying attention to SEO later in the game. All it takes is consistently optimising from day one (not that hard) and you'll reap the rewards much earlier.
Ahmed Saleh
@hugh_dawkins couldn't agree more! Little time, large returns on SEO
Anna Mandziuk 🇺🇦
Awesome insights! And I 100% agree with the 6th point. I was recently choosing between a few tools I needed for work and chose the one that had a better and clearer design. Others were not bad too but some features were built in a much more confusing way
Renato Franco
Thank you very much for these tips! I'm pretty close to launching my first product and I'm learning a lot from people like you. I 100% agree with those 7 points and I would just add the step of requesting and analyzing user feedback in order to build a better product.
Ahmed Saleh
@renato_franco Good luck! Definitely right on user feedback. Careful tho, listen to users, but don't always do what they ask (or exactly how they want things), sometimes, you'll learn something that they need more than they themselves know about it.