Want a Successful Software Startup? Here's What to Do in the First Month

Поділитися
Вставка
  • Опубліковано 21 жов 2024
  • How best to start something new? A Software Startup is the epitome of starting something new, we don’t really know what to build or how best to build it. In fact at the beginning of any software development, but especially a tech startup, we always know the least that we will ever know. So the best chance of achieving success in building your startup is to assume that your guesses are probably wrong and figure out how to detect where they are wrong and how to fix the problems when you find them.
    In this episode author of best sellers “Continuous Delivery” and “Modern Software Engineering”, software engineer, and survivor of several startups, some highly successful, some not, explores how to start a startup. What should you be aiming to achieve in the first month in order to give yourself a better chance of success.
    -
    ⭐ PATREON:
    Join the Continuous Delivery community and access extra perks & content! ➡️ bit.ly/Continu...
    🎥 Join Us On TikTok ➡️ / modern.s.engineering
    -
    CHANNEL SPONSORS:
    Equal Experts is a product software development consultancy with a network of over 1,000 experienced technology consultants globally. They increase the pace of innovation by using modern software engineering practices that embrace Continuous Delivery, Security, and Operability from the outset ➡️ bit.ly/3ASy8n0
    TransFICC provides low-latency connectivity, automated trading workflows and e-trading systems for Fixed Income and Derivatives. TransFICC resolves the issue of market fragmentation by providing banks and asset managers with a unified low-latency, robust and scalable API, which provides connectivity to multiple trading venues while supporting numerous complex workflows across asset classes such as Rates and Credit Bonds, Repos, Mortgage-Backed Securities and Interest Rate Swaps ➡️ transficc.com
    Tuple is a remote ensemble and pair programming app for macOS and Windows, designed to make you feel like you're collaborating in person. It’s got loads of developer-specific touches you just don’t see with generic screen-sharing tools. Check out Tuple HERE ➡️ tuple.app/cd
    Honeycomb is the observability platform that enables engineering teams to find and solve problems they couldn’t before. Query everything at once, fast enough to keep your train of thought, and connect your whole system and your teams ➡️ bit.ly/CDHC
    -
    👕 T-SHIRTS:
    A fan of the T-shirts I wear in my videos? Grab your own, at reduced prices EXCLUSIVE TO CONTINUOUS DELIVERY FOLLOWERS! Get money off the already reasonably priced t-shirts!
    🔗 Check out their collection HERE: ➡️ bit.ly/3Uby9iA
    🚨 DON'T FORGET TO USE THIS DISCOUNT CODE: ContinuousDelivery
    -
    BOOKS:
    📖 Dave’s NEW BOOK "Modern Software Engineering" is available as paperback, or kindle here ➡️ amzn.to/3DwdwT3
    and NOW as an AUDIOBOOK available on iTunes, Amazon and Audible.
    📖 The original, award-winning "Continuous Delivery" book by Dave Farley and Jez Humble ➡️ amzn.to/2WxRYmx
    📖 "Continuous Delivery Pipelines" by Dave Farley
    Paperback ➡️ amzn.to/3gIULlA
    ebook version ➡️ leanpub.com/cd...
    NOTE: If you click on one of the Amazon Affiliate links and buy the book, Continuous Delivery Ltd. will get a small fee for the recommendation with NO increase in cost to you.
    -
    🔗 LINKS:
    "Startup Failure Rate" ➡️ explodingtopic...
    “LMAX - Technology” ➡️ www.lmax.com/t...
    “LMAX Architecture” by Martin Fowler ➡️ martinfowler.c...
    "How Hardware Affects Software" ➡️ • How Fast is Your Compu...
    "Expert Architecture Design Tips" ➡️ • Software Architecture ...
    "Software Architecture - What You Need to Know" ➡️ • What Software Architec...
    "What Does 'Good' Look Like?" ➡️ • How To Test Software P...
    "Event Driven Architecture EXPLAINED in 15 Minutes" ➡️ • Event Driven Architect...
    "Synchronous vs Asynchronous Programming" ➡️ • Synchronous vs Asynchr...
    "How to Start a New Software Project" ➡️ • How to Start a New Sof...
    "What Are Reactive Systems?" ➡️ • What Are Reactive Syst...
    -
    #developer #startup #startupideas #startuplife

