What Is Software Development? Software Development VS Computer Science

Hey, guys! Sylvester Morgan here with Sylvester Morgan.com
and in this video I want to talk about what is software development and what does a software
developer do. Let me start off by telling you what software
development is not. Software development is not the same thing
as computer science. I think it’s important to make this distinction
because I’ve come across a certain kind of comment throughout my journey. This comment used to be discouraging, and
then it became irritating, and now it’s just funny because the people who make this type
of comment are either misinformed or they’re bitter about something. I’ll tell you what type of comment I’m talking
about in just a moment. So what is software development? To me, software development is leveraging
the power or using the power of computers for good, using the power of computers to
do something to help people. Software developers create software that allows
family and friends who may be a thousand miles away from each other to be able to stay in
touch and to connect. Software development makes information available
to a lot more people. Software developers build desktop applications,
web applications, websites, mobile applications. And software is just about anywhere you look. There’s software in your car. There’s software in your microwave. So how do software developers do what they
do? How do they leverage the power of computers
to do these things? Developers do this by writing instructions
in a language that the computer understands. The software developer writes instruction
to tell the computer what to do and this instruction is written in what we call programming languages. There are many different kind of programming
languages based on the kind of instruction that you want to give a computer or the type
of problem that you’re trying to solve. At the core, there are usually three simple
things that software does. The first thing is it takes some kind of input:
that input might be from a keyboard, it might be from a voice, the input might be from another
computer. The second step is it usually does some kind
of processing or manipulating of the data or whatever it is that was input. And then the third step is output. The output might come through the screen,
it might come through the speakers, or it might go to another computer. To give you guys an example: if you go to
your browser, which your browser is a piece of software, and you type in SylvesterMorgan.com
that’s the input. The computer is going to take the input and
if you type in SylvesterMorgan.com, it’s going to start looking for (this is the processing)
it’s going to start looking for the coolest website that it can find and then the output
is going to display an awesome website that will help you become a software developer. You have software that does things as simple
as calculate the pay for an employee. It takes in the number of hours of work and
the pay rate and then it does some kind of processing. It will calculate regular pay and overtime
and then it does the output. It tells you how much the employee should
get on their paycheck. Or, more complicated things like take the
input. Type in an address where you want to go and it does the processing. It applies all these algorithms that find
the fastest route to your destination and then it gives you the output. It gives you the directions to that destination. So basically software developers use these
tools to solve problems and to create things or build things. So what kind of tools do software developers
use to do this? Of course, we use software. We use a program or a set of tools in software
that allows us to, that gives us this development environment is what we call it, and within
this environment, there are so many tools at your fingertips. There are components that you can drag and
drop so that you can create the user interface right on the screen and see how it looks. Then you can dig into what the code behind
that is. Everything is color-coded to help you understand
what’s going on in the language, whether it’s the key word in the language or it’s a word
that you made up. There are a lot of cool and powerful features
that really allow the developer to do something powerful. So this may sound intimidating but is really
not. Most developers are not building these things
from the ground up. There’s already this huge foundation in place
that allows the developer to build on top of these things. For example, if you got hired as an entry-level
developer, they’re not going to ask you to build something from scratch. You’re probably going to be working with an
existing code base, so you would be just fixing things within this code base, fixing bugs
or adding new features, adding small features at first and then moving on to something more
advanced. I mean, even if you’re building your own personal
project, there are going to be templates that you can use and things that will make it easy
for you to build things. You can just download pieces of code and then
tweak them to fit your needs. So again, basically, software developers take
the power of computers and tell the computer what to do in order to solve problems. So now let’s talk about computer science and
the difference between software development and computer science. As I started my journey all the way to now,
every now and then I see a comment or a type of comment online (it’s usually on somebody’s
page or blog or video) where they’re talking about how they made a living developing software,
how they learned software development and then apply those skills to companies. And they make a good living doing it. And you’ll hear these comments from some people. You’ll see or hear comments that say things
like, “You cannot be a good software developer without that computer science background, You need to have the foundational computer
science knowledge. You need to go to a university and get a computer
science degree before you can even touch a computer.” OK, I’m exaggerating just a little
bit. I watched a video where the guy talked about
how he dropped out of college because he was not interested in the computer science curriculum
and the things that he was learning. He wanted to solve problems with software
development. A comment said, “Well, you’re not interested
in what the class was teaching because you’re not really interested in computer science
or math or the theory behind it, so therefore, this is just not something that you’re cut
out to do.” But this is simply not true. Yes, computer science is the root of software
development. Software development is an application of
computer science. They are two separate things and you can be
interested in software development, you could become very good at software without having
an interest or passion in math or computer science. In fact, the development tools that I was
talking about earlier were created with this goal in mind: They’re created to make software
development more accessible to more people. They’re created so that the software developer
can focus on being productive at solving problems and building things. These development tools purposefully abstract
away or hide the intricate details, the intricate computer science foundation, and give the
developer a set of tools that allow them to do things very productively without needing
to know the intricate details behind the scenes. So why are these people frustrated with the
fact that some people are leveraging that power to do what they are passionate about? I think that going the self-taught route rather
than the traditional four-year degree route is becoming more popular and some people may
have a concern about the quality of developers, which I have a concern about also. Maybe they think that some people are entering
the field because they see it as something easy and something that they don’t have to
work hard for which I would disagree with, although, I don’t buy that reason because
that is not a problem that is unique to self-taught developers. You’ll find just as many computer science
graduates who are not passionate about computer science or passionate about learning more
and growing as a professional. I’m not saying that the computer science knowledge
and that the passion for computer science and math is not necessary or it’s not important
knowledge. In fact, I highly respect those people who
have that knowledge and passion and there are definitely some fields, some professions
and career paths that absolutely require that knowledge. But they are not the same thing. They are not the same set of skills and interests. I don’t think it’s what most people or a lot
of people are actually interested in, those who are interested in becoming software developers. If you are interested in solving problems
and using those tools to help others to build cool things, to create, then yes, software
development is something that you can do. It’s something that you can become very
skilled at without that foundational computer science knowledge. But I would encourage you to develop an interest
and dig deeper into those things when it’s necessary for what you’re trying to build. I think it’s always good to have an interest
in understanding how things work behind the scenes, this kind of passion and curiosity,
but it’s not something that’s foundational or needed to get started. I think that as you become a software developer
and you start getting more experienced, you’ll start getting a better idea of what foundational
knowledge would help you do your job better, or maybe help you solve problems more efficiently,
or make better use of the tools that are available. But don’t let that stop you from getting started. Get started. Take advantage of all the powerful tools that
you have at your fingertips. OK, so to recap. Software development is the usage of programming
languages and tools to write instructions that a computer understands in order to accomplish
something, in order to solve a problem or to build something, or to automate something. And software development is an application
of computer science. Computer science is the root and the foundation
and software development sits on top of that, but they are not the same thing. You can start becoming a very productive and
skilled software developer without that foundational knowledge, but as a true professional, it’s
good to always be curious and dig deeper into those things as necessary or as you’re interested. If you come across those comments where someone
is bitter and they’re just mixing those two things up, just disregard. Do not get discouraged by that. There is no higher authority that can prevent
you from picking up a software language, taking your computer, and going and creating something
awesome. Thank you, guys, for watching. If you like this video, please click “Like.” If you see a comment like this, please do
share the link to this video and reply to that comment. Thank you guys, and have a great day.

