Web Development Vs. Software Development: How To Choose?
Articles,  Blog

Web Development Vs. Software Development: How To Choose?


Hey, what’s up, John Sonmez from simpleprogrammer.com. I have a question for you about web development
or software development. Let us choose. This question is from—oh, this is a very
interesting name. I think it’s Lyubomir. That’s pretty cool. Sounds like he could probably on Lord of the
Rings or something, sounds like an elfish name Lyubomir or maybe a dwarf. Anyway, he says, “Hello John!” Exclamation, I like that. Start with an umph! “I really like your videos and the advices
that you are giving. Wish you the best and a lot of success to
your productive channel.” Thank you. “I am a 19 year old male, who is about to
start university in 3 months with major in informatics. I saw the curriculum of it and I am going
to study a lot of C++ and Java. The problem is that I want to become a web
developer (probably backend), but I also love software programming, using algorithms and
loops. I had little experience in C++ programming
in the past for about 3-4 months and I find it really cool and fun. On the other hand I like web development too,
but I suck at design. My first question is what should I choose:
Web development or software development? Can you go in depth about their pros and cons? Can I learn C++, Java, etc. and few web languages
or do I have to specialize in one area? And can I be a frontend developer without
doing design and working with softwares like Adobe Photoshop?” I already answered the second question. As far as web developer I’m not going to
reanswer that but you can definitely checkout the video that I have about can you be a web
developer without design skills. The answer is yes, you can. But now, to choose between software development
or web development. It’s kind of a nitpicky phrase. Is there really a difference there? I think what he’s talking about is really
doing kind of backend type of development versus frontend. I did a video on backend versus frontend. You can check that out here just to get some
more context. But between choosing the 2, it doesn’t really
matter all that much. What matters is the specialty that you pick
and this kind of addresses the bigger question here is what are you going to specialize in
and what are you going to choose? Because even if you just said web development
you’re not just going to become a generic web developer, you’re not just going to
become a generic software developer. You need to have a specialty. Again, I’ll point you to my playlist on
specialties which you can check out here. It’s ever growing as more and more of this
topic is discussed, but there’s a lot of good information about there. If I had to choose today between going the
web route or more the backend route it’s a tough one. I personally think, this is just my personal
opinion here at this point. I think it’s a lot more fun and interesting
to work on algorithms and to work on the backend stuff. In my career, I did software development for
15 years, more than 15 years. I had a lot more fun working on like coming
up with the algorithms and designing the architecture, the stuff that you didn’t see because I
felt like it required more brain and more thought and more—it was more challenging
to me. I’ve always liked that type of challenge
that’s presented by that, to come up with the design of the architecture, to build the
things, to unit test them and make sure that that works. To me that’s always had the bigger appeal
building these kind of things that are not visible but are still critical to an application. That’s my personal opinion. I think that’s more fun. When I’ve done web development I actually
did a video on I hate web development. I was talking about this a little bit. A lot of web development just—again, some
of you are going to argue with this. That’s fine. That’s cool. This is just my opinion. But in my opinion what I’ve seen as a lot
of web development is doing crud type of stuff where you’re basically wiring up stuff to
a user interface and then making it work and then doing the design components and fiddling
with why does this button not work or why is this not showing up correctly. There’s some challenge and there’s some
fun in that. I don’t want to say that it’s just total—and
there’s some excitement. There’s a feeling when you’ve created
a web page, you’ve created a web app and it works and you go to the website and it’s
amazing because you created this thing and you’re seeing it working. There’s that, but it’s a little bit more
boiler plate, it’s a little bit less challenging for those of you that want that challenge. Again, not to say that there’s not challenge
especially with some of the JavaScript frameworks I know with React and Angular stuff, there’s
more architecture built into the frontend. We’re kind of blurring the lines there. In that case, I could see that. I haven’t actually worked a lot with React
so I can’t really talk to that, but in general, I find that web development is more of the
making the things work and translating directly from the requirements, I need to build a page
with this button that does this thing to the code and the markup that makes that happen. Whereas the backend stuff that you might do
that is not visible to a UI is going to be more like, okay, you’ve got these big requirements
and ideas and now you have to come up with this architecture and stuff. That may appeal to you more. Again, it depends on you. This is just my opinion. If you’re creative and you like design and
development type of stuff, maybe that creativity will be sparked in web development. But if you’re a different kind of creative
and you like the problem solving, deep algorithm type of stuff then the backend stuff is probably
going to be more appealing to you. That’s what was more appealing to me, although,
like I said, I’ve done both and I’ve enjoyed both in my career. I just would prefer, if I had a choice, if
someone said, “Okay, you can only do 1 kind of development for the rest of your life”
I’m going to skip the web and all of the problems and complexities of that and I want
to work on the pure backend stuff. That’s just me. What about you? Leave a comment below nad let me know what
do you prefer. Let’s take a vote here: web development
or nonweb development, software development. I don’t know if we should divide it that
way. We can say frontend or backend. What are you, a frontend or backend? What do you prefer? Also, out of curiosity, what are you doing
now? Are you doing what you prefer? Because I’m curious of how many of you are
not doing what you actually would prefer to do. Leave a comment below to let me know. If you like this video, click the subscribe
button. You’ll get more videos like this, 2 to 3
a day, and I will talk to you next time. Take care.

