Live data from Hacker News

Ask HN: Technical skills helpful for building a startup today

news.ycombinator.com

21–30 of 56 posts

Re: Ask HN: Technical skills helpful for building a startup today

#21
Learn about building a company, product market fit etc. and start using no-code or low-code tools. Get traction, then get really good at finding a tech co-founder.

I think it's probably easier to find a good tech co-founder nowadays than spending 50+ hours a week learning how to code. There are so many ways a startup can fall apart even if you know how to code!

(I'm a tech co-founder, and for better or worse, I spend more time building relationships, sending emails and business models and planning than writing code)

Re: Ask HN: Technical skills helpful for building a startup today

#22
Rambling while I drink my coffee:

Tech stack: React + Nextjs (react-query, graphql-generate, typescript), Django (admin panel, celery for background tasks, channels, graphql), Postgres, Redis (for celery and websockets). Postgres in RDS with auto rotating secrets. Deploy as a Django as a Docker image on AWS. Access keys from Secrets Manager at runtime (this is your pre EKS setup). Deploy frontend app on Vercel. Use Stripes newest payments system for billings. Deploy everything via GitHub actions PRs and use Actions, including the new code and dependency checks.

Bam you’ve got a frontend with a busting cache, websockets for automatic updates, ability to do server side rendering, and all the content management systems from the Django admin panel you would have setup by hand with Express/Flask. You can choose to use any method of auth that Django provides or go with Auth0.

Using graphql-generate and Django Graphene you can auto generate your typescript SDK on your frontend. All you have to worry about now is your view code and your models structure.

Using celery and celery-beat will allow you to do long running or scheduled tasks. Connect it with Django channels and push updates from a celery worker to the frontend.

GitHub will keep it up to date and check for security errors with automatic pull requests.

Expansions on this architecture include: - switching to EKS (useful especially for secrets and scale) - Infra as code via Pulumi to switch to any K8s provider - Using RabbitMQ for more robust messages passing over simple Redis queue

Re: Ask HN: Technical skills helpful for building a startup today

#23
I'd take a look at https://cushionapp.com/blog and https://cushionapp.com/running-costs/. He's posted on here a couple of times and has a setup that is very similar to what I'd roll with if I was going to bootstrap an app: React, Rails, and Heroku. People on here like to hate on the React ecosystem, but it's pretty straightforward if you stay on the paved path of create-react-app, react-router, redux-toolkit, and material-ui.

Re: Ask HN: Technical skills helpful for building a startup today

#24
I would encourage you to put the idea of building a startup aside and just learn / have fun building things with no business utility first.

1. It sounds like you're already really curious so you've got your number one skill taken care of. If you're looking for a curriculum, start with something you're interested in and find the fastest, tightest feedback loop. Basically you want to be able to make something that activates all the reward centres in your brain or build it in small increments so you stay engaged. That might be learning how to write 3d graphics, build a website, basic javascript, etc. Find the smallest piece and just learn that.

2. Don't worry about doing everything "the right way". The whole point here is to try something, get a feeling for it, and then figure out how to make it better, how to write it differently, etc. You're going to end up realizing that one persons "best practices" are better than other peoples "best practices" and where you can make trade-offs (no1 skill imo)

3. As far as things to learn, that list is never ending. Just learn whatever you need to accomplish your goal.

Re: Ask HN: Technical skills helpful for building a startup today

#25

I would strongly encourage you not to dive into learning React or AWS. Both are very good to learn about if your goal is to become an employee at a tech company, but not so much for a solo founder. React itself is fine and relatively straight-forward, but its ecosystem is massive and there are many competing options for several accompanying libraries. AWS includes a powerful array of services, but it's considerably m…

Disagree on AWS. It's not that hard, and if you're gonna spend any amount of time figuring some vendor locked cloud system (which they all are), AWS is the best bet. And you obviously need to be careful with using every service that company throws at you, but barring that they provide the most solid reliable suite of services you can hope for so you spend more time on logic and business after some initial time invest…

No AWS _is_ hard. It's hard. They're all hard. They require tons and tons of knowledge before understanding what to look at, how to use it, when to use it, etc. Everyone who thinks these systems are simple completely take for granted the years and years of knowledge they've acquired. Even in the form of shared vocabulary, AWS is insane. IAM is a whole other nightmare of complexity that is insanely powerful, but I wouldn't dare point anyone in that direction if they were just starting out.

Re: Ask HN: Technical skills helpful for building a startup today

#26
post #14

If you actually want generalist web dev skills applicable to almost any web startup, learn Rails. There are tons of resources, and the Rails 1st party docs are a good starting point. Rails will set you up to learn SQL modeling, MVC pattern, CRUD basics, api design, etc without putting you into library selection paralysis which happens quite a bit in the JavaScript ecosystem, and you can replicate the architecture eas…

I agree with this - I did udacity's original cs101 (http://www.cs.virginia.edu/~evans/cs101/), then cs253 on web apps, taught by Steve huffman, the co-founder of reddit. Then when my co-founder and I decided to work on our first startup, we decided Rails was the best option for noobs like us, and it probably took us just a few weeks to learn the basics of rails because we'd already completed cs253, I think it might have been harder if we had tried to learn it straight away. But rails was enough for us to build a telemedicine web app, and it wasn't until around 6 months later when our view was starting to turn into a mass of jQuery spaghetti that we started to learn and apply react. jQuery is great for doing simple user interactions in the browser, but as you try and build more complicated functionality, react is a much better tool for the job.

I agree about staying away from mobile to start with if at all possible at the beginning.

No rush, but sometime after or while learning rails, definitely take a look at the book "beginning database design" by Claire Churcher. It's the best book I've ever seen to learn how to design your database schema for a sql database. But you don't need it until you've at least made a few web applications, and like my experience with react, the best time is when you are trying to figure out what format to store all your data, and finding it too complex - that book gives you a great way of thinking about the problem that simplifies things greatly.

Re: Ask HN: Technical skills helpful for building a startup today

#27

I would strongly encourage you not to dive into learning React or AWS. Both are very good to learn about if your goal is to become an employee at a tech company, but not so much for a solo founder. React itself is fine and relatively straight-forward, but its ecosystem is massive and there are many competing options for several accompanying libraries. AWS includes a powerful array of services, but it's considerably m…

Strong disagree on not learning AWS (or another cloud provider). I was partial to AWS even before I worked for them, but chances are you're going to run your startup in the cloud. For that, you should know at least the basics of the cloud you're going to use.

I'm not saying learn CloudFormation, CodeDeploy, or any of the hardcore DevOps stuff you'll be interested in once you start to scale.

But you need to know how security works (i.e. IAM), how to build networking infrastructure (i.e. VPC), how to deploy servers and databases (i.e. EC2 and RDS/DynamoDB). And, of course, how to do things cost-effectively.

If you don't take the time to learn the cloud, you're going to be stuck when it's time to push your project into production. So you're going to need to:

1.) Hire a cloud architect. This isn't cheap nor is it a good solution. If you ever part ways with your cloud architect, you're going to be starting step one all over again. Except now you have to learn how the cloud works and how your environment was architected. And that's assuming your architect doesn't maliciously make a mess of things on the way out (which happens -- A LOT).

