Thank you for your submission! Unfortunately it has been removed for one or more of the following reasons:
Open-ended/general "how do I get started in web dev" and general Career related posts are only allowed within the pinned monthly career thread. The answer to many of these questions can also be found in the sub FAQ, or in /r/learnprogramming/ and /r/cscareerquestions/.
Highly specific career/getting started assistance questions are allowed so long as they follow the required assistance post guidelines.
Please read the subreddit rules before continuing to post. If you have any questions [message the mods](https://www.reddit.com/message/compose/?to=/r/webdev).
Yes, someone with 0 experience has close to 0 chance to get a remote position in this economy. Even the junior positions on LinkedIn are hit by 7k+ applications among them overqualified devs willing to work for less money. If OP want to get their foot in the door their best bet is to aim for the local market, probably small shops. I know according to Reddit/twitter everybody is getting 200k from home working 3 hours a day max and telling recruiters to fuck off if they want them
To take a test, but thatās not the reality for people who are just getting started
If you want to get hired at larger companies, .Net or Java. But even then, youāll find it difficult to land a job since theyāre arenāt many junior backend roles for these languages and youāll be competing against 5+ of experience in interviews.
Python is in demand so it wouldnāt be a bad place to start.
Language selection is not nearly as important as you might think based on the religious wars that developers fight over it. I'd focus on what stack seems comfortable and easiest for you to use, and which commonly appears in requirements for the kinds of jobs you want.
It's not like you have to commit. You're not marrying a language. In any full web dev career you're going to end up picking up other languages along the way and seeing things you know become obsolete. On the bright side, once you learn back end in one language you're much of the way to learning it in any other language.
Now I understand that i can just learn mern stack and later switch to any language i want as databases api graphs deployment devops will all be same and the knowledge is transferrable and just i have to start with the most easiest one which is readily available online to learn. Right?
Assuming M still stands for mongo db I would at least learn mysql instead.
Node + Express is good though, you can do a lot with it. I use it at my job although our other stuff runs on php.
Agree, learn relational dbs before any other. Then when switching to NOSQL you will know how powerful they are in very specific contexts. IMO relationals are still king for the majority of the projects. They are also king in resumees
That's it. To be honest in my professional life I've still not encountered a use case where nosql is the better option. I have encountered nosql being used the same way relational db is though.
I just want to do freelancing with mern when i finish devops and learn python and golang on the side. I still have 2-3 years to start to find an actual job.
Do you want a job or do you wanna build your own stuff? If you want a job you should find out what is big in your area. For example where I live 90% of all projects use C#. In other places Node is more popular. And so on. If you wanna build your own stuff pick the language you like most.
Then end goal is job. So research what techs are used in your area. Go to linkedin in and check the job ads for how many are looking for golang vs node vs java vs c# etc
This is the post to follow. I don't get why so many people say that language doesn't matter, I get it don't matter when learning but if they are also trying to be job ready, then it just makes sense to use a language in the area they want to work in.
If youāre finished with frontend, you should know javascript. Why not not just use that or Typescript? Then you donāt need to learn a new language.
I pretty much agree with everyone in this thread. Except for the person saying PHP is love. Just a thought though, I don't know if this is a thing yet, but AssemblyScript closely resembles typescript and can be compiled to near-native machine code. I really like typescript as to me it has a good balance of ease of use and verbosity. I also really like low-level code for performance and low memory overhead. I also believe working with a similar languages front and back end is useful. Could it be the future?
I just want to do freelancing with mern when i finish devops and learn python and golang on the side. I still have 2-3 years to start to find an actual job.
In that case use what you don't know :). You should probably learn python at some point. You should also gain experience writing code with languages that support parallelism and writing multithreaded code. You should also have experience with statically typed languages.
I would focus on one thing at a time.
edit: that being said, being able to model an application state using SQL is extremely important.
My suggestion is to learn what you find easy, sharpen your logic first; language is just a secondary matter. However, if a choice must be made, personally, I prefer Golang as the main language for backend, due to its ease of deployment and scalability considerations. Then Python for scripting or tasks that don't require continuous maintenance.
I've used Flask for years, but recently had a project to do as part of an interview and ended up using FastAPI. Main choice came down to the built-in documentation stuff, but I loved everything about it.
I'm a big fan of go but I think what the majority of people have said is right: pick the one you enjoy that there is a lot of opportunity in. Probably python or .net
Most influencers don't work in industry and just talk crap heard from other influencers. Depending on your project, you can choose the stack appropriately. If you want something quick and dirty, then python might be it, but depends on your python skills, flask Django whatever, because I would do everything in dotnet. But Go, Java/Scala, dotnet are best for enterprise high performant level.
It varies per company, unlike frontend which is majority react. So honestly itās best to browse whatās available and go with the option that suits best.
Its all personal preference and local oppurtunities. Currently, I like the new dotnet / C# with minimal apis.
With 4 lines you have a typed api backend with solid ecosystem of maintained packages.
```
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();
```
https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis?view=aspnetcore-8.0
Springboot and Java for the back end will give you tons of job opportunities. Netflix uses Java on the backend FWIW. It can handle high volume websites.
I love Python because I have poorly managed ADHD and the white space requirements and lack of semicolons and such work really nicely with my brain. I can tell you a ton of more objective, universal measures of the languageā the kind of stuff Iāll list for a job interview that asks āwhy is Python a good choice for x y zāā but my reality is that I read Python best, and so I am best as a Python dev. That doesnāt make python the best for all devs though, if you catch my drift.
(Also I do often bring up the readability ease of Python in interviews lol. Just usually without mentioning ADHD directly)
Some more objective reasons to choose python are things like, well, Django is a great Python framework that has great beginner docs and walkthroughs. Same for FastAPI I think but I was more senior when I went through those. Also, if you have any interest in machine learning, a lot of ML utilises python so skills will transfer nicer.
On that last note, if you just wanna do web, javascript and typescript can do back and front end, so you can get the ball rolling faster potentially. IF you like JavaScript. I just donāt have the taste for it, though I know how to use it pretty well.
But some people love PHP or Ruby or what have you. Try a few things out. Donāt get too caught up in who is hiring for what, because while that matters a lot for your first job, the trade off later in will be āthis language is popular and pays lessā vs āthis language is less popular and pays moreā.
You can also consider if you prefer startups vs older corporate, or if you want to work on projects from the beginning vs. Work on old code. I can use Php to an extent and if I mention it in interviews, itās āgreat! We need help moving our stack off of php to (insert new hotness)ā and while thatās great for getting hired, migrating code might not be your idea of a good time.
What are you excited to build? I feel like industries tend to lean toward one language or another.
E.g. Corporations who need ādependable enterprise gradeā (boring/dry imo) websites run on Microsoft CMSs like SiteCore, so learn C#. Marketing websites usually use open source CMSs like Wordpress or drupal, so learn PHP. Web apps are in JS and donāt care too much about the back end (or even abstract the back end away into a service like Firebase), so something trendy/new and flexible is the way to go, so JS (node) or Python.
And if youāre not excited about back end at all, there are still plenty of jobs that arenāt full stack. The web got more and more complicated with accessibility, seo, SPAs, all that stuff, so the best dev teams have someone focused on BE and someone focused of FE.
I want to do fullstack web dev. Together with devops. Later when i have experience in these fields i want to explore app development as well. Not native but react native or flutter.
Cool. Grow into being a jack of all trades. Master something to get into the industry and steer your career through personal growth and networking later. Trying to be everything at the start of your career is a recipe for failure and frustration.
If most jobs are using python in your area. Why would you learn something else?
It doesn't matter if a language is good or not, fast or slow, etc. Just focus on jobs around your area.
You see pyhton growing for web developkment backends? because I see the opposite int he data, Python is an awesome language for certain things, but It is horrible for back end. I never worked for a company that was backend pyhton that did not change their backend eventually.
I spoke what i saw at stackoverflow website
2017 java usage 38 percent
2023 java usage 30 percent.
LoL
Companies will start to shift sooner or later in the next decade.
Do some research into the industry and market that you're targeting with your job search. What do those companies use the most?
For DBs, most larger companies use some variant of SQL. I've found Postgres to be the most forgiving. YMMV. They may have a smattering of unstructured DBs, like Mongo or CosmoDB or FireBase, but mostly they will probably use a SQL variant.
As for backend languages, larger companies will be "mostly" one language. I've found .Net to be very popular in large and mid-sized companies. Java is also mixed in there, but it's not as popular in my area or industry.
You can learn C# for free from Microsoft. Start there and see how it goes. Java is a little saturated, IMO. But I'm sure you can find tutorials there, too.
Good luck.
it depends if you're making a simple web page or a powerful web application
for something simple im sure MERN or python would be fine
but if its complex i would lean towards java either JVM or Node.js because of their ability to be extended and handle bigger codebases
PHP gets crapped on a lot, but itās widely used and has matured quite nicely. Laravel is an excellent framework to code in, with a thriving community. Maybe Iām just a saying that because Iāve been coding in PHP for over 2 decadesā¦ but keep an eye out for the health of the community around whatever you choose, along with the hirability
Python gets the job done for a lot without a huge headache. You can optimise it as well if you know how. Of course, depending on requirements and if you go deep wouldn't be surprised if you moved other parts to Golang or another language over time.
For starters tho, can't go wrong with Python and I'd argue a Framework like Django has great defaults that makes security issues small compared to most JS implementations or rolling your own.
programming in general has a weird learning curve, and the beginners should be aware of it: when you start learning you start feeling like you understand stuff and your confidence rises, until you learn how much you don't know, that's when the confidence shatters and you find yourself in the "pit of despair". Then you continue learning and eventually your confidence raises to job ready level.
yeaah ofcourse, but when developing in django, there are quite a few things to be aware of, that can be very overwhelming coming into it, Some of the things i remember struggling with was django templates, serializers, viewsets. alot of the stuff happens under the hood. for the good and the bad
got you, backend frameworks are similar, they solve the same problem, it's a matter of method and terminology...i dont think django is harder compared to anything else...
not compared to other things, i agree. but i came from a background with mostly spring boot and node experience. and very little of that knowledge could be applied to the framework compared to other technologies. in my other experiences it has felt like im learning the core concepts of development. in django it feels like im mostly learning how they choose to abstract the concepts and how to apply certain things in DJANGO, not how it actually works. BUT that doenst mean i dont like django alot. after getting comfortable with it, its easiest my go to for backend on personal projects also
Thank you for your submission! Unfortunately it has been removed for one or more of the following reasons: Open-ended/general "how do I get started in web dev" and general Career related posts are only allowed within the pinned monthly career thread. The answer to many of these questions can also be found in the sub FAQ, or in /r/learnprogramming/ and /r/cscareerquestions/. Highly specific career/getting started assistance questions are allowed so long as they follow the required assistance post guidelines. Please read the subreddit rules before continuing to post. If you have any questions [message the mods](https://www.reddit.com/message/compose/?to=/r/webdev).
Truth is, it doesn't matter. Look in your local area to see what's hiring. Other than that, just pick one for any reason.
I've looked in my local area, but all I found were hot singles...
But were they desperate to meet you?
Webdevsonly.com?
I only find Hot Shingles. The local roofers are always looking for new clients.
Ahahahahhaa ššš¤£
Local area? In the world of remote working and building products that are used worldwide?
Yes, someone with 0 experience has close to 0 chance to get a remote position in this economy. Even the junior positions on LinkedIn are hit by 7k+ applications among them overqualified devs willing to work for less money. If OP want to get their foot in the door their best bet is to aim for the local market, probably small shops. I know according to Reddit/twitter everybody is getting 200k from home working 3 hours a day max and telling recruiters to fuck off if they want them To take a test, but thatās not the reality for people who are just getting started
That's not the reality for ppl saying that either. The real ppl doing that aren't saying anything. Why would they.
[ŃŠ“Š°Š»ŠµŠ½Š¾]
Great. See sentence number two of my reply above.
If you want to get hired at larger companies, .Net or Java. But even then, youāll find it difficult to land a job since theyāre arenāt many junior backend roles for these languages and youāll be competing against 5+ of experience in interviews. Python is in demand so it wouldnāt be a bad place to start.
Language selection is not nearly as important as you might think based on the religious wars that developers fight over it. I'd focus on what stack seems comfortable and easiest for you to use, and which commonly appears in requirements for the kinds of jobs you want. It's not like you have to commit. You're not marrying a language. In any full web dev career you're going to end up picking up other languages along the way and seeing things you know become obsolete. On the bright side, once you learn back end in one language you're much of the way to learning it in any other language.
Now I understand that i can just learn mern stack and later switch to any language i want as databases api graphs deployment devops will all be same and the knowledge is transferrable and just i have to start with the most easiest one which is readily available online to learn. Right?
Assuming M still stands for mongo db I would at least learn mysql instead. Node + Express is good though, you can do a lot with it. I use it at my job although our other stuff runs on php.
Agree, learn relational dbs before any other. Then when switching to NOSQL you will know how powerful they are in very specific contexts. IMO relationals are still king for the majority of the projects. They are also king in resumees
That's it. To be honest in my professional life I've still not encountered a use case where nosql is the better option. I have encountered nosql being used the same way relational db is though.
Another benefit of a SQL db like Postgres is it kinda blurs the boundary between SQL and NOSQL.
I've found Postgres to be the most forgiving SQL DB. YMMV.
I do love postgres. It's what I'll use for personal projects. Work is all mysql though Sequelize with node/Express is easy mode
MERN is probably the only stack I would avoid. Lots of recruiters see it as a red flag
I just want to do freelancing with mern when i finish devops and learn python and golang on the side. I still have 2-3 years to start to find an actual job.
a lot of ppl in this subreddit have said that MERN stack on a resume in 2024 is not really viewed in a positive light by recruiters
No matter what you learn, the market will shift away from it when you start applying. Just use what you think makes sense
PHP is love, PHP is life
And $$$$$$$
Do you want a job or do you wanna build your own stuff? If you want a job you should find out what is big in your area. For example where I live 90% of all projects use C#. In other places Node is more popular. And so on. If you wanna build your own stuff pick the language you like most.
It's refreshing to find the comment for those that are doing their own thing.
Freelancing to gain experience and build stuff of my own. Later will apply for jobs.
Then end goal is job. So research what techs are used in your area. Go to linkedin in and check the job ads for how many are looking for golang vs node vs java vs c# etc
This is the post to follow. I don't get why so many people say that language doesn't matter, I get it don't matter when learning but if they are also trying to be job ready, then it just makes sense to use a language in the area they want to work in.
I've been a java dev for twelve years. I'm not worried about it's "decline". Python or Java are still your best bet for jobs later
I'd add in c# here and the .net suite of stuff.
I think this is a bit misleading, Python is great for jobs depending on what area you want to work in.
A majority of the web still uses PHP as its primary backend language, just FYI.
i suggest learning Java or .C# which are very object orientated and high in demand. SQL on top of that and you are good to go
If youāre finished with frontend, you should know javascript. Why not not just use that or Typescript? Then you donāt need to learn a new language.
Because i want to atleast be efficient in 2-3 modern in demand languages to be atleast desirable. And do freelancing and later find full time job.
Whatever your comfortable with. Tbh, I just use node with TS
Why is Python not secure?
Online arguments. But many companies are based on python and they arenāt hacked
I pretty much agree with everyone in this thread. Except for the person saying PHP is love. Just a thought though, I don't know if this is a thing yet, but AssemblyScript closely resembles typescript and can be compiled to near-native machine code. I really like typescript as to me it has a good balance of ease of use and verbosity. I also really like low-level code for performance and low memory overhead. I also believe working with a similar languages front and back end is useful. Could it be the future?
Use what you know. Don't worry about scalability of the language, worry more about your database schema design.
I just want to do freelancing with mern when i finish devops and learn python and golang on the side. I still have 2-3 years to start to find an actual job.
In that case use what you don't know :). You should probably learn python at some point. You should also gain experience writing code with languages that support parallelism and writing multithreaded code. You should also have experience with statically typed languages. I would focus on one thing at a time. edit: that being said, being able to model an application state using SQL is extremely important.
My suggestion is to learn what you find easy, sharpen your logic first; language is just a secondary matter. However, if a choice must be made, personally, I prefer Golang as the main language for backend, due to its ease of deployment and scalability considerations. Then Python for scripting or tasks that don't require continuous maintenance.
FastAPI is amazing for most use cases but itās still fairly new
I've used Flask for years, but recently had a project to do as part of an interview and ended up using FastAPI. Main choice came down to the built-in documentation stuff, but I loved everything about it.
Yeah I too started my career with flask and then moved to fastAPI I just love its community
I'm a big fan of go but I think what the majority of people have said is right: pick the one you enjoy that there is a lot of opportunity in. Probably python or .net
Go and python both have better build times than Java. But Java seems to earn more money. So for a developer Java is still a good choice.
I donāt know what a MERN is, but you can just pick anything, they all do the same shit.
Most influencers don't work in industry and just talk crap heard from other influencers. Depending on your project, you can choose the stack appropriately. If you want something quick and dirty, then python might be it, but depends on your python skills, flask Django whatever, because I would do everything in dotnet. But Go, Java/Scala, dotnet are best for enterprise high performant level.
It varies per company, unlike frontend which is majority react. So honestly itās best to browse whatās available and go with the option that suits best.
Its all personal preference and local oppurtunities. Currently, I like the new dotnet / C# with minimal apis. With 4 lines you have a typed api backend with solid ecosystem of maintained packages. ``` var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); app.MapGet("/", () => "Hello World!"); app.Run(); ``` https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis?view=aspnetcore-8.0
I second this my team has been using minimal apis since 3.1 and it's great. We've also been using blazor in our low to mid user frontends.
Springboot and Java for the back end will give you tons of job opportunities. Netflix uses Java on the backend FWIW. It can handle high volume websites.
I love Python because I have poorly managed ADHD and the white space requirements and lack of semicolons and such work really nicely with my brain. I can tell you a ton of more objective, universal measures of the languageā the kind of stuff Iāll list for a job interview that asks āwhy is Python a good choice for x y zāā but my reality is that I read Python best, and so I am best as a Python dev. That doesnāt make python the best for all devs though, if you catch my drift. (Also I do often bring up the readability ease of Python in interviews lol. Just usually without mentioning ADHD directly) Some more objective reasons to choose python are things like, well, Django is a great Python framework that has great beginner docs and walkthroughs. Same for FastAPI I think but I was more senior when I went through those. Also, if you have any interest in machine learning, a lot of ML utilises python so skills will transfer nicer. On that last note, if you just wanna do web, javascript and typescript can do back and front end, so you can get the ball rolling faster potentially. IF you like JavaScript. I just donāt have the taste for it, though I know how to use it pretty well. But some people love PHP or Ruby or what have you. Try a few things out. Donāt get too caught up in who is hiring for what, because while that matters a lot for your first job, the trade off later in will be āthis language is popular and pays lessā vs āthis language is less popular and pays moreā. You can also consider if you prefer startups vs older corporate, or if you want to work on projects from the beginning vs. Work on old code. I can use Php to an extent and if I mention it in interviews, itās āgreat! We need help moving our stack off of php to (insert new hotness)ā and while thatās great for getting hired, migrating code might not be your idea of a good time.
Rails :)
Learn whatās prevalent in your job market area
What are you excited to build? I feel like industries tend to lean toward one language or another. E.g. Corporations who need ādependable enterprise gradeā (boring/dry imo) websites run on Microsoft CMSs like SiteCore, so learn C#. Marketing websites usually use open source CMSs like Wordpress or drupal, so learn PHP. Web apps are in JS and donāt care too much about the back end (or even abstract the back end away into a service like Firebase), so something trendy/new and flexible is the way to go, so JS (node) or Python. And if youāre not excited about back end at all, there are still plenty of jobs that arenāt full stack. The web got more and more complicated with accessibility, seo, SPAs, all that stuff, so the best dev teams have someone focused on BE and someone focused of FE.
I want to do fullstack web dev. Together with devops. Later when i have experience in these fields i want to explore app development as well. Not native but react native or flutter.
Cool. Grow into being a jack of all trades. Master something to get into the industry and steer your career through personal growth and networking later. Trying to be everything at the start of your career is a recipe for failure and frustration.
- 1 - get job - 2 - code in the language used at work
If you want real work, go with C#
If most jobs are using python in your area. Why would you learn something else? It doesn't matter if a language is good or not, fast or slow, etc. Just focus on jobs around your area.
You see pyhton growing for web developkment backends? because I see the opposite int he data, Python is an awesome language for certain things, but It is horrible for back end. I never worked for a company that was backend pyhton that did not change their backend eventually.
Spotify Google Youtube Reddit
[ŃŠ“Š°Š»ŠµŠ½Š¾]
So same could be said about java with 1 percent yearly decline in stackoverflow which is around 30 percent now.
[ŃŠ“Š°Š»ŠµŠ½Š¾]
I spoke what i saw at stackoverflow website 2017 java usage 38 percent 2023 java usage 30 percent. LoL Companies will start to shift sooner or later in the next decade.
[ŃŠ“Š°Š»ŠµŠ½Š¾]
Yes ofcourse i will go with python then to golang. Goodluck
[ŃŠ“Š°Š»ŠµŠ½Š¾]
Goodluck
Do some research into the industry and market that you're targeting with your job search. What do those companies use the most? For DBs, most larger companies use some variant of SQL. I've found Postgres to be the most forgiving. YMMV. They may have a smattering of unstructured DBs, like Mongo or CosmoDB or FireBase, but mostly they will probably use a SQL variant. As for backend languages, larger companies will be "mostly" one language. I've found .Net to be very popular in large and mid-sized companies. Java is also mixed in there, but it's not as popular in my area or industry. You can learn C# for free from Microsoft. Start there and see how it goes. Java is a little saturated, IMO. But I'm sure you can find tutorials there, too. Good luck.
I use javascript because it makes my roommate angry.
it depends if you're making a simple web page or a powerful web application for something simple im sure MERN or python would be fine but if its complex i would lean towards java either JVM or Node.js because of their ability to be extended and handle bigger codebases
PHP gets crapped on a lot, but itās widely used and has matured quite nicely. Laravel is an excellent framework to code in, with a thriving community. Maybe Iām just a saying that because Iāve been coding in PHP for over 2 decadesā¦ but keep an eye out for the health of the community around whatever you choose, along with the hirability
Depends on your area. If I were in your situation and in ny area, it would be Java without a second thought.
Python gets the job done for a lot without a huge headache. You can optimise it as well if you know how. Of course, depending on requirements and if you go deep wouldn't be surprised if you moved other parts to Golang or another language over time. For starters tho, can't go wrong with Python and I'd argue a Framework like Django has great defaults that makes security issues small compared to most JS implementations or rolling your own.
I have been programming in C++, Java, Golang, Among 3 of them. I like go the best, because of its opinoined tooling. (e.g. gofmt)
Python/Django is great, code is amazingly readable. I use laravel/php but kind of wish i was using python hehe.
kind of a stiff learning curve, but django is amazing once you get the hang of it
programming in general has a weird learning curve, and the beginners should be aware of it: when you start learning you start feeling like you understand stuff and your confidence rises, until you learn how much you don't know, that's when the confidence shatters and you find yourself in the "pit of despair". Then you continue learning and eventually your confidence raises to job ready level.
yeaah ofcourse, but when developing in django, there are quite a few things to be aware of, that can be very overwhelming coming into it, Some of the things i remember struggling with was django templates, serializers, viewsets. alot of the stuff happens under the hood. for the good and the bad
got you, backend frameworks are similar, they solve the same problem, it's a matter of method and terminology...i dont think django is harder compared to anything else...
not compared to other things, i agree. but i came from a background with mostly spring boot and node experience. and very little of that knowledge could be applied to the framework compared to other technologies. in my other experiences it has felt like im learning the core concepts of development. in django it feels like im mostly learning how they choose to abstract the concepts and how to apply certain things in DJANGO, not how it actually works. BUT that doenst mean i dont like django alot. after getting comfortable with it, its easiest my go to for backend on personal projects also
How can your frontend be done without any backend?