КОМЕНТАРІ • 19

  • @1foxmark
    @1foxmark 4 дні тому +4

    As always - pure gold! Thank you for sharing. I would like to see more episodes like this - a real life problem and real life solutions and approach. 🙏

  • @larsh8560
    @larsh8560 5 днів тому +31

    Month 1: Debating furiously whether to use K8s or not 😂

    • @manuelcop
      @manuelcop 5 днів тому

      Kubernetes works well only if is transparent to the developers

    • @fluffysheap
      @fluffysheap 5 днів тому +1

      You need to run a virtual cloud server, with a kubernetes container, with a docker container, which runs a Java VM, in which you run a Jython interpreter.
      The software environment should be virtual at all levels.

    • @Alephu5
      @Alephu5 5 днів тому +1

      Might as well start with docker compose for your first lines of code. If you ever need to migrate to k8s in the future it will be far less work than the cost of dragging deployment complexity through the first iterations.

    • @Rbx44
      @Rbx44 5 днів тому +1

      @@manuelcop Hypothetically speaking, yes, but I don't believe this is a realistic scenario.

    • @Rbx44
      @Rbx44 5 днів тому +1

      Emphasis on "furiously". 😂

  • @actorenEU
    @actorenEU 15 годин тому

    Great explanation.
    This is indeed the only way to create advanced software that really works

  • @nexovec
    @nexovec 5 днів тому +9

    I think that if the 1st month isn't you alone or with like 2 other people experimenting via code in the basement somewhere, you're doing something wrong. Time to market is extremely important unless said otherwise. So is your own experience with your product and a clear vision. So is getting the architecture at least partially right. And you can't really do either of those things, unless you do a deep dive into what it is you want to be doing to get at least a bit of experience(with the tech, with the domain knowledge, with the problem statement, with the market).
    I wrote this blind before watching, wonder if I'll get beaten with a stick now.

    • @nexovec
      @nexovec 5 днів тому

      Good to hear that's mostly the same thing. I wouldn't introduce any indirection at first if you don't have to, though. It just complicates the program, you can just swap the implementations inline. Unless you're doing something really sophisticated(like when you have to rely on polymorphism to do the program logic), you don't need to use interfaces right from the get go.

  • @brandonpearman9218
    @brandonpearman9218 5 днів тому +7

    This is VERY idealistic. I would say the most important thing is to know when to cut corners and when not to. This means you need to understand the purpose, and not just cargo cult. eg a full pipeline and with full test suite may not make sense. CICD is good if you have a larger team that is working on the same code base, if you have a small team or they are working on different codebases then this is not as important. So build out the pipeline later... probably not a month 1 task. Test whats critical/central and skip the rest... you can add to it later... probably not a month 1 task.

  • @trignals
    @trignals 5 днів тому +1

    This is great material.
    Identifying the types of decisions that are worth exploring. Low investment offshoots. Then making choices that increase clarity without creating artificial restrictions. All on repeat. The former construction architect in me definitely recognizes the preliminary design process!

  • @lewissheridan
    @lewissheridan 4 дні тому +1

    Great video; thank you.

  • @KulaGGin
    @KulaGGin День тому

    Actually starting a green new project. It's a 2D/3D(2D sprites but in a 3D world) sprite video game on Unity engine(C#). I'll try to apply TDD in it. I apply TDD in my personal projects but I can't do it in video games(not exactly). I'm currently finishing another game in Unreal in C++ and it's very hard to do TDD in it: the docs on how to do it don't exist and I do need the world running to realistically test anything other than pure library code. And even then most library code for the things I need requires the running world.

  • @Dorgrin
    @Dorgrin 5 днів тому

    Nice, thank you

  • @Cdaprod
    @Cdaprod 3 дні тому

    I bet he doesn’t say fire your only senior engineer

  • @jakubstiburek8316
    @jakubstiburek8316 5 днів тому

    Great video. Thanks.