What does HackerNews think of developer-roadmap?

Interactive roadmaps, guides and other educational content to help developers grow in their careers.

Language: Astro

Discovered the concept of "developer roadmaps" on Github. Two good resources are the frontend roadmap(https://github.com/kamranahmedse/developer-roadmap) and this react roadmap(https://github.com/adam-golab/react-developer-roadmap).
Yes, I've helped tutor kids in web dev & game dev and I'm passionate about making tech easier for them. Remake was made for beginners, so they don't have to learn everything about full-stack web development [0] the first time they want to build a simple web app.

If your kids know enough to build their first website (HTML + CSS), they can also build their first web app with Remake.

I'd recommend checking out the Remake Recipes page [1] to get an idea of just how easy it is to build something that works. All of the editable examples on that page – as long as they use Handlebars.js {{variables}} – are examples of fully-working Remake apps that can be pasted into a Remake project (the app-index.hbs file). After that, they'll be working apps with editable data and user accounts that can be instantly deployed.

However, if you want to start by understanding the vision of Remake and get a broad overview of how it works, I can recommend this video I recently made: "Why Build With Remake" [2]

Also, here are a few of the more difficult parts you might run into:

- Terminal. You will need to run a few commands (remake create & npm run dev) to get the local Remake server running. It sounds like your kids are familiar with the command line, so this probably won't be a problem.

- JSON. In addition to Handlebars.js templating and CSS, your kids will also need to learn a little JSON. It's a pretty simple version of JSON (just objects, arrays, and strings all the way down), but it's still an extra concept to learn.

- Routing. If your web app has multiple pages, each with it's own editable data (i.e. it's not just a one-page website builder) you'll need to turn on Remake's unique IDs. There's good documentation around this [3], but unique IDs is a slightly harder concept to grasp than just HTML ⇄ JSON.

Good luck and let me know if I can help in any way. If a concept is confusing and you send me an email [4], I'll be happy to make a custom tutorial on the subject.

[0] https://github.com/kamranahmedse/developer-roadmap

[1] https://recipes.remaketheweb.com/

[2] https://docs.remaketheweb.com/why-build-with-remake/

[3] https://docs.remaketheweb.com/nested-pages/

[4] https://remaketheweb.com/contact-us/

I'm wondering, why starting a new repo instead of adding / contributing to the already quite successful https://github.com/kamranahmedse/developer-roadmap which you credit and took inspiration from?
The hard part here is getting a curriculum to learn software engineering. Writing code is much much more then just a language. So much time spent on that. Just learn one freaking language and move on.

eg. I started with Basic -> QW Basic -> Pascal -> PHP -> Perl -> ruby -> golang and a lot of others languages too.

Writing code is not the hard part.

follow something like this: https://functionalcs.github.io/curriculum/

Or if you want to be something specifc follow this and find resources to learn about the topics: https://github.com/kamranahmedse/developer-roadmap

> it's one gigantic imposter syndrome trigger

Yes, this was exactly my experience when I first encountered the repo for this project a couple years ago [0]. I actually still remember what it was like to read this for the first time.

From the perspective of someone who has been impaled on the hedgerow of despair, trudged through the endless shale of '5-minute-must-reads' and fought their way through the jungle of 'lazy tutorials rehashing a languages main beginner resource', I see why these kinds of things are created and upvoted/proliferated by developers who are no longer beginners. They're probably helpful to a minority I expect to show up in this thread. But to me these roadmaps are pathological (no pun intended) - inducing a cocktail of fear, apathy, and perfectionistic mania.

If you happen to be a beginner reading through this thread and thinking of using this map - don't. Get a feeling for the territory first. Don't worry about all these empty terms. Once you have a feeling for this programming thing you can use your powers of prediction, analogy, and noting minor differences to learn new stuff. You don't have to (you don't WANT to) jam it all into your brain at once. I took that route and it makes it really hard to play and explore for yourself, it was so painful and inefficient.

Go the naturalistic route. It's not wrong unless it doesn't work, in which case it's still not wrong. It's all good. Have fun. Make yourself laugh. Do it stupid, who cares. Edit/break/play around with stuff, maybe go Codepen [1] if that sounds fun. Maybe you want structure and streamlining, go see if FreeCodeCamp is for you - you'll tick off half the boxes here without even realising it, and that half will be the half that's worth anything to you :)

[0] https://github.com/kamranahmedse/developer-roadmap/

[1] https://codepen.io/picks/pens/

I glanced over your LinkedIn profile, to me it looks like you need to add more 'modern' tech skills to your profile. It sucks, but the industry moves to new tech quickly and unless you are an enterprise Java developer, your skills get pretty much outdated in few years and you need to catch up at a fast pace.

I would learn (or highlight it if you already know) React.js and Node.js immediately, along with Postgres and MongoDB. That should get a good boost to the resume.

If you are going full stack, you would definitely need to put in AWS, especially micro services and serverless experience along with golang if possible. You can also learn Python if you want to try your hands on Machine learning as well, but I would recommend just focussing on React and Node.js as they are low hanging fruits and there are good enough openings for those two alone..

I have been in your shoes before and I know it could be overwhelming but you can do it.

https://github.com/kamranahmedse/developer-roadmap

Thank you for the feedback. It's still a work in progress. It was mainly moved from the repository[0] and needs to be updated. Plus it is lacking in a couple of other sections also which we plan on improving. Please feel free to leave your feedback and suggestions in the form of issues on the repository.

- [0] https://github.com/kamranahmedse/developer-roadmap

