13
54 Comments

I want to learn to code, how do I start?

Hi there!

I'm a marketing guy with a lot of experience but now I do want to learn how to code so I can build nice SaaS solutions are you do.

So, my question is: how do I start? Which language should I start to learn?

Thanks a lot!!

posted to
Learning to Code
on January 23, 2022
  1. 1

    To begin learning to code for SaaS solutions, start with languages like Python or JavaScript. They offer versatility, robust libraries, and resources for beginners. Waste Disposal is inherent in these language.

  2. 8

    Probably everyone will suggest what they are more familiar with. So I'll start.

    You can do anything in any language but I'd go with either python or javascript. Preferable python is way easier as a beginning language, when you grasp the fundamentals, it's transferable to any other language.

    Beyond that or before that, you gonna need to have an understanding on HTML and also a bit of CSS.

    1. 2

      Thanks a lot! JavaScript was the Top1 on my list :)) I have to search more about Phyton so I can choose 1 to start with.

      1. 3

        Yeah, I mentioned but forgot to explain the javascript part.

        It's also almost a requirement for web development. Now since javascript can be used everywhere, front-end or back-end. You can get away with only one language to build anything. But of course it brings more complication to the equation.

        For javascript, if you enjoy following video tutorials. This could be a good starting point. https://www.youtube.com/watch?v=iWOYAxlnaww

        1. 1

          Wow, thanks a lot, I'm going to watch it as soon as I can :)

    2. 1

      +1 to Python! Definitely the most beginner-friendly language out there.

  3. 4

    If you want to focus on saas, I would suggest looking at ruby & ruby on rails.

    It's the perfect framework for building saas. It's the choice for most companies in YC list

    The basic part of the service can be done very quickly. Check out the video at rubyonrails.org

    With the ready-made template jumpstartrails.com you can make the basic for your saas in a few minutes.

    1. 3

      I've tried Python/C#, etc. Only after trying Ruby I fell in love with programming and did it consistently for 5+ years.

    2. 1

      Absolutely agree. I came from JS and Ruby and especially Rails is so much better for bootstrapping and fast project than any of the frameworks we have in JS world.
      Also, Ruby is beautiful.

  4. 4

    If you're learning to code for the sake of pumping out a product I would say Javascript but to actually be a programmer I'd say start off with the traditional route of C.

    1. 2

      That's 100% correct in my view. Python/Javascript being dynamically typed don't teach fundamentals of computing - much is abstracted. Learning a systems language such as C (or maybe Rust) teaches you about data types, memory allocation and layout (i.e. stack, heap, static, code), garbage collection and general computer architecture if wish (i.e. C has a clear mapping to x86)

  5. 3

    I would agree on JavaScript. You can then expand to TypeScript to begin grasping data types and all that fun, but then you would have to start thinking about what you're willing to devote your time to and its purpose. If you just want something that works, use node.js and forget the rest. Keep in mind that JavaScript still sucks to set-up sometimes, especially if you want to do ANYTHING unconventional, which is what most new and innovative ideas are.

    If you want to know why you should or shouldn't learn anything else, then continue.

    C is great if you want to focus on embedded systems and you love working with circuits, like with arduino, but it's mostly pointless if you imagine yourself working for a web application company (even one you own and run yourself). Foxconn uses C. ...Samsung uses C. ...Maybe Fiserv uses C. Do you want to code ATM's, television sets, and car electronics? ...Then go for it! ...Otherwise you're wasting your time.

    You want to make video games (ick!)? ...Then you must not like money that much. Go ahead and learn C++ for Unreal or C# for Unity. It might make a good hobby or 2nd career your former classmates will think sounds kinda cool.

    ...But if your dream is to build your own SaaS and make tons of money and you wouldn't mind coding for a company in the mean time to learn about how such companies function, and you want a highly performant language, then you're looking at C#. You'll want to learn .Net Core. Remember, you want a language that's used for what you're trying to do already so there's plenty of resources. Java costs a bit more, but is popular on the coasts. I don't think it's as performant though without some good experience.

    Python is fine. You might not need anything else other than Python and JavaScript, but Python can cost more and is less performant, but if you're doing something relatively simple then no problem.

    Ruby on Rails in slowly dying. ..Slooooowly, but it's on its way. It has little relation to any other language and you'll STILL need to learn JavaScript. It's a lovely little language, but don't bother.

    Personally, I'm thinking about developing something with a .net core backend, Angular frontend with ngrx and Tailwindcss, messaging with Apache Pulsar, and Elasticsearch. ...But I do this for a living anyway. It pays well.

    Are you a marketing guy? ...Then stick to JavaScript completely, unless you're open to a career change into code.

    1. 1

      Wow, thanks a lot for this, it's really a thing :)

      I think I'm definitely try to learn JavaScript, it seems it's the most appropriate for me.

  6. 3

    I wrote a popular LinkedIn article a few years ago that has a bunch of foundational concepts regarding learning programming and free resources (and compilations of free resources)! You might find it helpful.

    The TLDR is that it's important to learn fundamental programming concepts (like variables and functions) rather than focusing too specifically on a particular language. You can try a few resources and see which one teaches the concepts in the most intuitive way for you. It's pretty easy to switch programming languages once you know the basics, and basically all programmers know more than one. That being said, some languages are generally considered more intuitive than others for new learners. IMO Python is almost like plain English and thus highly intuitive, making it a good choice for a starting language. I find Javascript a bit more confusing and this aligns with the experiences of other people that I know. Python and Javascript are solid choices for general-purpose programming languages to learn that can be used in many ways.

    I tried a few things to get started, but what was really got me started was when I took a programming course designed for people with no programming background at my college. The course which started with using a visual programming language called Snap! inspired by MIT's Scratch (which, despite its appearance, can teach all of the foundational concepts effectively) and transitioned into Python. Having a solid grasp of the concepts was really helpful in learning more programming languages in the future. I found the precommitment of a graded course valuable (I think losing motivation is an issue for many MOOCs, paying for a course might help with commitment for some people). In case readers are interested in the specific course I took, I took CS 10, which is available online for free. I know several non-students that have used UC Berkeley's free online releases of its classes to learn various things. You can adjust the sp22 in the link (Spring 2022) to fa21 (Fall 2021) to see an entire semester's worth of content for CS10.

    1. 2

      Thanks a lot!

      I'm going to read that LinkedIn article, I'm sure it's going to help me a lot :))

  7. 3

    It depends on your goals honestly. For SaaS any language will do but i suggest javascript first as it is the main language of programming.

    1. 1

      Thanks for your comment!
      I totally agree with you, and it seems JavaScript it's taking a lot of votes here!

  8. 3

    Do you want to be a tech founder? If not then look into nocode tools like Bubble.

    However learning a little coding can be very helpful

    Learn a little HTML, CSS and JS using https://scrimba.com/

    1. 1

      I know this no code tools exists and they are good, but you know, +10 years wanting to learn some about coding and no time for it until now, I think I have to take my chance with that.
      Thanks for Scrimba, I didn't know about it :)

      1. 3

        Nice!

        I recommend learning JS -> React -> Typescript (less chance of making mistakes with your code) -> Node (Fastify) - Supabase (SQL) you will be a beast.

        1. 1

          imo thats way too many layers of abstraction and libraries for someone who is just learning to code. I would recommend HTML+CSS + Vanilla JS as a start. Thats a lot to chew already.

          1. 1

            People learn differently.

            When i started I wanted a full roadmap and estimations.

            I did some HTML many years before that and it was useless as I had no direction.

        2. 1

          Thanks a lot, I think I have for the entire 2022 with this :P

  9. 2

    I have a video where I put my experience as a self-taught software engineer and the guy who builds projects. I hope it might be helpful for you: https://youtu.be/SrnbOQ1hQRk.

  10. 2

    Ruby and Python are good to start with. Javascript is a nice yet arcane language that looks simple and forgiving but is dangerous.

  11. 2

    As a marketer with programming interest too (my case), I find very interesting the no-code movement as a "maybe fast and easy" alternative to code programming.

    There are a lot of tools / docs / courses there, but if you want to develop a complete App / Saas / Website probably the most interesting for now is Bubble > https://bubble.io/

    Learning curve is a bit hard, but if you have some foundations about how code works, and dedicate some time, you could be developing after a few weeks of learning and practice, and get functional results in weeks.

    1. 1

      Hi there! Thanks a lot for your response, it's a thing :)

      Have something to ask you, it's possible to transform Bubble into a mobile app?

      Thanks!

      1. 2

        I think no as a "native" way, but Bubble community is very active and give a lot of solutions, tips and plugins for it. E.g. this thread > https://forum.bubble.io/t/10-min-to-build-a-free-native-ios-android-app-2021/60923

        If you're looking for mobile app, there are other no code tools such us Glide or Adalo (and a few more, depending on your idea).

        1. 1

          Thanks a lot! I didn't know about Adelo or Glide and they are a thing, definitely!

  12. 2

    I studied computer science and am a software engineer right now. We learned Java as a first programming language and it helped me a lot to understand some types of paradigms. But I wouldn’t recommend it anymore not because it isn’t used (still a lot of job positions require Java) but at least for my taste it is overhead for IH projects. Even C or C++ is nothing I would recommend you. I used both during my studies but they can become more complicated when it comes to low level operations (memory allocation, heap, …). As long as you are not indie hacking robots or circuit units I wouldn’t learn them (even when they are as good as Java to dive into the world of programming). I would recommend Python or JavaScript. I myself can use both but I use JavaScript for both frontend and backend. But I must admit that JavaScript has some concepts which can be confusing. If you are completely new into this world I would suggest to learn Python. It is very self explanatory and you can write backends with it. Later you can still learn JavaScript to write your front end part. The advantage of Python is that you can use it for so many use cases. I have scripts to setup my cloud infrastructures and they are written in Python. You can use Python for everyday routines and even when some of these use cases can also be done in JavaScript, Python looks way more readable.

    1. 2

      Thanks! I do appreciate that, you're helping me a lot :))

  13. 2

    I tried learning to code for 3 years. The three languages I have tried learning are (from most recent) Javascript, Ruby, and Python. I just could not understand it, spent 1 year on each language, and even followed tutorials on Youtube for building different projects.

    I just could not understand any of them, and yet I can use HTML and CSS with no issues. I know they are not in the same league, but still, I would have thought I would of at the very least grasp the basics.

  14. 2

    EdX / Harvard CS50 was a great intro to coding for me, but I also took many online courses from Udacity etc to build a portfolio of progressively more complex applications to build my skills.

  15. 2

    Just think up a small project and start building — learn it piece by piece, as needed. Learning by doing is what works best for me!

    1. 1

      Of course, I totally agree :)

  16. 2

    Good question, and the best answer is of course: it depends...

    I think for many people, it is easy to start with JavaScript. There is so much on the web if starting with JavaScript. Maybe take a look at https://www.freecodecamp.org/
    Good thing with JavaScript is that it can be used in backend (I am not a fan of JavaScript in backend, but that is only my opinion) and it can be used to write web apps.

    You could also start with python. It was formerly designed to teach people programming. I really like Python since I stopped using Java a few years ago, but I mostly write backend stuff.

    Maybe you should also take a look at NoCode Stuff. Might be easier to start with these platforms. There is also a 100DaysOfNoCode challenge where you receive an email each day with some small bits to learn. https://www.100daysofnocode.com/

    1. 1

      Thanks a lot, @Niecke, I'm definitely try 100 days of no code :)

  17. 2

    My web dev route was: HTML -> CSS -> Javascript -> PHP -> Angular (a JS framework)

    Alongside, PHP came python, java, node, C++, jquery,,, other cool 💩💩💩

    Starting with HTML gets you to quickly "see" your efforts materializing. My starting point was at w3schools, but possibly there are better options out there today.

  18. 2

    I’d say learn React + TypeScript. React is the most popular framework in the JS ecosystem (it has plenty of community docs), and TypeScript is how you should write JavaScript (every line of code is validated in your editor). I also think languages/frameworks don’t matter, just pick one and start your project, you’ll quickly learn in either of them.

  19. 2

    I’m going to go against the grain here and say it does actually matter what language you use and that language, given your situation and goals, should probably be JavaScript.

    If you want to build SaaS products, you’re likely not going to be able to avoid JavaScript on the front end anyways. So, if you want to get started building products, it doesn’t make a lot of sense to learn a different language for backend development when you can just use JavaScript. You’ll also need HTML and CSS, like @Rusted mentioned.

    1. 1

      Fantastic, it seems JavaScript should be the one.
      Thanks a lot, @mathew_, really :))

  20. 2

    It doesn’t hugely matter what language you learn, more that you keep at it consistently and use a variety of solid learning resources. If you want to get up an running quickly with web dev stuff, Rails is a popular choice. Likewise, JavaScript is always a good bet. I recommend The Odin Project as a great starting point for both. Good luck!

    1. 3

      The Odin project looks so great! This post was worth reading just for this comment.

    2. 2

      Hi there!
      I'm going to learn more about The Odin Project, I don't know about it at all.
      Thanks a lot!!

    3. 1

      I might have a slightly different opinion - it matters a lot which languages you learn first. For e.g. if you're stuck in C++ and you want to develop web applications, that might not be a great start. You'll get there but the route will be longer.

  21. 1

    Depends on what you want to do, for actual software solutions you will need several languages and several years of experience before you can actually build one. You are practically going into a software developer career, for that case and the best possible starting point you need C# and the .NET framework, then some SQL and Typescript, may be Flutter if you move into mobile app development (that at list is the situation in 20222).
    Do not in any case start with Python, Ruby or JavaScript (or frameworks like React or Angular), you will mess up you professional carrier for years, those languages are good 6th or 7th one to learn in a afternoon when you are bored or when in your professional career inevitably end up fixing someone else's mess.

    for gathering general experience and building small web staff you can use whatever, it is practically irrelevant, it also possible to make you think you can actually build software.

    You can also start with a "no code" solution, this is the best way someone without experience to actually build something usable in just few months without spending the time to become a software developer first.

Trending on Indie Hackers
I've built a 2300$ a month SaaS out of a simple problem. 19 comments 🔥 Roast My Landing Page 12 comments Where can I buy newsletter ad promos? 9 comments Key takeaways growing MRR from $6.5k to $20k for my design studio 6 comments How would you monetize my project colorsandfonts? 5 comments YouTube? How to start 5 comments