Frequently asked questions of programming.
• Should I learn Python or JavaScript?
• Data Science vs Web Development vs App Development, ...
For further actions, you may consider blocking this person and/or reporting abuse
Check out Roadmp.sh and the accompained GitHub repository:
kamranahmedse / developer-roadmap
Roadmap to becoming a web developer in 2020
Below you find a set of charts demonstrating the paths that you can take and the technologies that you would want to adopt in order to become a frontend, backend or a devops. I made these charts for an old professor of mine who wanted something to share with his college students to give them a perspective; sharing them here to help the community.
Special Announcement:
We now have a YouTube Channel
I plan on covering the roadmaps and put more content there
Subscribe to the channel.
Purpose of these Roadmaps
Edit: To include the original comment I made elsewhere rather than embedding it.
Thank you so much
Much appreciated
You are welcome.
I'm pleased that you liked it. Just learn any one of them ur choice ... Get a job in that and then try different techs for fun... I'm not a senior developer but choices of stacks or major decisions are decided by leads.. so don't bother bout that just learn what you like.
If you have to deploy a site on a shared server (let's say because the client wants the cheapest hosting available) and you know that the web app is a small and for a few employees, then often you will have to rely on PHP. There's some nice frameworks for PHP like Slim, Lumen, or CakePHP that can help you set up traditional web apps or REST APIs.
Thanks for adding that... Much appreciated 💯😊
Well written and very helpful roadmap.
In my experience, it took me quite some time to learn about all that jazz: learning javascript, python, using rest apis and surpassing the need to use wordpress.
A roadmap is very valuable and I think the lesson I learned is to build one each time I want to start a project.
"As a developer, everyone must know basic web development since Machine learning and Data Science is a service-based skill While Web and App Development is a product-based skill. Hence, Data Science and Machine learning people are called engineers and not developers."
Both could be engineers - just because you're designing a product, you can still be an engineer of course. I'm not even sure if software engineering even exists, but it really depends on how you are approaching the notion of engineering. See my comment here, I think I'm going to expand on this in the future in a post. :)
"Is NodeJS better than Django"
You said you're a CS graduate, trying to educate beginners. Why are you comparing apples and oranges then, which is totally confusing?
NodeJS is a JS runtime engine with some OS bindings to do I/O. Django is a Python framework.
This whole comparison sounds so confusing and useless on the topic.
You can just replace "Django" with "Python"... or actually take a JS full-stack framework like Sails or Nest and compare them with actual Django which could also make sense.
"Django is highly scalable as the caching of applications is quite easy and can be done using tools like MemCache."
You don't scale Django. You scale the Python processes. Memcached (I guess you are referring to that) can cache anything, you can cache pages served by Node as well, as long as you specify the cache lifetime for your responses (e.g.. API responses or SSR web pages). There's a memcached client for Node.
You are giving out some nice "getting started" advice here... just please be precise because otherwise you'll just add to the confusion that people experience when starting out as a developer.
Thanks for the insights... I'll update it
I'd like to bring some precisions:
You can't "learn" a paradigm. OOP is a way of thinking and organizing your code. The implementation of a paradigm can be very different from one language to another. Take Python, JavaScript and Golang for instance. Even if they can have keywords in common, the implementation. Hence, knowing "OOP" or "Functional" or whatever doesn't mean... much.
Twitter use mainly Ruby on Rail, mixed with other languages for their backend, not NodeJs. Paypal use mainly Python. And so on. Anyway, these companies use a whole stack of technologies, not only NodeJS or Python or whatever.
Other than that, you make a lot of assumptions in there. It's not because "major" companies use this or that tech that you should, too, especially if you're not as big.
Language choices is mostly based on the library and tooling they have; most languages are Turing-complete, which means you can implement whatever algorithm you want with them.
My next blog will be about Dunning Kruger effect and imposter syndrome among developers it will answer few of your questions.
It was really an informative read!
Thank you brother
Just do both really, they are both easy. Helps you find more jobs too.
I don't think it "easy". It's easy to make it work, maybe, but it's not that easy to maintain on large codebase. JavaScript has a pretty... weird type system, too. If you work with them in big corporations with big codebase, you won't call that easy, I suppose.
In that context, yes, large codebases are pretty hard to manage, but I could say that about any language if the code isn't adhering to a standard architecture like MVC or something similar. I was just talking about syntax and ease of use.
According to your Venn diagram if someone is writing python, they are not "software engineer"
Thanks for clearing this out
Lol I know that's quite biased 😂😂
Python devs are software engineers indeed. No offense.
Great portfolio man.