2.) Open a support ticket for every little issue you run across. This can easily become a blocker with deployment. Not to mention you're likely going to have a developer support plan. Which means you get email-only support and the replying support engineer may not even be in your timezone.

So not only do you have to deal with the inefficiency of back-and-forth email conversations, you may have to deal with the time lag based on the engineer who works on your case.

Re: Ask HN: Technical skills helpful for building a startup today

#28
Others have mentioned it depends on what problem you are trying to solve, but it also depends on your past experience and what you are already bringing to the table. E.g. If you are a recent high school grad, more CS fundamentals might be valuable. If you have experience from another industry, maybe you want to focus more on what the technologies you are considering will unlock in that industry, and look to a co-founder for some of the nitty gritty tech details. Where are you starting from?

Re: Ask HN: Technical skills helpful for building a startup today

#29
Learn Excel (Strongly Advised), Python for CRUD stuff, SQL for analytics (MySQL, Postgre, SQLite & DuckDB), Sysadmin Skills for basic VPSs (bash scripts included).

All of this is considered somewhat simple for seasoned technologists, but still takes a lot to be decent. If you grow you'll hire someone else so unless you're willing to spend 5+ years only to produce decent code, I'll say this is sufficient.

Re: Ask HN: Technical skills helpful for building a startup today

#30
Use glitch.me to build a personal website which will teach yourself how to code and will teach you not only the basics but also what is involved in basic web development. Focus on HTML and CSS.

Mobile apps have a higher barrier to entry and you should focus making your personal website responsive so that you can design for screens.

Add a blog to your personal website and when you have to learn something first learn it and then write it down. Learn JavaScript at this point to automate the creation of blog posts.

Once you believe you know enough to make a project that you can do make a prototype on https://glitch.me and move to the paid tier. Then name the project and buy a domain from google / AWS . Then learn about authentication.

Post reply on HN