100 Comments

  • Jukka Paulin

    No particular preference. Doing currently frontend, React Native. Your messages resonates. Front-end development has the initial highs, probably due to very visual and immediate nature of things. Where the challenge comes, IMHO, is seeing the patterns and making stuff that you know and can reuse.

  • thomas grice

    Imo, frontend, both in functionality and in architecture, has become more and more sophisticated over the years. I think there are valid reasons to want to do either (or both), and at this point you can find a lot of depth and problem solving in either.

  • mhsamsim

    I feel like you completely misunderstood this question, to me it seemed the person was asking to choose web development (front or back) vs software development as in C++/C code for either embedded or OS driving software.

  • Shivayogi Hiremath

    Hi John, I've recently completed by Master of Computer Applications(MCA) , and started my currier as a ERP technical consultant that to NAV in specific. I'm good at application development . Somehow i came to this field , now i'm confused, whether to go for application development or to continue with the same . Which one is better? can you please suggest me. and if it is to continue as a erp developer , then how to improve my skills ? please guide me. Eagerly waiting for your response. Thanks and Regards,Shivayogi

  • florian burel

    It's not so much about backend or frontend.. It's more of the technology you use. plain old html and CSS are awful (imho), but use a framework like angular and you are good to go. And if you do some dev for iPhone or android, you are doing both back and front basically at the same time… but again, developing in C# is less painful that developing in old school java 5, yet if you end up working in a bank or an insurance company, you might have to code in java 5 with is backend stuff, but totally not cool. So yeah, I love code, I ate writing html or xml or css 🙂

  • Gabriel Lephadi

    I am a Front-End guy no doubt BUT I also like to know HOW stuff works and why it needs to work in in that way. My question is then… Can one be good at both Front- and Back-End development?

  • Dan Fletcher

    I think a lot of software is CRUD regardless of being in "software" or "web" development. Is there really a difference anymore? What software do people develop these days that isn't connecting to some sort of web interface? Not much. My company calls me a "software developer" but our app is technically a website. Definitely a lot of CRUD work but there is also a ton of complicated services that we build out to support the application. I think the titles, "Software Developer" and "Web Developer" are too ambiguous, as is a lot of other job titles in our industry.

    You can try to get language specific like "Python Developer", "Java", or "PHP", but that doesn't even describe your job well. Are you writing Java for web? For mobile? Internal systems? What if you call yourself a "Front End Developer"? Are you writing HTML/CSS with some jQuery or you querying data and handling all of the presentation logic, routing, and writing all of the front-end services for a PWA?

    Even if you're using Angular/VueJS/React or whatever, there's a big difference between making a few reusable components for an agency that mostly works on small to medium-sized business sites vs building out the UI of an entire product. (Although if you're working with Angular you're probably not making small components that can just be plopped into any webpage).

    Nothing against the video lol, just ranting about the craziness of our job titles in this industry, because nobody knows what the hell we do, and even when we talk dev-to-dev it can be tricky, to sum up our roles in one phrase.

    I've started telling non-tech people that I'm a wizard because it's no more descriptive than "I'm a web developer" :p

  • Digitally Perry

    I am so glad I found this video. Thanks for the insight!

    I'm currently working in a broad role, covering mostly digital marketing, but I also launched a new website for my company (http://www.rodliffeaccounting.co.uk/) at the start of the year. That was a massive milestone for me as I was still doing my digital marketing apprenticeship at the time.
    Although I love social media and designing new experiences, I much prefer solving black and white problems, where the solution comes down more to functionality rather than visual design.

  • Kabya Banerjee

    I think that was a very cool explanation..both web development and software development involve a frontend and a backend part…for web the frontend might be HTML, AngularJS etc and the backend might be PHP, node etc….while for software the frontend might be XAML, and the backend might be C#, Java…so at the end of the day it boils down to your personal choice….I personally love backend…especially C# (actually it's my job) and I think that both of these categories provide their fair share of challenges to the developer..Cheers!!

  • Michael Maxime

    Web development is annoying because your client/boss wants things done their way and 90% of the time don't know how to describe it. So it leaves you being a yessir-boss slave. While Software development or back-end usually has a clear goal/purpose. All you have to do is think creatively on how to execute it.

  • SelfSage

    Software development is good !! Web development is a small part compared to the customers out there. Every one uses WordPress and e-commerce platform to blog or sell on their website. In my opinion software development has gradual growth while with web development, there is too much to learn and not for all

  • Reem Khattab

    So I didnt get formal education in CS or Software Engineering. I am a bioengineer originally, and the job market in my field is terrible. However, I am learning how to become a quality assurance engineer and doing automation. For me having things be boiler plate is actually a pro, because I feel like I can get work done, and also have that flexibility and time to understand. It works best for me because I don't have to feel swamped or overwhelmed with "not knowing" enough. But I do see how front-end or web development could be boring for someone who has a CS or SE background. I think web dev is a good foot in the door for those trying to break into the field.

  • Chris Wass

    simple programer, i really need help. Im a mechanical engineering student thats about to graduate next year but i decided that i want to become a software engineer instead. my plan is to finish my college as a mechanical engineer then self study or do online courses to get the software engineering skill i need to practice it. any recommendation on what i should do?i really need help…

  • tallgeese1

    You're either a front-end or backend developer. Neither is better than the other. They end up being symbiotic, you can't exclusively have one w/o the other.

  • 2LegHumanist

    Backend all the way.

    I'm a full stack developer, but I find the fiddly nature of front end work frustrating.

    Having said that, if there are people who make decisions about your career who are non-technical, you better have some front end. It's all they see and they value it more than real development.

  • Jared Blackburn

    I for one would much rather be an application developer (desktop / mobile) or systems programmer than do web development (front or back end) — though I get the impression there are a lot more opportunities in web development, in which case I'd prefer back end. Currently I'm student in IT at a local tech school (only formal training I can afford).

  • liviu blidar

    What I believe was not covered enough is addressing the problem of: "can I learn Java and C++ and still be a back end web developer if I wish", and the answer is yes. The jobs that you will find out there will be significantly fewer then say PHP or Ruby, as I personally don't know anyone who uses C++ for back end web development (although I'm fairly sure is possible to do so, maybe there just aren't that many frameworks/libraries that focus on this), but there are a number of companies that will choose Java for their back end. At the end of the day a web server is just a computer configured to take an HTTP request with some payload (JSON or what else), do some operations with that input and spit back some output via the HTTP protocol. There's tons of options as to how to configure that machine to do the job. If Java is what you wish for, then have a look at JavaServer Faces – JSF and the Java Spring framework. They're awesome tools for building web apps with Java.

    Would this be your ideal path to becoming a back end web developer? probably not. There's better stacks to start with if you want to focus on web development. However, C++ and Java will teach you the fundamentals of programming (variables, functions, the control flow of data with if…else statements, loops and switch statements). Both of them are object oriented which is always a good place to start with programming paradigms, so if they don't especially teach you web development, don't consider this as wasted time but learn the concepts of programming. This will enable you to learn pretty much any programming language that you want in little time, may it be JavaScript, PHP, Ruby or whatever your ideal back end job will be using.

    Once you get into programming and start to understand how things work, try and experiment with a Node.js server, build a REST API to experiment with HTTP calls and you will find that concepts aren't that different from one place to the other. Sure, some things that exist in java won't exist in JavaScript and vice-versa, but hey, you already know the basics, is just the ins and outs of the language that you need to learn now.

  • Silent Lessons

    In my experience web development is now cluttered with a myriad of languages. Example, you can develop in PHP but you will never run away from html,css, javascript families, etc. This is counter productive to the brain which functions at its best when you specialise. I have found it hard to specialise in web programming. I am currently working on a big project creating cms system in PHP but because i hv to mix a variety of languages sometimes I end up inadvertently using echo in a javascript function instead of alert and vice versa. Now jump the Java wagon for example. Once you specliase in Java your brain just loves it because there will be no time when other languages are needed in a Java code.

  • Vahid Alavi

    Lots of misleading information in this video.
    Lots of people say university is not needed to learn coding. I am strongly disagree. And this video is a justification of it.
    Now, to answer the question:
    Web development is a category of software development.
    Software dev categorizes to embedded, desktop, web and mobile software.
    It is common and widely accepted to call web software as web application.
    A team is involved to develop a web app: web analyst, information system designer, software architect, web designer, web developer, database developer and project manager.
    Web designer only works with UI/UX part. A web designer does not code.
    Web developer does code. Frontend and backend.
    Frontend is as challenging as backend.
    C++, C#, Java, python and php are the backend languges and you should learn one verywell. Once you learned one, you should choose a framework.
    Frontend is also challenging. You also deal with algorithms. Javascript is the most famous scripting language for frontend There are web applications that use only javascript, with a concept called as AJAX. HTML, CSS are two more distict languages that you have to learn. But they are not sufficient. jQuery, SASS and many more things you have to learn if you choose frontend programing

    My advice to you, it does not matter what language you learn. Cause once you learn one throughly, you can learn others. You can be a web developer, then later move to desktop, or mobile. What matters is you should know the concepts and fundamentals well.

  • J Antonio

    At the end of the day, you need BOTH ! I wouldn't be satisfied with just knowing one trait. Plus, remember, the more you know, the better off you will be.

  • Raghad Alqobali

    Still confused because i still studying maybe if i tried them i can choose but i like to solve complex algorithms and all this stuff in backend software development

  • Abdullah Fazli

    I like full stack web development
    I like both of them.
    I am a student of 4th SEM of BCA in Bangalore Uiversity India.
    And now I work on a project (A College Website).
    I would prefer Full Stack Web Development (Front-end and Back-end).
    Thanks.

  • NickySensei

    can u plz answer a question.plz.anybody? I wantted to learn programming. have good basics. like 2 months in c++.but before this I learned html and css too.
    haven't worked that much but I wanna continue with one. my questions are. should I learn web designing? I really wanna be good at outsourcing.how doo I.do that? should I really need to learn graphic design too to be gud at web designing? plz answer.

  • Abdul Hakeem

    Hi John.. Really nice video… but i have a question.. i'm learning full stack development.. which is front end and the back end.. ok this is my question.. can i get a long ride i mean good career with full stack development.. is that really good to learn?

  • dj miXin

    I got my degree in Web Graphic Design (front end) but my first jobs were with the support team which implied less creativity and more technicalities. Now I'm more interested in the back-end, computer information systems software programming and look forward to learning. What really has drivin me was experiencing with Javascript and CSS3.

  • Ragib Hasan

    What did you mean by back end development? So you are trying to say that a web application software is not actually a software! But there tons of point of sale and other business software that are running on web servers.

  • marceln2

    This is wrong in 2018. Backend is only CRUD. Like what is there to code in backend? You make transactions, all your connections to DB are automatically created. You're reading and saving data into DB tables. Frontend has much more complexity now. It has architecture, unit tests etc. Many backend Jobs are boring as hell.

    Let me give you more important points: Backend is more critical.and harder. If you mess up in backend you users data can be exposed. If you don't understand transactions your DB data can get corrupted. Etc… There is a lot to learn in backend. But eventually you can learn it all if you have a superior at a company and they give you a checklist of things that need to be done and check for you once or twice then it's just repeating the same techniques. Advantage is that backend technologies do not change so often.

    Now the interesting part in backend happens before. It is setting up the whole architecture. You usually do not do it at a backend developer. You come to a company and it is all setup and you just develop new features.

    Frontend nowadays has much more complexity and good techniques with reducer and ngrx. Most of the things that 10 years ago were done in Java are now done in frontend and the backend just exposes a rest API to read and save data in the DB and check access control rules to do these operations.

    So I would rather distinguish between doing architecture and just being a programmer. Designing a new system is running front and backend. If you just do features it is going to be mostly CRUD in both frontend and backend.

    I am talking now about enterprise grade web portals. Of course if you is it do a web page for a coffee shop then it's a completely different job. Probably can be done quickly with some template and content management system.

  • Simple Programmer

    Simple Programmer has a brand new channel! John Sonmez is back (with other programmer career coaches as well) to help you build the programming career you've always dreamed of.

    👉 SUBSCRIBE TO THE NEW SIMPLE PROGRAMMER CHANNEL HERE: https://simpleprogrammer.com/yt/spnewytchannel

  • dacypher22

    Wow, I am a full-stack Web developer (mostly node or .NET and Angular or React), and my experience is the total opposite. I find the back-end to be much more boilerplate and implementing the same patterns over and over again, whereas the front-end tends to be solving more novel problems. The back-end is the much more understood and time-tested part of a modern Web app considering how fast front-end has changed just in the last 10 years. But to each their own and I am glad there are people who find more interest in the back-end.

  • Elena Nasekina

    From the creators of Test World (https://youtu.be/zgF4hCAnXvI), The Best a Tester Can Get video is a tribute to Gillette (arguably The Best Man Can Get), and it also marks the fifth anniversary of Exactpro's Build Software to Test Software tagline. https://youtu.be/m3qhZkisejs

  • Eduardo B. R.

    I agree 100% with you and i too prefer back-end any day, but the javascript is invading our space and i don't like that at all 🙁 i am concerned about this very much, robust languages like c# and java are being replaced by javascript with Node and i am not happy with that. Every time i go check the job market i see a lot of Node in there or other thing but no c# or java :-

  • HE360

    I have been doing game development. But, I am switching to web development because there seems to be more jobs in it and even game developing studios need web developers.

  • Ali Humaydan

    I am an engineer student and im looking to start learning some programming. On my opinion ,you should learn how to create and function a button before learning how to make it do calculations or hardcore stuff .Like fantasizing about making a cool car then figuring out how it should work.

    im going with Front-end at first and see how it goes.

  • Virtual Code

    Bro, back-end is part of web development, it's different from software development. Software development is creating programs in languages like Python, Java, C++, C#. It's a whole different world from this shitty web stuff. Examples of software development is creating games, game engines, applications you use everyday.

  • Mohammed Ehtesham

    Hey John! Love ya, no homo 😋
    I love challenging myself for solving problems and coming up with algorithms to fulfill the requirements. I am really into it and I have found myself pretty good at it as I have solved a lot of real world challenges or problems. But I didn't know exactly where these skills of mine would be used, how should I proceed, what courses should I do, what should I learn, what skill set should I develop.
    Please guide me so that I get to use my talents and make money.
    Thank you.

  • Suriya pandian

    I need to clarify some doubts. I know how to develop desktop app using c# and how to develop mobile app using android and how to develop APIs with codeigniter. I have tried the above mentioned things in my project. My major problem is what should I learn to survive in this programming World?.

  • Nachannachle

    I'm in the same situation as this dude.
    Software development/Back end is just much more brainy/rewarding/challenging than doing fancy interface. I'm finishing my Web Dev diploma, but I've already picked up training/working hours in Programming. It is MUCH more fun!
    That said, career wise, there is a lot of scope in Web development: Testing, programming, designing, content writing, etc. There are loads of clients asking you to rebuild/revamp their webpages/apps, much more than big companies wanting you to rewrite/upgrade their software.
    In any case, I'm happy to get experience working in both fields.

  • MrApplewine

    The names are messed up because Web Development is Software Development. I take it that Software Development means mobile and desktop platform and web means web platform of course. Nobody says desktop developer though, probably because that is where software development started, excluding mainframe developer, which is also used.

Leave a Reply

Your email address will not be published. Required fields are marked *