17 thoughts on “What Is Software Development? Software Development VS Computer Science

  1. Thinking about this as writing to a computer, to give it instructions, on how to help other people and myself….that's a new way of thinking, thank you

  2. Very clear video! Thank you for taking the time to put it together. I hadn't truly understood the difference between software development and computer science until now!

  3. The funny thing is that their is actually a degree as a software developer. I have an associate degree now as a software devolver. We did learn some computer Science stuff but it focuses more on development then computer Science.
    I am strongly considering getting the bachelor degree for computer science but I don't have money to do that so it kind of sucks. I can still do it with a loan but a lot of dept.
    I want to try to get a job first in the field and the. Try to get the degree at the same time that is my thoughts.

  4. Also, bill gates did and a lot of the first developers did not have a degree, I think Corprations mainly want people to have them because it gives them peace of l mind that you know what you are doing. I honestly think degrees are a false sense of security for them because you will learn the theory and the their is a possibility that you may not be able to code so actually applying what you learn by self teaching yourself after college is over is externally important.
    The one advantage for universities is the internships. You can only get those at the BA level.

  5. Hi! I am a single mom 37 years and a true creative. I feel soft Ware development will be perfect for the life I want and the dreams I’m going to obtain. I’m very passionate about creatively helping the better the world with many sustainable living solutions. I had no idea that computers can help me accomplish helping others. Silly right.?! I feel like I just opened a new world. I feel like I’ve been stuck in an old time zone and I’m just opening my eyes to a new time zone. Thank you for giving me hope as an successor and doing this Channel for people like me. I want to give my self six months or (hopefully less) or teaching myself enough to land a job while I work a part time job and raise my 12 year daughter. I want to know what software should I purchase to start off with? Like type of computers do software developers use or any other gadgets maybe useful!

    Thank you and expect much success and happiness to you and your family!

  6. Usually its the Calculus two or Linear algebra that knocks people out of the computer science courses, I had a rough time in those courses myself, but managed to crawl through. You could use linear algebra to build a database engine that efficiently permits the manipulation of matrices that create the database. However, after that, a lot of the math is abstracted and you do not use it to the same extent to perform database look ups using the provided database language. A ton of different levels of programming to get lost in. I entered the field at about 25, initially scared off because I too was told you had to be a math genius to be a developer/programmer. But, not true.

  7. God bless and thank you so much…you are truly a big help for beginner like me. Please, your passion for helping people are amazing. Thank you!

  8. I was looking for many weeks about a clear explanation between CS & SD and I found it .. thank u so much. I m ready for my next step 🙂

Leave a Reply

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