It's unfortunate that not every diagram contains the legend from the first diagram in the GitHub repo [0] which explains yellow as "Personal recommendation" and orange as "Available Options". I think grey was "Optional".

[0] https://github.com/kamranahmedse/developer-roadmap

Thank you for pointing it out. It is still being modified and will hopefully be fixed this week along with the other changes. It was there in the "common" section in the repository https://github.com/kamranahmedse/developer-roadmap but was missed when moving the roadmap to the website.
May not answer your question, but maybe you find a use to this.

Web Dev Roadmap https://github.com/kamranahmedse/developer-roadmap

Spellbook of Modern Web Dev https://github.com/dexteryy/spellbook-of-modern-webdev

That's an excellent start, you already know a good set of languages. I found this guide useful https://github.com/kamranahmedse/developer-roadmap (discussed in https://news.ycombinator.com/item?id=18874028)
https://balsamiq.com/

I use balsamiq all the time - helps me make diagrams with a sketchy feeling. It is designed to be used for the mockups only but I find myself using it for everything. You might have seen it used in (pretty famous?!) developer roadmap https://github.com/kamranahmedse/developer-roadmap or in some of my blog posts https://medium.com/tech-tajawal/rabbitmq-at-tajawal-c4eeccdd...

Choose a stack (I started with MEAN but MERN is legit as well.) then build everything you can think of with it, both to build your skills (and your github commit history!) and to potentially show off to potential employers. Something CRUD (like a blog or todo list), an app with a semi-complex form, an application with complex data passing: child component -> sibling or parent.

follow the road maps

https://github.com/kamranahmedse/developer-roadmap

This first (real) gig is the hardest to get, because you your job history/experience is short. Doing these personal projects won't expand your job history, but it can do wonders for your experience. My first software job I had one thing listed under job history on my resume, and 3-5 listings under Projects/Experience.

I'm torn. I don't think the aim should be "become a ${framework} developer" but just become a solid programmer with specialization in front-end technologies. If I needed to bounce out of front-end and into another tech role, I wouldn't have too hard of a time because I'm familiar with more than Javascript (I started learning programming with Ruby and Rails, but got my first professional gig doing analytics/seo).

I feel like this is a more compelling tech tree (not mine): https://github.com/kamranahmedse/developer-roadmap

With respect, I think you are speaking from the position of someone who has known how to use this technology for so long, he has forgotten what it was like not to know it.

Take your "90% go to for web" stack. You'll need to know:

    * HTML
    * CSS
    * JS
    * Ruby
    * SQL (maybe)
And then the frameworks:

    * Rails
    * Bootstrap (or equivalent)
    * Vue (or equivalent)
    * Webpack (or equivalent)
And then the deployment:

    * Web server of choice
    * Database setup
    * Linux sysadmin
    * AWS
There was a front-end dev guide linked on the front page yesterday (https://github.com/kamranahmedse/developer-roadmap). Just...look at it. Count the pages. Even if you stipulate that you already know Rails, the rest of what you need to know is still a huge wall to climb.

And sure, by now, you have all that knowledge in your head, same as I do. (Probably better; I always hated web programming.) But asking somebody new to scale that wall just to join in with the supposedly open web? Seems a little much.

And I'm still pretty confident that I (with Anvil) would deploy a simple application faster than you (with Rails). Not because you're a bad developer, but because even with all your knowledge you're still navigating that stack - and deploying it, and debugging it, and editing it without autocomplete because no IDE can sensibly autocomplete a system with that many independent layers, and so on.

I am a bit biased here, but I actually made a project to solve this issue for myself.

I always found myself spending a lot of time trying to find the 'best' resources to learn a thing or sometimes even researching what learning a thing even means. So I decided to build a tool that helps visualise these learning tracks for any topic you want to learn about.

Perhaps you've seen this popular repository for learning Web and Mobile Development (https://github.com/kamranahmedse/developer-roadmap). This is very similar, but interactive and for every topic.

It's also Open Source and we often stream the development of it.

[Website] : https://learn-anything.xyz/

[Code] : https://github.com/learn-anything/learn-anything

[Stream] : https://go.twitch.tv/nglgzz

Author of the project here.

I do agree with you that mind maps have their flaws and limitations. But I found most curated list and most content in general to be quite rigid in structure. These mind maps should let the users explore and be guided through arrows.

And the big problem that I find is that google and other search engines are a black box. You have to know what you want to ask for to get an answer. The poses a big problem because many don't know what to ask.

Wikipedia is great too but I found it to lack in the visualisation aspect. Everything is connected but many people don't know exactly how and where and with what it is connected. These kinds of visualisations are very popular on the internet (https://github.com/kamranahmedse/developer-roadmap is one example) because they do bring clarity as to what it is the person doesn't know. However this repository although great, it just shows an image.

With these mind maps I can replicate the same but make it interactive. Now users can not only see what they don't know, but if they do want to learn it, they don't have to waste time online finding resources, they just click on a link and see what the best way of learning the topic is. If any questions arise when they are learning the content, then the search engine of their choice will answer these questions.

I also try to solve the problem of dependencies of knowledge. For example if user wants to learn 'machine learning'. I show that machine learning requires knowledge of statistics and linear algebra (http://i.imgur.com/A75JMNt.png) and then give links to the mind maps of both of these topics so user can learn them. There should be no wandering around and wasting time finding resources and being lost.

Of course, there also wasn't as much you needed to know back then. I look at something like a modern "Roadmap to becoming a Web developer in 2017" [0] and I wonder how anyone is able to get through all of that.

[0] https://github.com/kamranahmedse/developer-roadmap