15
42 Comments

Learning to code

Recently I’ve decided to stop outsourcing the development of a passionate project in order to learn how to code so I can do it myself. I’m currently using Codecademy to learn Full-Stack, and I’m through HTML & CSS, working my way up to JS and react.

Are their any tips or advice that you could share? Maybe something you wish you knew, or recommend for a new coder?

My ultimate goal is to gain the necessary knowledge and skill set that is needed so I can develop my own startup MVP’s or passion projects.

  1. 4

    Once you have enough to build stuff, take a break from learning and build some stuff. Going from zero -> fullstack in one go might be hard. Going from zero -> basic front end -> a few side projects -> react -> a few more side projects -> back end -> etc. will be easier as the building of projects will consolidate older knowledge and turn it from "what did the teacher say" to "what I did the other day", which is a better form of memory.

    1. 1

      Very wise. I think you're right for my skill level. I'm determined to make it through the course, but I know I won't retain all the knowledge. It would be beneficial to take it one bite at a time.

  2. 3

    It could also be nice to have programmer friends, especially those who are experienced or interested in your language (or technology) of choice. This way, you could find real people to discuss your technical problems with aside from random answers from stack overflow. Maybe a friend that you get close or comfortable enough to review and constructively scrutinize each other's codes, appraise one another, learn from one another and support each other.

    I think having such people goes a long way in making programming a thing of joy. So be on the look out.

  3. 3

    I'll add on to what everyone said. If you aren't able to find any projects/follow them well, I'd recommend trying out open.appacademy.io and taking the free curriculum. They'll teach you everything from the foundations to full stack development and have projects for each step along the way so that you are able to implement your learnings. Very tough stuff but you'll come out better. And if you need help they have a slack community for people who've either taken the bootcamp itself or the free curriculum and they can help answer your questions! Keep getting after it.

    1. 2

      Nice! I'll have to check that out once I finish the Java Script portion of codecademy.
      Thank you!

  4. 3

    Let me share with you some personal perspectives :

    • Focus on the very basics of logic, once you master that everything will be a thousand times easier
    • Don't let all the buzzwords, trends, roadmaps and whatnot overwhelm you
    • PRACTICE x1000000000
    • And one that truly helped me, when learning from tutorials, to avoid falling into tutorial hell, build something on top of one of those projects so you have a base where to start

    Best of luck!

    1. 1

      Nice! Would you recommend a tutorial as a personal project? I always see a lot on youtube, but it's interesting to know how watching someone code can be used for personal use. It sounds like your advice for tutorials would be to take it one step further and implement my own style and taste.

  5. 3

    Biggest thing is to not be afraid to ask for help.

    A huge part of this is to not only get the help you need to progress on your app, but to become more effective in describing your problems (and understanding them) when talking to other coders/engineers.

    Also, understand that coding is a journey. I've been writing software for something like 20 years at this point and I'm learning something new everyday.

    You'll probably stumble onto problems that will be incredibly confusing (especially as your app gets more complex). It's always nice to know that you're not alone, and that someone else has run into the same issue that you've had.

    1. 1

      This has to be my favorite piece of advice. It's good knowing that this is a community that feels like a team versus everyone competing against each other.

  6. 3

    It sounds like you're on the right track with Codecademy. Learning to code is a great way to bring your ideas to life, and it can open up a lot of opportunities for you. Here are a few tips that may help you along the way:

    1. Practice, practice, practice. The best way to improve your coding skills is to actually code. As you work through Codecademy, try to apply what you've learned to build small projects of your own. This will help you solidify your knowledge and give you a chance to experiment with different approaches.

    2. Don't be afraid to ask for help. Coding can be challenging, and it's natural to get stuck or run into problems. When that happens, don't be afraid to ask for help from other coders or seek out online resources to help you understand the concepts better.

    3. Keep learning. Once you've mastered the basics of coding, it's important to continue learning and expanding your knowledge. There are always new technologies and tools emerging in the world of software development, and staying up to date can help you remain competitive and in-demand as a coder.

    4. Network with other coders. Building a network of other coders can be a great way to learn from others, share ideas, and collaborate on projects. There are many online communities and forums where you can connect with other coders, so don't be afraid to reach out and make some connections.

    5. Instead of React, I would recommend considering a framework like Next.js for your project. Next.js is a popular framework that is built on top of React, and it offers a number of benefits over using React alone. For example, Next.js is highly performant and is optimized for server-side rendering, which can improve the loading speed and search engine optimization (SEO) of your site. It also makes it easy to build server-rendered React applications with automatic code splitting, which can help improve the overall performance of your app. Overall, Next.js is a great framework to consider for your project, and it can help you build a high-quality, performant, and SEO-friendly site.

    Good luck on your coding journey!

    1. 2

      Thanks for the advice!

      I’ve noticed that practicing is key. It’s very easy to make a mistake, so my goal is to at least be able to go back and identify it.

      Any communities that you recommend?

      For code academy, I believe it makes me go through react to complete the full course, but I’ll see if I can skip it. I actually wanted my last project to be built in Next.Js because of the benefits that you listed but I thought I needed to know react to use it, so good to know that react and next are two individual frameworks! I’d definitely want to learn next js above react.

      1. 1

        I always work with a friend of mine who, being much more experienced than me, has helped me on many occasions. But there are many great online communities for developers.

        I very often find myself joining discord servers, subreddits or forums, there are many friendly communities there ready to help or be helped. I can't advise you specifically but I encourage you to do some research in case you need it.

        Also if your intent is to find connections, social is one answer, even indiehackers itself! Reply to people or ask questions, surely someone will answer you and maybe you will start connecting with developers. Good luck!

  7. 2

    The Key and Golden Rule i learned in all that years of programming (around 6+ Years) is:

    • The end User gives a shit how fine your code is or which coding language you are using, what matters is that it works
    • The product can be better then everyone elses, but that doesnt bring you users (marketing is key)
    • If there is already a maintained package (or code from someone else) that you can use to speed up development, take it and dont do it yourself
    • Every question you have or every problem had someone before you and asked it already on stackoverflow or github, just take a deep search and you always find your answer

    And the most important one:

    • just start, you can always rebuild or correct something that you coded in future but to beginn, just throw yourself in and start
    1. 1

      You’re a wise man. I like this a lot. Thank you

  8. 2

    KISS. Keep It Simple Stupid. Stay away from react at the moment until you have a good grasp of javascript fundamentals, HTML, and CSS. jeez, i would even suggest building your project with jquery because is an easier abstraction than React, Vue, Angular, etc. I didn't pick a framework until i was confident that i could make a framework myself (a shittier version nonetheless) but that meant i could understand the inner workings of it.

  9. 2

    There are a lot of good resources linked here already. I'll just add that when you get to the point where existing questions don't quite address your needs and you need to get your own answers, asking questions effectively will save you a lot of unnecessary back and forth and get you unblocked faster. Here is a good article on the topic from FreeCodeCamp: https://www.freecodecamp.org/news/how-to-ask-good-technical-questions/

    1. 2

      This is perfect! I'm sure i'll have loads of questions once I start working on my own projects lol

  10. 2

    StackOverflow+YouTube, and possibly now ChatGPT to get you boilerplate to reverse engineer. Good luck!!

    1. 1

      I'll have to learn more about ChatGPT. I've been hearing a lot about it lately.

  11. 2

    Exciting! I started coding in Swift a couple years ago. I never thought I'd be able to pick it up. It was really hard for me, and probably the 3rd time in my life I've tried to learn some kind of programming. Now I have my own journaling app that I'm trying to figure out as a business!

    The tips/advice I'll offer from my experience is

    • Have an expert (hopefully a friend) be your coach and point you in the right direction when you get stuck. It's invaluable and will save you a lot of sufferring.
    • Don't stop. Some concepts will be hard to grasp at first, but over time they will become second nature.
    • Consider the most effective way for you to learn and find a good, reliable source that explains things clearly. There are a lot of bad sources out there (or maybe just really outdated).
    • Learn by doing! No need to practice before trying to work on your project. Just work on your project!
    • Don't give up. I burnt out a lot trying to learn to code and build my app at the same time. Eventually I got over the hump. Don't burn yourself like I did, but persistence will pay off!

    I'm going to be launching on Product Hunt in January so I'd love for you to sign up to my Upcoming Page or simple check out my app www.theseasonsapp.com!

    Also happy to connect on Twitter.

    Thanks and happy coding!

    1. 2

      Also, I gave you a follow on twitter!

    2. 2

      I'm someone that always keeps some form of iPad or Journal around to dump my thoughts so your app idea is awesome! and good luck on Product Hunt. Keep me posted on your launch!

      Thanks for your advice as well. I stumbled upon tech on my own, so I can see the benefits of having someone who's already experienced a lot of the issues. I'll definitely be looking for a buddy soon

      1. 2

        Thanks man! A lot of competition, but just trying to have my own take on a journaling/notes app. I just realized I wrote both "don't stop" and "don't give up" as separate bullet points lol. Worth repeating I suppose. The coding friend is really important though. Sometimes you have to ask a lot of questions to fill in gaps of understanding and that's just not possible from watching/reading.

        1. 2

          Ha, no worries man. I'm sure you'll do great if you stick with your differentiation.

          You're exactly right

  12. 1

    I'm in the same situation too. I have a web project and I don't want to depend on the developer who created it. I've started with Udemy courses, but definitely what works best is spending hours practicing.

    I'm practicing independent things and I'm creating mini projects just to test that thing. So I see before integrating it into the real project if I have the knowledge.

    Without a doubt, practicing is the best way to learn. Of course, you have to spend many hours researching how to do X thing.

  13. 1

    Maybe consider building MVP with no-code and low-code tools as well? On top of some great advices here, becoming full-stack can be a long-term journey and there are some great web/app builders out there these days. Although most have great tutorials and communities, some tools still require basic coding/development knowledge so it may help you on the way also.

    Good luck with your journey!

  14. 1

    Hello @iksmith,

    All what you need:

    1 - Choose a track like ( full-stack or backend or AI developer or ...) choose only one and once you already choose to be a full-stack developer.
    2 - Choose only one source of learning and finished till the end.
    3 - Practice, Practice, and Practice here the game start to transform your knowledge from paper to action ( don't be sad always the first project for any developer in this world is so bad haha )
    4 - Community and networking with other developers it's very important maybe contribute to some interset open source projects.
    5 - Keep learning cuz it never ends.

    !!! If you can share your learning journey with people and the community.

    Good luck my friend keep going
    @0x9one

  15. 1

    You will get 5 different suggestions for which tutorial or framework or database or library to use. While it's important to research before picking a path, don't let it paralyze you! Pick one and run with it. Best of luck Kaleb!

  16. 1

    I started with Freecodecamp.org and then moved on to some paid courses, like colt steeles web dev course on Udemy. (been updated here recently btw)

    I use https://developer.mozilla.org/ and the framework or library’s docs when needed to find out issues. If I couldn’t figure it out from mdn or the docs then I used stackoverflow.

    Just make it fun. Practice, build, tinker around. That’s what i did and still do.

  17. 1

    For a new coder I would recommend VUE instead of React, 100%. The learning curve is a lot easier. And it offers a better separation of concerns regarding JS-HTML-CSS. For example, any VUE component is valid HTML while not the same thing can be said about React. I think this will prove helpful for a new dev, especially at the beginning.

    And from there you can easily jump to Nuxt (basically VUE for server side) if you need any server side rendering (for SEO, speed, and whatever other reasons you may have).

  18. 1

    I advise you to:

    1. Choose as easy programming language as possible and it would be great that it also would be quite popular one because popular languages has larger communities where people talk about "how to..." stuff. In both cases I would suggest you learning Python.
      1.1 Also it is also wise to know what you want to do with that programming language. In most cases Python is very suitable because you can do all of the backend with it and also it has great "frontend" frameworks.
    2. Take free/paid (I took free when I was learning it) courses in CodeAcademy - after finishing course or two, you will definitely know at least basics.
    3. Try building something. I personally suggest taking a course in Udemy of how to build something from scratch to a publicly available SaaS and try to do it yourself. Because only by trying to build a real project you will start "feeling" the language.
    4. Also at least basics of html/css is really valuable. But I would not spend a lot time on these two as they are super easy and you can use already pre-build html templates for any website.
    1. 1

      Do you have any examples of front-end frameworks for Python, or any that you recommend?

      1. 1

        Flask and Django. But to be exact, these are not "Frontend frameworks", they are more like "web application frameworks" that can be used to render HTML pages. :)
        Flask is a little bit easier, and you can find a lot of examples in the Internet on Flask.

        1. 1

          Ah okay... I thought you meant things like django-unicorn. Do you have any experience with that or know of other similar things I could look in to? I'm all ready fairly well versed in Django.

  19. 1

    I found a few courses on udemy that were quite helpful in getting started with web development. The ones I did included small project tasks for practice. They often have massive discounts on the course prices.

  20. 1
    1. Build projects and lots of them
    2. Check out https://www.frontendmentor.io/challenges
    3. Learn HTML, CSS => build projects
    4. Learn JS => build projects
    5. Learn React => build projects

    Without building sufficient projects at each of the major milestones of web development; you can't be a good developer or won't be able to build confidence.

    All the very best in your learning journey.

  21. 1

    Hey
    I'm a mentor and I teach web development to both students, and corporate employees
    I can guide you step by step and follow up with u on what to do next every time you hit a milestone.

    Free of charge I'm willing to help :D

    Email: [email protected]
    Twitter: El_Raed_Bahri
    LinkedIn: raed-bahri

    this offer can be extended to others as well so feel free to contact me on whatever platform you like from above. I'm a fast responder :D

  22. 1

    Start simple, and take small steps than allows you to see results. It's easy to fall into the trap of trying to learn everything, then burning out without seeing results.

    Nothing boosts your motivation more than seeing people using something you've built.

    So, start creating while learning, and share it. Share it here, on twitter, to family & friends, doesn't really matter. It'll make a big difference.

  23. 3

    This comment was deleted 6 months ago.

    1. 1

      Thanks for the information. I've came across stack overflow when doing basic research. How does t compare to Modzilla?

      I actually already have a second monitor since I'm a gamer!

      1. 2

        This comment was deleted 6 months ago.

        1. 1

          Lol hold my beer. Another Acer 28" will be on the way soon.

  24. 2

    This comment was deleted a year ago.

    1. 2

      Thanks! I'll need to get the HTML5 and CSS3 extension, but i did have live server.

      Good luck on your journey!

Trending on Indie Hackers
I've built a 2300$ a month SaaS out of a simple problem. 19 comments I'm building the MCU of SaaS 💎 12 comments 🔥 Roast My Landing Page 11 comments Where can I buy newsletter ad promos? 8 comments Key takeaways growing MRR from $6.5k to $20k for my design studio 6 comments YouTube? How to start 5 comments