May 15, 2019

Some reasons why indie entrepreneurs should learn how to code

Basile Samel @basilesamel

The No-Code movement is on the rise and I wanted to explain the huge benefits I see in learning how to code.

It's more sustainable long-term.

  1. It's cheap.
  2. Loose-coupling favors creative freedom.
  3. Sharing and contributing are part of programming and building your personal brand/network.
  4. Programming is a set of highly marketable skills.
  5. Code boilerplates are incredible productivity boosts.

  1. 8

    One thing I see when people talk about learning to code, it feels like it's binary — you either know how to code (everything?) or not.

    I'm a fan of learning how to do just enough code to be able to launch MVPs and get things going. You don't have to become a software engineer. I launched my first startup MVP after six weeks of learning Python/Django on nights/weekends. :

    Everyone should know the basics.

    1. 5

      I agree and think that your point goes further than you might realize. I think that coding is always about learning just enough to do whatever you need to do, no matter how long you've been coding or how advanced your project is.

      This means that non-coders don't need to feel overwhelmed by all the things that they could learn as a coder, they simply need to commit to building a small project and, therefore, to learning the minimum amount needed to build it.

      If you keep doing this for long enough (committing to learn enough to start and extend projects), you will build your skills and confidence until (one day) you realize that you can learn anything you need to build anything you want.

      That's when you become a coder.

    2. 3

      I agree. In my previous life as a founder of a brick and mortar business, I got a lot out of getting good with Excel and short Ruby scripts. Later, I got handy with WordPress and basic CSS, which opened up another world of possibilities, despite just being a power user and not a "programmer".

      Over the years, I've steadily moved into more and more technical topics, but there was a huge ROI just from Excel and 10 line scripts to automate certain things in my business.

    3. 3

      Absolutely, Python and Django are easier to learn thought compared to other alternatives like Node.js

      Do you have any resources to recommend for learning Python and Django? (I do know some basic stuff about Python thought).

      1. 2

        Well, huge disclosure — I'm such a fan of Django that I wrote a couple books on it myself:

        Basically, I was recommended Django way back in the day as a newbie programmer because of the whole nuts-and-bolts-included aspect. I learned enough to launch my startup, but hated most tutorials that covered Django, so I wrote Hello Web App to fill that need. Happy to tell more about the book and what it covers but I don't want to turn this into a big self-promoting session. :)

        Some others I recommend:

        I hope that helps! I'm pretty involved in the Django world so happy to help however I can.

        1. 1

          I am going for Flask. I am curious, in case you have experience with both, is there something which is there in Django, not in Flask OR something which you found difficult to implement in Django, but would have been easier in Flask?

          1. 2

            I am a huge fan of the bolts-included aspect of Django. I don't want to create my own admin, or registration system and set up password resets manually, or my own sitemap system, or my own session framework (I believe these things are not in Flask, but regardless, you get my point). For me, I build web apps to get a product out as fast as possible and having those things built in makes me faster. IMHO, of course. :)

            1. 1

              thanks. Just to clarify, bolts-included means that Django has Admin,password,registration system boilerplate code built in? I am 0% familiar with Django, so just wanted to clarify.

              1. 2

                Yup. This is a good overview of the built-in admin:

                Yes, you can update objects via the command line, but it's nice to have a visual component for every database item and easily update/add/delete objects.

                Django's documentation is pretty great if you want to check it out. Here's the documentation on the auth system:

                1. 1
    4. 1

      Totally agree with that! The binary thinking, most likely, comes from coders. As a coder myself, I understand their frustration/fear of having a colleague that knows how to code just enough, as you said it. Usually, the whole team suffers for his lack of skills.

      From my perspective, it depends on someone's intention: Do you want to be a founder who knows how to code? Just enough is more than enough. Learn the basics and freestyle your way around building that MVP. Nowadays google or stackoverflow rarely fails in providing the solution.

      But... if you want to become a developer, change your career, increase your salary by moving into a technical position, then you need to really know how to code. Which often takes a lot of time. More than one ever expects at the beginning of this journey.

      It's binary but based on intention.

  2. 3

    I work with a lot of Entrepreneurs that do not describe themselves as coders, yet they have learnt enough html/css and the basic git pull/commit/push workflow that they are able to fix a typo on a page themselves.
    As a founder, time is not on your side. Learn whatever skills (coding, selling, hiring, ...) is required to move faster.

    1. 1

      Right on. "Time is NOT on your side." Ill go to sleep on this.

  3. 1

    IMHO knowing how to write code is just a tool one can use in order to get something done. Mind that it is an incredibly powerful tool when used right, but still a tool.

  4. 1

    Yes I agree that if we are developing software, we should learn how to code. I have tried software that writes the code for you, and I've discovered that it adds a lot of bloat to the package. Writing your own code is streamlined and lightweight.