30 ms·
Developer Roadmaps
- thih9 7y agoI've looked at the "Backend Developer" guide, I'm surprised that it doesn't mention git or any other version control tools. I think it could be a useful addition; nowadays version control is part of almost all backend projects.
- kamranahmed_se 7y agoThank 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 https://github.com/kamranahmedse/developer-roadmap but was missed when moving the roadmap to the website.
- s_gourichon 7y ago1. Yes, git should definitely appear in a common / transverse section. Oh, I see it now appears. 2. What do you mean "missed when moving the roadmap to the website"? Don't you have an automated deployment setup? 3. I see no code at all in the repository. This looks like free-to-contribute documentation, not FOSS then. Still, very good thing that you did it. 4. Also, besides web (that you cover) and embedded (as mentioned in other comments, and writing device driver can be considered similar), there is still also desktop applications, signal processing oriented programming (including electrical, sound, image and similar) and their number-crunching oriented cousins (machine learning, smart data import with added value, data science and similar) and security. I personally know startups that do each of these.
- kmfrk 7y agoGreat concept! Teaching yourself things is always difficult because you only see things horizontally and don't know how to actually build on what you know, especially without spending 000s of dollars.
- loco5niner 7y ago> 000s of dollars Wow, that's a lot of dollars
- Thorentis 7y agoWould love to see a roadmap added for embedded development or system level programming etc. There is a huge emphasis on "the web" when it comes to software engineering, that people forget (especially college students figuring out a career path), that there are many jobs in defence, hardware companies, etc. that develop software without using any web technologies at all.
- abhishekjha 7y agoWhat exactly qualifies as a web technology? Isn't anything on an IP address a web technology?
- shantly 7y agoOnly if it’s also using the Web.
- chrisweekly 7y agoDisagree. Electron apps are built w/ web tech regardless of how they're distributed or connected at runtime.
- shantly 7y agoThe assertion was that IP address = Web.
- TorbjornLunde 7y agoWeb != internet. HTTP, HTML, CSS, JavaScript, etc are web technologies. TCP/IP (among other things) are internet technologies. Web tech builds upon internet tech.
- seangrogg 7y agoSemantics, but JavaScript itself is not a "web technology" - despite being conceived for the purpose of web scripting the original publication for version 1 even calls out that the language can be used on a variety of host environments (not limited to browsers). This can largely be seen in host environments like Node.js where it acts like any other similar language.
- throwaway35784 7y agoIf they are image maps with links where to learn the leaf nodes this would be the bees knees.
- deleted 7y ago[deleted]
- kamranahmed_se 7y agoHey guys, I am the person behind this website. Please know that it is still in progress. I wanted the initial version out so it is just the "roadmap" images for now. However, I am working on making these roadmaps more accessible for the beginners and easier to contribute to. In the list of things planned for the coming week is the textual version for each with different sections (job-ready, intermediate, advanced, overall landscape, etc) and each of the steps are going to be clickable with resources to learn from. The website and the content is opensource and can be found at https://github.com/kamranahmedse/roadmap.sh https://github.com/kamranahmedse/roadmap.sh. Please feel free to contribute, drop your feedback, feature requests and issues there.
- la_fayette 7y agoPlease add web components to frontend, instead of pick a framework...
- k_ 7y agoYes. I'd still recommend learning about one of those frameworks to anyone aspiring to be a skilled front-end developer. Not because it is essential to master them, but because there are interesting concepts in there that could help with front-end applications development.
- wdroz 7y agoIMO, you could put Remote Procedure Call (RPC) technologies such as gRPC for backend developer.
- xmprt 7y agoDefinitely a great idea. gRPC has been a huge benefit for us. I'd also get rid of learning NoSQL databases. It's good to know but in 99% of situations you should be dealing with them especially not before you learn about things further down the list like Docker, RESTful APIs, Auth, etc.
- 7y ago
- biudiepie 7y agoLove this idea, hope the maps could be interactive. Attaching related resources would be great.
- jktj 7y agoI second this, related resources for language of choice.
- sandGorgon 7y agothis is very cool. how do i add one ? this page is empty -https://github.com/kamranahmedse/roadmap.sh/blob/master/contributing/guide.md https://github.com/kamranahmedse/roadmap.sh/blob/master/cont... P.S. are you generating a static site using next.js ?
- yuchi 7y agoThe design of the maps is terrible, the content is gold. Will recommend internally in my company. Very nice job.
- deleted 7y ago[deleted]
- veeralpatel979 7y agoWould love to see a roadmap on security engineering!
- sauravs 7y agogood point...i will be interested too
- greggman2 7y agoI think I don't understand these. They seem too high level to actually be useful. There's a old Steve Martin skit from the 70s where he's says he's going to tell you "How to get a million dollars and never pay taxes...... Step 1: Get a million dollars ...". These roadmaps seem about that level. Am I missing it? Are these actually useful? For example clicking backend the first thing is it lists 14 languages (although two of these items are not languages). How is that useful to someone? Which one should they pick? How would someone that didn't already know these languages and their strengths and weaknesses get useful info from that? Sorry I'm not trying to be critical just wondering how this is helpful.
- swilliamsio 7y agoI partially agree. The backend map seems really wishy-washy. The front end map seems much more useful, just because it's more limited in scope. It would be better I feel with in depth tutorials for every step, or links to them, with achievable goals at every step, kind of like a testable curriculum.
- brojonat 7y agoIt's funny seeing different peoples' takes on this; someone else said the frontend section was a 'hot mess' but the backend was much more structured and well done. Guess it's just a testament to how much is out there.
- Matty1992 7y agoAgreed, the "Pick a language" phase is one of the most difficult parts of starting a developer path especially without context, atleast in my memory. There isnt a good reason to just pick something like python or typescript if you want to build native phone apps for example
- abnry 7y agoThis is a roadmap, not a tutorial. You still need to get in the car and turn the key in the ignition. Logically, it makes sense to learn some technologies before other technologies. They build on each other. And for someone like me who knows very little software engineering, just seeing some organized list of terms looks helpful.
- pjmlp 7y agoThe Frontend Developer "roadmap" ignores any kind of native UI development. It should be renamed to Frontend Web Developer.
- scarface74 7y agoWhen people in the modern era say “front end developer” that basically implies web. Most people in common nomenclature don’t call iOS and Android developers “front end developers”. They are referred to as “mobile developers”.
- pjmlp 7y agoPlenty of digital agencies do frontend work across multiple delivery platform formats
- scarface74 7y agoI don’t doubt that. But, if they advertise a need for “front end developers”, that would strongly imply web developers. I would definitely be surprised if they advertised a position for a “front end developer”, I applied and during the interview they asked questions about Windows Forms development.
- pjmlp 7y agoBe prepared to be surprised then.
- scarface74 7y agoTrust me, I’ve been on plenty of successful interviews. Not once have they wanted a “full stack developer” or a front end developer that could do Windows Forms. I’m not saying that no one wants desktop developers - they just don’t refer to them as “front end” developers. Windows Forms or any windows desktop development was already losing favor when I was looking for a job in 2008 after being at one company for almost a decade. Now in 2019, any developer who cares about his career will run screaming the other way if a company even mentions that they are doing desktop software unless they can get a job with Microsoft or Adobe.
- neiman 7y agoWow, may be slightly overwhelming for a newcomer but a great idea nevertheless! Which tools they used to make these beautiful infographics?
- franferri 7y agoBrilliant idea
- lubonay 7y agoHere's an idea to improve this site: make the texts searchable somehow. Ctrl+F -> "JavaScript" shouldn't yield 0 results.
- dsego 7y agoIt's a png.
- xboxnolifes 7y agoAnd he's suggesting for it not to be.
- rgoulter 7y agoThese seem to be bags of words, which hardly explain the rationale or context for any of the items mentioned. In terms of 'brainstorm of words, some of which may be useful', fine. But I'd be very surprised if even the average dev had even heard of everything on that list. The scope includes some ubiquitous things, and some things that are surely niche. I'm hoping no beginner gets the impression that they ought to know all of these things or else they're an imposter. What's the appeal to these?
- tchaffee 7y agoFull stack dev here. Both the frontend and backend lists look reasonable and I know all the tools and the vast majority of the terms. I do agree with you that the lists look overwhelming. Some information hiding and ability to reveal would help.
- james_s_tayler 7y agoYeah, it's just a word soup presented as a giant image. I've seen these before. They're not bad for at least laying out the landscape, but I think a more interactive format would be helpful. Like allowing you to pick a language and then relevant frameworks/tools/patterns are shown. Furthermore it'd be useful to split it up into junior, intermediate, senior, principal level expectations. As a junior if you see this you might just want to quit on day one. As a senior it's useful to spot any gaps. As an intermediate it's useful to pick a next area to gain proficiency in.
- paradox_hunter 7y agoI think he should make it clear who these roadmaps are for. From the looks of it, definitely not a beginner, but probably for someone who has spent atleast some time in the field.
- avishj 7y agoThat's a really nice website. I'm a young developer interested in web developer and it gives me a good roadmap for how I would go along figuring stuff out till I become a full stack web development. I just hope that the full stack roadmap comes soon, the front-end and back-end seems really well planned out. Another thing that I'll say that would be nice, if there were other roadmaps for become a mobile app developer like those including OSes like Android, iOS, Mac OS, etc.
- Farbklex 7y agoGood overview. I also like it as an illustration for beginners to explain, that "learning to code" is very broad and can be broken down into tiny areas. When I teach friends how to code, I show them the bigger picture and then narrow down what I'll actually teach them no manage expectations: Java / Kotlin basics and some android development. So they now what they get in the beginning and what else is out there.
- _akei 7y agoThese lists are so depressing. Is there any other career where people are expected to know 100 things just to be an employee at the bottom of the food chain? I won't be surprised if it is harder to be a Full Stack Developer than to be a CEO of a multi-national corporation. Looks like we are pushing everything to Developers. Developers of the future are going to need a fulltime pyschologist to cope with this ever increasing list of skills required from them.
- mLuby 7y agoDoctors, lawyers, and real engineers at least have similar or more broad domains they must be experts in, or people die. CEO is a hard role not because of domain area but because of risk and uncertainty, both of which tend to be low when you're "at the bottom of the food chain."
- madiathomas 7y agoAll doctors, lawyers and real engineers I know only focus on one aspect. They are specialists. I know lawyers who specialises in rape cases, conveyancing, ligitation, but I have never met a lwayer who is expected to solve a rape case today and register a bond tomorrow. Same with doctors. They specialise and only focus on one domain. I was talking about skills when I included CEO, not about risk. When there is lots of money involved, almost everyone will accept to assume that risk and collect rewards.
- mLuby 7y agoAnyone can accept risk. Accurately evaluating and effectively mitigating it is the skill, plus predicting a profitable direction and setting it in motion, maintaining accountability, negotiation and fundraising; the list goes on and looks very different from dev skillsets. Maybe this site should add a CEO skill map!
- madiathomas 7y agoMaybe we need to see those skills map. I can't wait for CEOs to disagree that you don't need those skills. Most CEOs became CEOs because they started the company or are connected to the owners of the company. Most CEOs are just political leaders of a business. They didn't need to learn HR, Finance, IT etc in order to run the company.
- sethammons 7y agoI find the back end engineer roadmap lacking a few critical items that seem to be in the devops section (granted, everyone needs devops chops). Metrics, monitoring, alerting, and networks (tcp, http, grpc, sockets), and basic distributed systems.
- zyl1n 7y agoWhat does yellow color in some boxes mean?
- kamranahmed_se 7y agoYellow means "Personal Recommendations" and the peach one means available options. This will be more clarified/fixed in the next release.
- tudorpavel 7y agoIt'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 https://github.com/kamranahmedse/developer-roadmap
- notthatharda 7y agoGood default, general industry consensus for best option if you have no particular needs.
- kevinyun 7y agoWow, this is nice. Going through the front-end path briefly, I realize I know most of these things, and it is because of gradual exposure and necessity in a tool. I remember as a freshman in college, when I decided to first learn the basics of web development, I saw an intimidating roadmap like this one (though that was for full-stack). Back then, I would have never dreamed of making it even a quarter way through the list.
- ddorian43 7y agoCreate a roadmap for low-level/systems developer (ex: create database, search-engine, storage engine, replication, sharding, low level performance etc)
- aaron-santos 7y agoMaybe not a developer roadmap per se, but I refer to this data science roadmap[1] from time to time. It isn't a definitive statement on what makes a data scientist, but it does help me pick the next concept to learn and make knowledge gaps more obvious. [1] - http://nirvacana.com/thoughts/2013/07/08/becoming-a-data-scientist/ http://nirvacana.com/thoughts/2013/07/08/becoming-a-data-sci...
- loco5niner 7y agoGreat content. Lots of typos
- Z3lgius 7y agoThis is amazing! I always get questions from new developers or students similar to "I want to do/be X, how do I start?" and now I can point them to this. Thank you for this.