12

What To Learn?

I'm a beginner in web development and have knowledge about html, css, JavaScript, jQuery, Sass, NodeJS, Express, MongoDB, Passport. You can consider me to be a beginner full stack developer, but I'm confused about what to learn further. There are so many front end frameworks that one can spend his entire life learning them. React, Vue, Angular, Backbone, etc. But I always want to learn backend properly, then there's Rails, PHP, SQL, Python. Can anyone atleast tell me what to learn and why exactly? This thing's making me mad and anxious.

Comments
  • 2
    If you have knowledge of them languages at least at a fundamental level I wouldn't call yourself a beginner 😂😂

    However, the first step would be deciding where you actually want to allocate your time, do you want to design and thus be a front end developer or be a backend developer?

    In general it's a good idea to understand the opposite to your choice at least at a fundamental level, it's a pain to see front end developers with no fucking idea how backend works and vice versa.
  • 0
    And as for the scope of trying things out you can't go wrong with PHP and an understanding of SQL is a must.

    But your first step should honestly be deciding whether you want to be a front end developer or a backend developer.
  • 2
    Personal recommendation: try learning Go. It's a good experience, especially when building RESTful APIs to go with React, Vue or Angular apps. Go is a newer language from Google that emphasizes developer productivity, and it delivers. It breaks many traditional rules of low level languages in a very good way.

    Runners up: Flask is a good Python microframework for backend. I can recommend it but mostly when the project is simple. It can do large projects but you may as well break out bigger frameworks for those. Python is relatively easy and fun to code with once you have it down.

    Finally, Node.JS+express is another great choice, especially if JS is your forte. If you're anything like me, however, you may find it difficult to organize code for larger servers in Node.JS. I've also found Node SQL bindings to feel lacking, especially compared to Python's famous SQLAlchemy.
  • 5
    Learn javascript like a pro. Then learn python because it's easy to learn and it let you do things, like machine learning (tensor flow) and data analytics (Numpy) and much more.

    And something you can learn in the next half an hour: https://www.docker.com/what-docker
  • 2
  • 2
    Thumbs up for Python and SQL after you master js. SQL is a must and Python is a great general purpose language with almost no learning curve.

    For frontend Vue is great.
  • 3
    Learn some software engineering. It's always a good idea to plan a software (frontend or backend) instead of coding blindly to your goal.
  • 4
    Learn Docker, in Docker. Dockerception

    https://www.katacoda.com/learn
  • 1
    @booshi uhh that looks promesing! 😎
  • 1
    You missed .NET!
  • 0
    I have this same question. I tried searching job listings, but they seem to be made by people who have no idea what they're writing about(as in, probably HR guys with no technical knowledge).
  • 4
    Find a job! Look for a corporation that looks for junior devs and try your luck, anything that interests you will do.
    If you can't or don't want to, think of a project you want to do and try planning it from the start.
    By doing either of that you'll learn to plan before you write (and hopefully test), the importance of version control, how to deploy to the cloud and many other things not directly related to programming.
    Just learning "hot" technologies will get you nowhere fast.
  • 2
    +1 for actually starting to build things. Pick something and start building. The best experience comes from solving real problems and making decisions about the scope and functionality of an app. Learn what technologies you like through experimenting with different libraries and frameworks and start recognizing what your personal strengths and weaknesses are as a dev and build on them.

    If you do add more languages, I agree with the suggestions of Python and Go. It wouldn't hurt to learn PHP, either based on market share alone, but I do admit a deep fondness for the language - flaws and all.
  • 3
    I will personally say that you should explore docker, it just solved a lot of problems for me, especially when you have numerous developers working on a project.

    For backend, just explore python. It's simple sweet and easy!

    `import make_me_awesome`
  • 2
    You like JS, do MEAN stack. Make some production apps and stuff. Understand that it doesn't scale as well as other stacks, but you can start on those when you need them. For now, stick with JS and get really good at it.
  • 0
    @compsci Thanks for your suggestion. I'm more interested in how things work at the server side than how they look to the user, but I also do have an interest in front-end.
  • 0
    @nottoobright check out the Microsoft .NET stack if you like back-end.
  • 1
    @heyheni @ekyl I do have a good understanding of JavaScript, did a lot of projects, read books, Crockford lectures, and most importantly built a substantial functioning website with NodeJS from scratch. As far as the MEAN is concerned, I'm familiar and comfortable with the MEN part, but haven't explored Angular, mainly because many people have debated about whether it's good or not after Angular 2.

    I don't understand which framework is good, and what exactly does 'good' mean, but because of that I'm yet to start any front-end framework.
  • 1
    @solocoder I'm still an university student, so I'll probably try and get some junior dev internship. Thanks for the tip :)
  • 1
    @heyheni yeah I thought so. To be honest, haven't had the time to look at any of them, but did catch a Dot Net Rocks podcast interview with the creator (http://thesoundof.net/shows/...). Sounds like a great tool for new developers.
  • 3
    Soooooooooooooooo

    Im a bit late to the party here

    May i suggest this gem?(not ruby)

    https://github.com/kamranahmedse/...
  • 0
  • 0
  • 1
    there is the frontend Ebook which gives a in depth view.

    https://www.frontendhandbook.com/
Add Comment