8
14 Comments

How Should I Get Started With Coding?

Hello, fellow hackers, a marketer here. I feel stagnated in marketing at the moment and looking to expand my horizons by learning to code. Although I don't have a concrete product idea (which is usually recommended for people who want to learn to code) in mind, I'd like to build a task/product management app.

I would really appreciate if you can recommend me how and where should I start learning and any specific steps I need to follow.

Thank you so much!

  1. 5

    I love this book, which has a lot of practical advice on this subject. https://www.goodreads.com/book/show/5608045

    I’d also recommend James Clear’s book Atomic Habits as well as BJ Fogg’s Tiny Habits.

    The language you choose or where you learn whatever language you choose are secondary to the habits you employ to learn how to code.

    “I’d like to build a task and product management app”

    This was my story too! It ended up being long as I typed it out below. It’s not a direct answer, just my anecdote.

    tl;dr It took me about 7 years to learn the full stack of skills and tools needed to build egghead.io app on my own. Totally worth it!!

    This is a potentially massive and definitely “full-stack” sort of application goal. I’m a self-directed learner and that’s how I approached learning to code. I spent about 6 months of constant study evenings and weekends. From there I convinced my boss to let me Code a task management and project management app for his business with half my work time. He said yes, lol. I spent the next 6-12 months building that during the day and building a mirror of that app for my wife’s photography business. Both had different requirements but shared the same fundamentals.

    Both apps were 💩!

    I got a job with a local software company and worked there for a year.

    During all of this I blogged consistently about the problems I was having and how I solved them.

    After that full time year (evenings and weekends were still spent coding my ass off) I got my first opportunity to speak about code at an unconference. I was terrified and felt like I was going to hyperventilate the entire time.

    The topic of the talk was on a tiny open source framework that this smart dude in South Africa was working on. I loved it and evangelized it. I worked on its docs and unit tests. I marketed it. It got reasonably popular and other people loved it too.

    People still high five me about Robotlegs 😄

    This consistent effort landed me a gig with a consulting firm making my first taste of real money earning $100 an hour.

    For 5 years I worked in a variety of businesses large and small.

    I spent my evenings and weekends coding and blogging. Co-wrote two books! Spoke any conferences. Gave workshops.

    I also studied business. Took online courses and really set to work on finally attaining my original goal:

    **Learn to code and start a business. **

    At 5 years I left my full-time job to build egghead.io. That was 5 years ago!

    Now I’ve got an amazing small team that helps me build the app.

  2. 1

    Writing code for fun is different from writing code for production. Here I am suggesting the fastest way to build production quality products.

    Learn Javascript, Stick to Nodejs, Stay Serverless(google firebase functions or aws, azure functions etc).

    Your biggest headache (if you don't have technical partner) is going to be server maintenance. That you can avoid by going serverless tech(there is still a server but you won't maintain it, Google, MicrosoftAzure or AWS will do).

    The number libraries/packages on Nodejs are huge, this is a big advantage. On clientside ReactJS is the best bet (But Reactjs will take alot of time to master). For simple apps ReactJS is overkill(especially that state management shit). You can start with something like AngularJS.

  3. 1

    I would star this post if I could.

  4. 1

    I'd say the first step you need to take would be deciding what it is you want to create. You say a task management app, is that for OS, Android, web... Making that decision will start you off in the direction you need to head. Then you could start getting familiarized with as many free YouTube tutorials as you can get. Once you tried it out and you found what you enjoy, you could look into the membership-based online courses like Pluralsight and LinkedIn Learning.

  5. 1

    I enjoyed packt books; they have good, beginner-friendly up-to-date books. Other than that FreeCodeCamp is good, I enjoyed their VueJS tutorial.

    The best way to learn is to build something, you will encounter with various errors which you couldn't think of, they teach a lot. But sometimes they take too much time.

    I also recommend you to study the computer internals if you have time. How computer operates gives a great insight and I believe a necessary foundation.

    Don't forget to learn security essentials along the way. You can make it but also someone can destroy it or worse, steal it.

    You don't have to have a product a idea, just innovate. You can't ? Don't worry, do the same with others. Building is so crucial and the bedrock of the learning process, so just build. I suggest you to publish your web apps instead of keeping them in localhost.

    I wish you the best with your efforts.

  6. 1

    I'm also a marketer who just started coding for couple month ago. Here are my tips:

    1. Find your path, Checkout https://github.com/kamranahmedse/developer-roadmap and learn the basic stuff first. Then drive deeper on the area you want to master(Frontend / Backend / DevOps).
    2. Start with those free interactive online course, such as codecademy, freecodecamp & etc.
    3. When you got some basic, now heading to udemy and buy some course, make sure you pick the course with the real world project so you can take a knowledge for your upcoming project.
    4. Build! Start to build some basic stuff as a real project, don't worry when you get stuck because you would need to get stuck to learn. There is plenty of help online. So make sure you try your best to get help.
    5. Don't give up. Continue building, even a little every day. Consistency is the key.

    I'm beginner as well, but feel free to reach out if you want to have a chat.

  7. 1

    TreeHouse online school is my choice. I also working on my coding skills while covering BizDev in my projects 🤓.

  8. 1

    I found https://nodeschool.io/ to be very useful for starting with backend development ,no boring long videos ,no over explanation .
    Just code and learn fast .

  9. 1

    Well you're likely to get a lot of differing opinions about this, as the programming journey can be very personal. However, as someone who is self taught, and has a variety of programming experience, my typical answer to this question is to jump into JavaScript.

    There's basically 2 parts to programming: the 'writing code' part and the core Computer Science part (think algorithms, data structures, etc...). JS is a great starter language because it's broadly useful. Meaning it can be used both client side and server side in web apps, so learning it can open a lot of doors if you're interested in web dev. It's also fairly loosely written, which means you can focus more on core programming/CS concepts in the beginning and less about the nuances of the languages syntax.

    Once you get the basics down and understand the core concepts, you can then fairly easily take that knowledge and pickup a more structured language like Java (think Android Dev), or others. Or you can pursue a more masterful command of JS and dive further into web dev.

    There are a lot of free basic JS courses out there. Two good resources are: freecodecamp.org and codecademy.com. Also the 'You Don't Know JS' book series is a pretty indispensable resource if you plan on pursuing JS beyond the basics. It's available at Amazon, as well as open source at the Authors github repo: https://github.com/getify/You-Dont-Know-JS

  10. 1

    think about your idea and try to do it anyway, start with the basics, look for how to create a login and registration system, then eventually look for how to add functionality to your project. You can use stackoverflow to look for resolutions to your problems (sorry my English via google translator).
    If you need help my email is contato@trabalha.com.br

    1. 1

      this link doesn't work :(

      1. 2

        Ooops! Check this:

        https://learnxinyminutes.com/docs/python3/ (Python3)

        https://learnxinyminutes.com/docs/javascript/ (Javascript)

        https://learnxinyminutes.com/docs/git/ (Git)

        https://learnxinyminutes.com/docs/markdown/ (Markdown)

        Read the docs. Read the source. Write docstrings. Write automated tests: that's the other half of the code.

        Keep a journal of your knowledge as e.g. Markdown or ReStructuredText; regularly pull the good ones from bookmarks and history into an outline.

        I keep a tools reference doc with links to Wikipedia, Homepage, Source, Docs: https://wrdrd.github.io/docs/tools/

        To get a job, "Coding Interview University": https://github.com/jwasham/coding-interview-university

  11. 1

    This comment was deleted 6 years ago