Thank-you for the video! I'm looking to major in Software Engineering and minor in Hardware Engineering, and I thought the video was helpful in getting a better idea of what Software Engineering is. Thanks again.
I am very interested in Software engineering. after watching your video I feel less scared about the major I really wanna do. I am currently learning Python and starting to get a hang of it ^^ thank you so much! :)
M K Enoke Deelaka hey. I’m a high school senior and I’m planning on majoring in computer science in order to become a software engineer. I will like to ask you a couple of questions. 1) Did you study computer science in order to become a software engineer ? 2) What are the different types of software engineers? 3) does all software engineer create apps and if not which one can? I hope you answer these questions and thank you.
I just got my B.Eng in ICT and I am considering doing my masters in Software engineering and I’m doing some research if that’s what I really want. This was super helpful. Thank you!
Thank you for the insight, I always thought coding was very generic to the task but you've taught me that is not the case. My understanding now is, we can either write basic simple code to perform a function or we can write more complex code to perform the same function with better results. Planning a coding project was something I never considered but it makes perfect sense to me why this is important. Engineers use blueprints to achieve their visions. Software engineers do too. Thanks!
Hello and thank you very much for your comment! I really love your analogy with blueprints for construction! Wow, it does make a lot of sense! Engineers _could_ just jump in and build things without much planning (and I bet they do that for fun hobby projects), but if they need to do anything to scale, proper planning and procedure is critical. In fact, I might use this analogy moving forward, so thanks for the inspiration =)
A healthy human can learn ANYTHING!! It takes three things: 1. Interest 2. Dedication 3. Application I have seen Job offerings looking for a candidate to know the following: A. Database B. Networking C. Security D. Development E. Project Management F. Telecom G. Messaging When you look at the above it you quickly realized that it covers many areas of a typical business. So while there may be persons who are very very deep into Cybersecurity as a specialist it is becoming practical to learn other things. Look at the trends in market and industry. Look at jobs that may gets replaced through automation. Learn to learn other things. I know an accountant doing tiling on weekends. Another work in the bank but do freelance online. So yeah work and freelance. The only certainty out there is uncertainty.
im about to start college and just BARELY know anything about computers at all, thank you so much for this insightful and informative video, hopefully all this would make sense and help me during my course
This is actually one of the valuable video that shares great insights about software engineering. Thank u for taking time to discuss the basic aspect of SE.
I did computer engineering but i have a job interview for a position of software developer tomorrow. this video has helped me learn the needed concepts of software development that i didnt learn in school
It’s funny because as a solo, self-taught programmer since 2004 and hobbyist, I’ve kind of done all that stuff but in a non-standardised way. These things are just logically and naturally done as you program something. But not in such a formal way. The difference here is that there are formal ways to do all that and they need to be standard ways so as to enable a team to work together on developing a program. Since I’ve recently started my first software engineering role proper, I plan to learn from this and implement it in my hobby project as well. Learning those practises as soon as possible and getting good at them, will benefit my new career as a software engineer.
Hello and thank you for your comment! Yes! Strongly agree on this one! I was self-taught as well, before formally (re)learning a lot of things in a university context, and this was one of my biggest observations as well - Things are just more serious and formal, but at its core it's the same things we've intuitively figured out for ourselves.
My friend. Thanks for the video. I am an engineer but no expert in computing, its why I am watching your video on Software Engineering. We do the same process but each specialty of engineering speaks different words for the same action. For example what you call a "Prototype" in Design we call it just a graphical model. A prototype is the first running working product, the first, its why it is the Proto, which can be developed further to include new features. e.g. verison 2, etc. Requirement gathering is Specifications. What the final product must include. I guess that learning more about your specific language will draw many parallels. Cheers. and thanks.
Hello and thank you for your comment! Don't be too caught up with the terminology - Different people are going to say different things, even in the same field. Like you said, at the end of the day there are tons of parallels to this process between different disciplines. The meaning is the same!
I agree with everybody. Great explanation. Thank you very much for taking your time and explaining these hard concepts with examples. I really appreciate it. Best regards! :)
@@NERDfirst Thank you again. :) I also have a question for you, I wanted to ask you, if you know anything about C# .NET Visual studio. I'm trying to learn but I'm having a hard time finding good material. Thanks
best vid i watched on youtube for a while , because it really puts your foot on the right road to become a good developer , i'm sure many people waste years learning how to code but can't figure how to take next step as a developer .. i wish if someone can provide a link to complete course about software engineering to learn m ore about it.
I feel so unhappy in life right now, and I’m thinking about pursuing my dream of becoming a software engineer. That’s what I always wanted to do but life didn’t work out that way for me. Any advice on self taught engineers? What can I expect and what have worked for others in my boat?? Thank you so much
Hello and thank you for your comment! Sorry to hear you're in a bad place. I always have reservations about self-learning, though of course, this varies from one person to another. In my own experience, it's hard to be thorough when you self-learn, and I found myself picking and choosing topics of interest such that, in doing so, I missed some fundamental skills that turned out to be very important. In my opinion, if your situation permits, I would suggest receiving formal education to gain more rigorous knowledge. Otherwise, find and start working on some projects to build up a portfolio, which can also bolster your employability.
Great video! However we have to write requirements by using "shall" instead of "must" (8:24) . My lecturer gave low marks to my project group's req. list (because of using "must") then told to our group// btw he used the book of ian sommerville.
Hello and thank you for your comment! This is an issue of convention, and if I may be so bold to suggest, my opinion is that your lecturer is being unnecessarily pedantic in a classroom setting. Regardless, that's the convention for your class, so stick to it. When you step out into the industry, your company may have a different set of conventions - When at work, stick to _that_ . There are no right or wrong answers.
This is a very good explanation of how the software cycle works for a non it person. I would like to know where srucm or whatever the development cycles is called is used. Even like to know what is devops?
Hello and thank you for your comment! If I understand it correctly, Scrum is a technique that was developed with the Agile programming method. Resources for your reference on this topic: www.cprime.com/resources/what-is-agile-what-is-scrum/ DevOps is a term that I haven't learnt about formally so I won't try to give you a definition in case I mislead you. I think Wikipedia is a good place to start on this: en.wikipedia.org/wiki/DevOps
Hello and thank you for your comment! There isn't any such language, to be honest. Practically any programming language would work for Software Engineering, so pick one that you are confortable with and stick to it. If you're not sure where to begin, check out this video where I discuss some prominent programming languages to help you narrow down your choice: ruclips.net/video/HXUDxLBb-OM/видео.html
I love this video, is one of my best video i had ever watched on you tube. Please, i would like to major on software Engineering. Is their any special class for this program?
Hello and thank you for your comment! I'm not sure what you mean by "special class" - Could you elaborate further on this? Software engineering is usually a degree program on its own, or part of a computer science course. If you want to pursue this field, look in that direction.
Hello and thank you for your comment! Yeah, I struggled a bit when I was writing that part, since there were different sources with different definitions, the other very popular one involves what you mention - Where the model and view don't communicate directly and go through the controller. I eventually went for the version in the video since it more closely mirrors both what I learnt in university as well as the Wikipedia definition. Ultimately, as long as some thought is put into modularizing the program into model, view and controller components, the program should already be far better to manage and scale.
I don't even have PC yet but in a year or 2 I genuinely plan to be a software engineer. I'm not completely computer illiterate but I'm close, about a decade ago I had a laptop and managed to partition it and put Linux on it, then life got in the way and I stopped using the PC. If I put my mind to it I'm certain I'll be able a competent software engineer. Would you say it's a bad decision? I think I just need someone to tell me more, eg; is it stressful, do you get job satisfaction, are you happy with the pay and would you rather be working a different career? If anyone can answer these questions from an Internet stranger it would be greatly appreciated.
Hello and thank you for your comment! Here's my perspective as an educator (diploma-level lecturer) and a freelance software engineer. One to two years is not a lot of time. My Computer Science degree took four years, where we covered many important fundamentals, and yet many more were left on the table. There is _a lot_ to learn, and it takes a ton of discipline and a solid support structure to even get close to that level of rigor. My recommendation is, if you're intent on this route, consider a degree program. If you're not so sure to start off with, get a computer and pick up programming to start off with. Honestly, programming is a small part of software engineering, but it's also a fundamental skill, and a good gauge of whether you'll like the rest of the journey. As for jobs - All your questions can be answered with "It depends on the company you work for". Don't be surprised if some companies have exploitative work cultures (and this extends beyond software), demanding an inhumane amount of work out of you, having poor workflows, impossible deadlines, and so on. All the passion in the world couldn't save you from a job like this. But find yourself a good one, and it's absolutely one you can stay at for life. All the best in your software engineering journey!
Hey just letting you know that you make very informative and well put together videos! I'm starting my 4 year journey to get my computer science degree any tips for a noob?
Hello and thank you very much for your comment! What kind of tips are you looking for? If you can elaborate further I'll be happy to help. In the meantime, I happen to have already done a few videos on "generic tips", so maybe you'd want to check them out! What to expect in a Computer Science course: ruclips.net/video/L_WYf1sBhzw/видео.html What programming language should I start with: ruclips.net/video/HXUDxLBb-OM/видео.html 6 Places to do well at for CS Majors: ruclips.net/video/ASdeVe4sIbs/видео.html
I'd say "don't try to take shortcuts", but that's true for anything you want to learn. Especially learn how to code and perhaps write a few programs besides what you are given at uni. I know 5th semester students who couldn't wrap their heads around how to program anything with more than 3 or so classes. Also don't postpone the math/theory courses, if you're that kind of person. You're not doing yourself a favor.
I'm about to go to software engineering and I'm kindsof scared this everyone is saying it's hard but I hope I dont do the wrong thing since I really love doin it
As someone who loved programming for the time being while I had a working pc for a few week im thinking about picking up Software Engineering in the country abroad. The problem is I don't know much things regarding coding. I did a few little programs and I loved it but my pc died before I had a chance to do anything bigger. Will i be able to go to the college depsite not knowing to code but with a will to learn?
Hello and thank you for your comment! A will to learn is often the most important =) Regardless, most universities do not have any programming pre-requisites for computing (check with yours to be sure), so you'll be fine! In fact, you probably have some advantage from your existing interest and experience!
Summary: Requirements Engineering Gathering Use cases Interviews etc. Identify Functional and Non-Functional requirements Create prototypes and confirm with client before starting development Ensure high Cohesion and low Coupling. This will ensure separation of concerns and better code readability Go with a Model View Controller (MVC) approach / paradigm Use best practices of programming Naming conventions Version control etc. Testing Unit Testing - Test individual modules Integration Testing - Test if modules work 'together' Black box Testing - Useful for testing if SW performs as expected (implementation details are hidden) White / Glass box Testing - Useful for testing edge cases (implementation details are known) Other Tests - GUI, Security
Hello and thank you for your comment! Great summary! Though I would say "Go with an MVC approach" is a little more nuanced than that. That's one good pattern in the world of software engineering, but is not a must-do. It's dependent on context!
if i want i can find endless content on the engenearing design choices for all sort of thing, i can learn how to build a tank online this days. is there something siilar for engeniaryng software? anything jumps to mind?
Hello and thank you for your comment! It's not very clear what kind of problem you're looking to solve, but generally, there are lots of guides and tutorials everywhere on RUclips, webpages, blogs and such. If you're looking at something more specific let me know and I'll see if I can point you in a specific direction.
3rd Year student over here, What subject should I specialize for software engineering? And what part in software engineering is the easiest to remember. Weird questions I know but sometimes I just can't imagine what your saying, sorry. I just have a small brain so I guess seeing pictures also does not make me understand. I'll try to gather small informations from your teaching thanks!!
Hello and thank you for your comment! Don't put yourself down =) Your specialization should depend on your interest and natural aptitude, and what you can see yourself doing for the rest of your career. I certainly won't recommend picking something just because it's the "easiest to remember" - In fact, you shouldn't be using memorization in Computer Science!
Hello and thank you for your comment! The short answer is no - "Capable of coding" depends very much on the kind of problems you want to solve with coding in the first place. A person who's really good at algorithms may not be a great software engineer - There are many skillsets involved. For general problem solving and day-to-day practice, you can check out the Kattis problem repository. I have a writeup alongside some interesting questions you can attempt: nerdfirst.net/kattis
What do you think of the software engineering degree from WGU. If your not familiar with WGU it’s a fully online university and their software engineering program is fully online/self taught. Is this a good path to take?
Hello and thank you for your comment! I can't really comment on this unless I've gone through it myself, plus, whether it's good also depends on your needs. I've taken a quick glance and don't see any obvious red flags, but again, ultimately I don't think I can really give you any meaningful advise on this.
More like, Step 1: Learn to program Step 2: Learn software engineering Step 3: Unlearn how you learned to program Step 4: Relearn the "right" way to program Self-learning programming is great as an enthusiast but unfortunately in a CS degree when things get formalized, a lot of what we were used to changes. But at the same time, don't be too intimidated. Everyone alongside you in your course are going through the same thing, and help is everywhere!
Do you think the self taught is better to learning or the college? Btw i go to college and in my first year but i find it so little helpful and take so much time.
Hello and thank you for your comment! This is my personal opinion, but I _strongly strongly_ encourage college. Not everything is going to be to your liking. Half the things are going to feel like a waste of time (and hell, some of them _are_ ). But with self learning, you may find yourself without the motivation to do things that aren't of immediate interest to you but could be useful in the long run. Eventually, the gaps in your knowledge start to add up. College forces you to be disciplined and exposes you to things you can't imagine being useful but turn out to be. So stay in school! And make the best out of the experience. It's not going to be all fun and games, but as long as you're staying in this line, it'll be useful.
Hello and thank you for your comment! This isn't a series per se, but I have explored other aspects of software engineering over the years. Check out the relevant playlist: ruclips.net/p/PLJse9iV6Reqi3Df-CCxAeTCEzWlteQXgn
Is it possible to get into software engineering with a computer engineering degree. And will people with computer science degrees have an advantage over computer engineers. I know computer engineering is more focused on hardware but I plan on learning software and programming by myself.
Hello and thank you for your comment! It's certainly possible, though like you say, it's harder. Computer engineering routes are fundamentally focused on different things than computer science, so there is a fair bit of self learning to do. For best results, perhaps focus on building up a portfolio to showcase your ability!
Hello and thank you for your comment! Definitely explore your options and probe your interests to find what's best for you. All the best for your college journey =)
@@efzo Hello again! You may contact me via email. Navigate to this page: ruclips.net/user/lcc0612about Then click on "View Email Address". Let me know of your exact requirements and I'll assess it and get back to you with a proposal and quotation.
HELP, I have been in the behavior/mental health field. But would love to learn and switch to software engineering, I'd love to start a new career path in tech. Any recommendation on what to do? I only have a Bachelors degree in Psychology @6012 TV w? NERDfirst
Hello and thank you for your comment! Depending on what exactly you want to do, my recommendation may be - Go to school! For example, if you want to do full-blown software engineering, taking a course on it will help you formalize on a lot of the concepts and give you opportunities to practice them in a safe environment. It's also easier for you to get into internships where you'll have an opportunity to build your portfolio. I strongly recommend this. Alternatively, if you prefer to work on your own, you can consider starting on your own pet projects, and when you're more proficient, contribute to open source projects. Again, this can help you build your portfolio and make it easier to find work.
Hello and thank you for your comment! This video only covers broad concepts in Software Engineering, and I don't believe these things really go out of date.
Hello and thank you for your comment! That's great! At this point, probably best to look into any programming / computer science modules that are available to you.
Hello and thank you for your comment! I'm afraid I have not used any textbooks, as I personally don't find them to be very compelling to learn from compared to other media. The only book that I remember by name is the legendary "Introduction to Algorithms", also known as "CLRS", but I'm not sure if this is really relevant to what you're asking since it's more related to Computer Science than it is to Software Engineering.
sorry if this question is off topic from your video but, did you major in computer science? if so, do you feel like it is was a good degree to major in? Thank you
Hello and thank you very much for your comment! Yeah my degree is in comp science! @Shadow4707 raises a good point - "Good" can mean a very wide variety of things. If you meant overall, certainly it was a great experience for me, but that's not telling much unless you went to the same uni as I did, and did the same modules under the same circumstances. I've also done a video about my own CS life before if you're interested to find our more: ruclips.net/video/L_WYf1sBhzw/видео.html
Hello and thank you for your comment! You need to _somehow_ prove that you are capable! While a degree is one of the most basic ways to do this, you can also present a portfolio of works. This tends to be more impressive, usually! Try and work on some hobby projects or contribute to open source.
Dude, I'm a CS grad from an Ateneo uni on the same country and I'm not confident I'll be able to land a job immediately. I'm trying to groom my portfolio at the moment, though.
Hello and thank you for your comment! Consider going to college for it, or just dipping your feet into projects! You may want to consider contributing to an open source project, or building projects of your own.
I'm studying Electro-Mechanical Engineering getting a bachelors degree (Bsc) in it but can i study software engineering after or is it too late because it's so different o.0
Hello and thank you for your comment! Software Engineering is indeed very different from electrical or mechanical engineering, in fact you'll probably have to go into it fresh and it'll take some time. In fact, Software Engineering can be more or less a full degree programme, so it'll take several years if you want to pursue it formally. Having said that, I don't think it's ever "too late". At present you should have quite a few paths to choose from - For example, you can consider taking electives from the Computing faculty to build up your foundation. You can then complement this with self-study. After you get your Bachelor's degree you may even want to consider taking a Master's degree in software engineering or any other computer science related area. That'll give a huge boost to your employability.
Hello and thank you for your comment! There's a world of difference! Computer Science refers to the more technical, theoretical aspect, eg. What is the strategy facebook uses to maintain your friends list such that in one click, it can pull up everyone in an instant? How do they do this so fast when they have millions of users? Computer Science is about understanding and applying techniques. Software Engineering is more pragmatic. It's about the _process_ of writing a piece of code. How can you be sure it's correct? How can you be sure your teammates can read what you write? It's all about the "soft skills" so to speak, that surround and complement your knowledge from the Computer Science aspect.
I am a graduate who was jumping around with different programming tools. I recently started taking professional work and right away , I had a sudden regret of not taking systems analysis and design classes seriously. Coding is just one part of the process.
Hello and thank you very much for your comment! I cannot emphasize how true that is! Coding is just a tool and knowing how to use them is good, but using them in a vacuum is no good. Context matters, and the working dynamic between peers matters.
Hello and thank you for your comment! Don't worry. Four years is a lot of time. Clearly you're not gonna learn _all_ things, but what's important is that you learn enough to equip you with the knowledge to go further. The goal with university is not to learn everything, but to learn how to learn. As long as you pay attention, do your work diligently and practice a lot, you'll be fine!
Hello and thank you for your comment! If you're looking for a _complete_ course, I'm afraid I'll have to point you in the direction of the closest university / college. There are a lot of skills involved and nothing beats having a person beside you whom you could ask questions to and to take assignments from. You can certainly learn the technical aspect online, but true learning comes about from actually working in a team and overcoming obstacles together.
Hello and thank you for your comment! It's never too early - I started writing code for fun when I was 10. The earlier you start, the more time you have to try things out, make mistakes, and learn. So as long as you have free time, start learning to code and start building projects, that will be incredibly valuable when you get into college.
Hello and thank you for your comment! Interesting idea, but there will be significant difficulties, I think! These are essentially two separate devices that have to emulate and synchronize the same game. It's logistically a nightmare!
Thanks dude for all the information, but I would like to ask about the difference between computer science and software engineering, I see a strong relation between them but I can't really differentiate them... This is quite struggling as I'm not sure if I should go for computer science or software engineering in the future...
Hello and thank you for your comment! In my university at least, software engineering is a specialization within Computer Science (though of course, it doesn't necessarily have to be). Computer Science would cover computing in general, ie. How the software and hardware works, networking, algorithms etc. Software Engineering focuses on rigorously building and testing software, best practices etc. So with this description, I'm sure you can see the significant overlap. If these two topics were separate degrees, you'd still expect the first two years to be more or less the same. In terms of what you should select, that depends on your own interests. What interests you more? The technical aspects of computers and coding? Are you more interested in innovative ways to solve problems? If so, I'd recommend Computer Science. If you're not interested in software development as a career, wanting to build programs on the big scale, and have an interest in the processes that go into that, then Software Engineering is more appropriate.
Hello and thank you for your comment! For sure. I've never felt marks were a great indicator of ability. As long as you're interested in the subject and have the curiosity to learn and practice, you'll be able to do well.
Hello and thank you for your comment! If you're looking for college recommendations then I'll definitely have to leave this up to any German viewers to chime in. If you're interested to find out more on how to be prepared, I've done a few videos and writeups on this in the past, check it out → www.nerdfirst.net/prepared-for-college/
Thank-you for the video! I'm looking to major in Software Engineering and minor in Hardware Engineering, and I thought the video was helpful in getting a better idea of what Software Engineering is. Thanks again.
Hello and thank you very much for your comment! Very happy to be of help, and all the best for college =)
It’s been 3 years have you majored? Are you almost done? It’s a 4 year degree
I am very interested in Software engineering. after watching your video I feel less scared about the major I really wanna do. I am currently learning Python and starting to get a hang of it ^^ thank you so much! :)
You're welcome! Glad to be of help =) All the best in your CS journey!
hello, how was it? any updates?
M K Enoke Deelaka hey. I’m a high school senior and I’m planning on majoring in computer science in order to become a software engineer. I will like to ask you a couple of questions.
1) Did you study computer science in order to become a software engineer ?
2) What are the different types of software engineers?
3) does all software engineer create apps and if not which one can?
I hope you answer these questions and thank you.
Yeah it right
Where are you now I’m your career ??
I just got my B.Eng in ICT and I am considering doing my masters in Software engineering and I’m doing some research if that’s what I really want.
This was super helpful. Thank you!
You're welcome! Very happy to be of help, and all the best for your journey in CS =)
Thank you for the insight, I always thought coding was very generic to the task but you've taught me that is not the case. My understanding now is, we can either write basic simple code to perform a function or we can write more complex code to perform the same function with better results. Planning a coding project was something I never considered but it makes perfect sense to me why this is important. Engineers use blueprints to achieve their visions. Software engineers do too. Thanks!
Hello and thank you very much for your comment!
I really love your analogy with blueprints for construction! Wow, it does make a lot of sense! Engineers _could_ just jump in and build things without much planning (and I bet they do that for fun hobby projects), but if they need to do anything to scale, proper planning and procedure is critical. In fact, I might use this analogy moving forward, so thanks for the inspiration =)
A healthy human can learn ANYTHING!!
It takes three things:
1. Interest
2. Dedication
3. Application
I have seen Job offerings looking for a candidate to know the following:
A. Database
B. Networking
C. Security
D. Development
E. Project Management
F. Telecom
G. Messaging
When you look at the above it you quickly realized that it covers many areas of a typical business.
So while there may be persons who are very very deep into Cybersecurity as a specialist it is becoming practical to learn other things.
Look at the trends in market and industry.
Look at jobs that may gets replaced through automation.
Learn to learn other things.
I know an accountant doing tiling on weekends.
Another work in the bank but do freelance online.
So yeah work and freelance.
The only certainty out there is uncertainty.
Very beautifully said! In a fair few circumstances breadth beats depth.
Thank you! I feel like this will allow me to tackle that paint program ive been constantly putting off with more confidence.
You're welcome! Hopefully you'll get started on it soon =P
im about to start college and just BARELY know anything about computers at all, thank you so much for this insightful and informative video, hopefully all this would make sense and help me during my course
You're welcome ! Very happy to be of help and all the best for your college journey =)
hey, it's been a year. how was it been for you? did you gain alot of knowledge?
This is actually one of the valuable video that shares great insights about software engineering. Thank u for taking time to discuss the basic aspect of SE.
Hello and thank you very much for your comment! Glad you liked the video =)
After watching his video I feel like a professional software engineer thanks alot
Hello and thank you for your comment! Glad to be of help =)
Lol relax.... this was as simple as he could make it for us peasants! 😂😂😂😂
I did computer engineering but i have a job interview for a position of software developer tomorrow. this video has helped me learn the needed concepts of software development that i didnt learn in school
Hello and thank you very much for your comment! Very happy to be of help =)
I love this video, very straightforward, Thanks so much...I have a mid-semester examination tomorrow, and I have learnt a lot.
You're welcome! Very happy to be of help =) All the best for your exam!
It’s funny because as a solo, self-taught programmer since 2004 and hobbyist, I’ve kind of done all that stuff but in a non-standardised way. These things are just logically and naturally done as you program something. But not in such a formal way.
The difference here is that there are formal ways to do all that and they need to be standard ways so as to enable a team to work together on developing a program.
Since I’ve recently started my first software engineering role proper, I plan to learn from this and implement it in my hobby project as well. Learning those practises as soon as possible and getting good at them, will benefit my new career as a software engineer.
Hello and thank you for your comment! Yes! Strongly agree on this one!
I was self-taught as well, before formally (re)learning a lot of things in a university context, and this was one of my biggest observations as well - Things are just more serious and formal, but at its core it's the same things we've intuitively figured out for ourselves.
My friend. Thanks for the video. I am an engineer but no expert in computing, its why I am watching your video on Software Engineering.
We do the same process but each specialty of engineering speaks different words for the same action. For example what you call a "Prototype" in Design we call it just a graphical model. A prototype is the first running working product, the first, its why it is the Proto, which can be developed further to include new features. e.g. verison 2, etc.
Requirement gathering is Specifications. What the final product must include.
I guess that learning more about your specific language will draw many parallels.
Cheers. and thanks.
Hello and thank you for your comment! Don't be too caught up with the terminology - Different people are going to say different things, even in the same field. Like you said, at the end of the day there are tons of parallels to this process between different disciplines. The meaning is the same!
@@NERDfirst Cool. Keep going. Cheers.
Great software engineering video. I've been mentoring and coaching software engineers for a long time. These are really good tips
Hello and thank you for your comment! Glad you liked the video =)
He's got great abilities to explain things.
Hello and thank you for your comment! Glad you liked the video =)
The most useful video for today. Thank you! Finally got my head around MVC thing.
Hello and thank you very much for your comment! Very happy to be of help =)
This is soo informative, and insightful! I've learned so much that I'll apply to my code from now. Thank you!
You're welcome! Very happy to be of help and all the best for your work :)
I agree with everybody. Great explanation. Thank you very much for taking your time and explaining these hard concepts with examples. I really appreciate it. Best regards! :)
You're welcome! Very happy to be of help =)
@@NERDfirst Thank you again. :) I also have a question for you, I wanted to ask you, if you know anything about C# .NET Visual studio. I'm trying to learn but I'm having a hard time finding good material. Thanks
best vid i watched on youtube for a while , because it really puts your foot on the right road to become a good developer , i'm sure many people waste years learning how to code but can't figure how to take next step as a developer .. i wish if someone can provide a link to complete course about software engineering to learn m ore about it.
Hello and thank you very much for your comment! Glad you liked the video =)
I feel so unhappy in life right now, and I’m thinking about pursuing my dream of becoming a software engineer. That’s what I always wanted to do but life didn’t work out that way for me. Any advice on self taught engineers? What can I expect and what have worked for others in my boat?? Thank you so much
Hello and thank you for your comment! Sorry to hear you're in a bad place. I always have reservations about self-learning, though of course, this varies from one person to another. In my own experience, it's hard to be thorough when you self-learn, and I found myself picking and choosing topics of interest such that, in doing so, I missed some fundamental skills that turned out to be very important.
In my opinion, if your situation permits, I would suggest receiving formal education to gain more rigorous knowledge. Otherwise, find and start working on some projects to build up a portfolio, which can also bolster your employability.
Thank you!! Starting out to become a self taught dev and this was the only video that was the real deal so far. Bless you!!
You're welcome! Very happy to be of help =)
Thank you for this informative video!
You're welcome! Very happy to be of help :)
Great video to get more of an idea what software engineering is. Thank you
You're welcome! Very happy to be of help =)
@@NERDfirst can software engineering be web development also?
Great video! However we have to write requirements by using "shall" instead of "must" (8:24) . My lecturer gave low marks to my project group's req. list (because of using "must") then told to our group// btw he used the book of ian sommerville.
Hello and thank you for your comment! This is an issue of convention, and if I may be so bold to suggest, my opinion is that your lecturer is being unnecessarily pedantic in a classroom setting. Regardless, that's the convention for your class, so stick to it. When you step out into the industry, your company may have a different set of conventions - When at work, stick to _that_ . There are no right or wrong answers.
This is a very good explanation of how the software cycle works for a non it person.
I would like to know where srucm or whatever the development cycles is called is used. Even like to know what is devops?
Hello and thank you for your comment! If I understand it correctly, Scrum is a technique that was developed with the Agile programming method. Resources for your reference on this topic: www.cprime.com/resources/what-is-agile-what-is-scrum/
DevOps is a term that I haven't learnt about formally so I won't try to give you a definition in case I mislead you. I think Wikipedia is a good place to start on this: en.wikipedia.org/wiki/DevOps
when I'm older i want to be a software engineer. i hope this video helps
Hello and thank you for your comment! All your best for your computing journey =)
Best best and best. Your explanation is very very good and it was easy to understand. You helped me a lot. thank you. You are genious.
You're welcome! Very happy to be of help =)
Which coding languages should I be focusing on if I want to get into software engineering?
Hello and thank you for your comment! There isn't any such language, to be honest. Practically any programming language would work for Software Engineering, so pick one that you are confortable with and stick to it.
If you're not sure where to begin, check out this video where I discuss some prominent programming languages to help you narrow down your choice: ruclips.net/video/HXUDxLBb-OM/видео.html
I love this video, is one of my best video i had ever watched on you tube. Please, i would like to major on software Engineering. Is their any special class for this program?
Hello and thank you for your comment! I'm not sure what you mean by "special class" - Could you elaborate further on this? Software engineering is usually a degree program on its own, or part of a computer science course. If you want to pursue this field, look in that direction.
i take good idea of what Software Engineering is. Thanks again
You're welcome! Happy to be of help :)
17:45 Is this really how MVC works? I though everything goes through the controller, including the presentation of the data in the table UI
Hello and thank you for your comment! Yeah, I struggled a bit when I was writing that part, since there were different sources with different definitions, the other very popular one involves what you mention - Where the model and view don't communicate directly and go through the controller.
I eventually went for the version in the video since it more closely mirrors both what I learnt in university as well as the Wikipedia definition. Ultimately, as long as some thought is put into modularizing the program into model, view and controller components, the program should already be far better to manage and scale.
I don't even have PC yet but in a year or 2 I genuinely plan to be a software engineer. I'm not completely computer illiterate but I'm close, about a decade ago I had a laptop and managed to partition it and put Linux on it, then life got in the way and I stopped using the PC. If I put my mind to it I'm certain I'll be able a competent software engineer. Would you say it's a bad decision? I think I just need someone to tell me more, eg; is it stressful, do you get job satisfaction, are you happy with the pay and would you rather be working a different career? If anyone can answer these questions from an Internet stranger it would be greatly appreciated.
Hello and thank you for your comment! Here's my perspective as an educator (diploma-level lecturer) and a freelance software engineer.
One to two years is not a lot of time. My Computer Science degree took four years, where we covered many important fundamentals, and yet many more were left on the table. There is _a lot_ to learn, and it takes a ton of discipline and a solid support structure to even get close to that level of rigor. My recommendation is, if you're intent on this route, consider a degree program.
If you're not so sure to start off with, get a computer and pick up programming to start off with. Honestly, programming is a small part of software engineering, but it's also a fundamental skill, and a good gauge of whether you'll like the rest of the journey.
As for jobs - All your questions can be answered with "It depends on the company you work for". Don't be surprised if some companies have exploitative work cultures (and this extends beyond software), demanding an inhumane amount of work out of you, having poor workflows, impossible deadlines, and so on. All the passion in the world couldn't save you from a job like this. But find yourself a good one, and it's absolutely one you can stay at for life.
All the best in your software engineering journey!
@@NERDfirst Thanks so much for responding dude, your insight was very helpful so I relly appreciate it. 🙂
You're welcome :) Glad to be of help!
Awesome work. I wish I found this content a long time ago. You work is amazing.
Hello and thank you very much for your comment! Very happy to be of help =)
Hey just letting you know that you make very informative and well put together videos! I'm starting my 4 year journey to get my computer science degree any tips for a noob?
Hello and thank you very much for your comment! What kind of tips are you looking for? If you can elaborate further I'll be happy to help.
In the meantime, I happen to have already done a few videos on "generic tips", so maybe you'd want to check them out!
What to expect in a Computer Science course: ruclips.net/video/L_WYf1sBhzw/видео.html
What programming language should I start with: ruclips.net/video/HXUDxLBb-OM/видео.html
6 Places to do well at for CS Majors: ruclips.net/video/ASdeVe4sIbs/видео.html
I'd say "don't try to take shortcuts", but that's true for anything you want to learn.
Especially learn how to code and perhaps write a few programs besides what you are given at uni. I know 5th semester students who couldn't wrap their heads around how to program anything with more than 3 or so classes.
Also don't postpone the math/theory courses, if you're that kind of person. You're not doing yourself a favor.
Are you almost done with your degree?
I'm about to go to software engineering and I'm kindsof scared this everyone is saying it's hard but I hope I dont do the wrong thing since I really love doin it
Hello and thank you for your comment! All the best! Of course there's a learning curve to it, but anything worth doing does.
Lots of good info that I never thought of thank you
You're welcome! Yeah, there is a surprisingly large amount of concerns in this field. Glad to be able to give you some insight!
2020 still watching
You’ve got star qualities. Great presentation. Not done watching just a note!
Hello and thank you very much for your comment! Glad you're liking my work so far :)
Incredible Video
watching from middle east
Iraq
Hello and thank you for your comment! Very happy to be of help :)
As someone who loved programming for the time being while I had a working pc for a few week im thinking about picking up Software Engineering in the country abroad.
The problem is I don't know much things regarding coding. I did a few little programs and I loved it but my pc died before I had a chance to do anything bigger.
Will i be able to go to the college depsite not knowing to code but with a will to learn?
Hello and thank you for your comment! A will to learn is often the most important =)
Regardless, most universities do not have any programming pre-requisites for computing (check with yours to be sure), so you'll be fine! In fact, you probably have some advantage from your existing interest and experience!
@@NERDfirst thank you for the reply! Best regards
Great Explanation Sir
Hello and thank you for your comment! Glad to be of help :)
Nice video, well done, thanks for sharing it with us :)
Hello and thank you very much for your comment! Glad you liked the video =)
Summary:
Requirements Engineering
Gathering
Use cases
Interviews etc.
Identify Functional and Non-Functional requirements
Create prototypes and confirm with client before starting development
Ensure high Cohesion and low Coupling. This will ensure separation of concerns and better code readability
Go with a Model View Controller (MVC) approach / paradigm
Use best practices of programming
Naming conventions
Version control etc.
Testing
Unit Testing - Test individual modules
Integration Testing - Test if modules work 'together'
Black box Testing -
Useful for testing if SW performs as expected (implementation details are hidden)
White / Glass box Testing - Useful for testing edge cases
(implementation details are known)
Other Tests - GUI, Security
Hello and thank you for your comment! Great summary! Though I would say "Go with an MVC approach" is a little more nuanced than that. That's one good pattern in the world of software engineering, but is not a must-do. It's dependent on context!
@@NERDfirst Sure, so it's one of the good approaches available then and not the only one. Thanks for the video :D
if i want i can find endless content on the engenearing design choices for all sort of thing, i can learn how to build a tank online this days.
is there something siilar for engeniaryng software? anything jumps to mind?
Hello and thank you for your comment! It's not very clear what kind of problem you're looking to solve, but generally, there are lots of guides and tutorials everywhere on RUclips, webpages, blogs and such.
If you're looking at something more specific let me know and I'll see if I can point you in a specific direction.
3rd Year student over here, What subject should I specialize for software engineering? And what part in software engineering is the easiest to remember.
Weird questions I know but sometimes I just can't imagine what your saying, sorry.
I just have a small brain so I guess seeing pictures also does not make me understand.
I'll try to gather small informations from your teaching thanks!!
Hello and thank you for your comment! Don't put yourself down =)
Your specialization should depend on your interest and natural aptitude, and what you can see yourself doing for the rest of your career. I certainly won't recommend picking something just because it's the "easiest to remember" - In fact, you shouldn't be using memorization in Computer Science!
Do you recommend any programming/coding practice programs to see if one is able/capable of coding
Hello and thank you for your comment! The short answer is no - "Capable of coding" depends very much on the kind of problems you want to solve with coding in the first place. A person who's really good at algorithms may not be a great software engineer - There are many skillsets involved.
For general problem solving and day-to-day practice, you can check out the Kattis problem repository. I have a writeup alongside some interesting questions you can attempt: nerdfirst.net/kattis
@@NERDfirst thanks man
Thank you, this is awesomely usefull
You're welcome! Very happy to be of help =)
What do you think of the software engineering degree from WGU. If your not familiar with WGU it’s a fully online university and their software engineering program is fully online/self taught. Is this a good path to take?
Hello and thank you for your comment! I can't really comment on this unless I've gone through it myself, plus, whether it's good also depends on your needs. I've taken a quick glance and don't see any obvious red flags, but again, ultimately I don't think I can really give you any meaningful advise on this.
Excellent overview and very well done!
Hello and thank you very much for your comment! Glad you liked the video =)
Exactly what I needed, thanks !
You're welcome! Glad to be of help :)
Step 1: Learn to program. Syntax is easy but the steps after are the hardest part. CS fundamentals, Modularity, etc. seem so above me
More like,
Step 1: Learn to program
Step 2: Learn software engineering
Step 3: Unlearn how you learned to program
Step 4: Relearn the "right" way to program
Self-learning
programming is great as an enthusiast but unfortunately in a CS degree
when things get formalized, a lot of what we were used to changes. But
at the same time, don't be too intimidated. Everyone alongside you in
your course are going through the same thing, and help is everywhere!
This is the pilar for me
Do you think the self taught is better to learning or the college? Btw i go to college and in my first year but i find it so little helpful and take so much time.
Hello and thank you for your comment! This is my personal opinion, but I _strongly strongly_ encourage college. Not everything is going to be to your liking. Half the things are going to feel like a waste of time (and hell, some of them _are_ ). But with self learning, you may find yourself without the motivation to do things that aren't of immediate interest to you but could be useful in the long run. Eventually, the gaps in your knowledge start to add up.
College forces you to be disciplined and exposes you to things you can't imagine being useful but turn out to be. So stay in school! And make the best out of the experience. It's not going to be all fun and games, but as long as you're staying in this line, it'll be useful.
@@NERDfirst thank you so much for your time and the great advice. I'll take by your advice. And will do my best. Hope you have a wonderful day!
All the best for your college journey =)
@@NERDfirst Thank you and i wish you a successful life 😊
Thank you very much. Don't you continue this as video series?
Hello and thank you for your comment! This isn't a series per se, but I have explored other aspects of software engineering over the years. Check out the relevant playlist: ruclips.net/p/PLJse9iV6Reqi3Df-CCxAeTCEzWlteQXgn
Is it possible to get into software engineering with a computer engineering degree. And will people with computer science degrees have an advantage over computer engineers. I know computer engineering is more focused on hardware but I plan on learning software and programming by myself.
Hello and thank you for your comment! It's certainly possible, though like you say, it's harder. Computer engineering routes are fundamentally focused on different things than computer science, so there is a fair bit of self learning to do. For best results, perhaps focus on building up a portfolio to showcase your ability!
hi, i love software engineering but i haven't learnt any programming language, any to teach please
Hello and thank you for your comment! Python is a great place to start!
Thank you for this information it's really helpful 👍👍👍👍❤️
You're welcome! Very happy to be of help =)
XD random wednesday episode ! You have a nice voice! :D very nice video! (p.s. currently suddenly computer science)
Hello and thank you for your comment! Glad you liked the video :)
Im thinking of taking a course in College. So undecided if this is what I want to do though.
Hello and thank you for your comment! Definitely explore your options and probe your interests to find what's best for you. All the best for your college journey =)
@@NERDfirst Thanks
Can I be a software Engineer as a C++ Programmer?
Hello and thank you for your comment! Yes, you can. It's not the language that really matters but the software engineering concepts.
Okay thank you, I will need more guidance, if you are willing, how do I connect to you?
@@efzo Hello again! You may contact me via email. Navigate to this page: ruclips.net/user/lcc0612about
Then click on "View Email Address". Let me know of your exact requirements and I'll assess it and get back to you with a proposal and quotation.
@@NERDfirst Okay thanks
Thank you so much. The video is really helpful
You're welcome! Glad to be of help =)
It's timeless!
Very nice vid, thanks a lot!
You're welcome! Very happy to be of help =)
Well explained . Thank you !!
You're welcome! Glad to be of help =)
HELP, I have been in the behavior/mental health field. But would love to learn and switch to software engineering, I'd love to start a new career path in tech. Any recommendation on what to do? I only have a Bachelors degree in Psychology @6012 TV w? NERDfirst
Hello and thank you for your comment! Depending on what exactly you want to do, my recommendation may be - Go to school! For example, if you want to do full-blown software engineering, taking a course on it will help you formalize on a lot of the concepts and give you opportunities to practice them in a safe environment. It's also easier for you to get into internships where you'll have an opportunity to build your portfolio. I strongly recommend this.
Alternatively, if you prefer to work on your own, you can consider starting on your own pet projects, and when you're more proficient, contribute to open source projects. Again, this can help you build your portfolio and make it easier to find work.
Hey this video is from 4 years ago so is the information different?
Hello and thank you for your comment! This video only covers broad concepts in Software Engineering, and I don't believe these things really go out of date.
ohhh that was very good and understandable. thanx bro
You're welcome! Very happy to be of help =)
I like learning softwere engineer
Well explained video! I like it
Hello and thank you for your comment! Glad you liked the video =)
I am just 13 and I am thinking to go in software engineering so would like you to tell me what subjects I should take for that
Hello and thank you for your comment! That's great! At this point, probably best to look into any programming / computer science modules that are available to you.
Please notify me when you know which subjects to take
If its possible, could you list textbooks that you have used throughout your software engineering degree?
Hello and thank you for your comment! I'm afraid I have not used any textbooks, as I personally don't find them to be very compelling to learn from compared to other media.
The only book that I remember by name is the legendary "Introduction to Algorithms", also known as "CLRS", but I'm not sure if this is really relevant to what you're asking since it's more related to Computer Science than it is to Software Engineering.
very Interesting Video. keep it up
Hello and thank you for your comment! Glad you liked the video :)
sorry if this question is off topic from your video but, did you major in computer science? if so, do you feel like it is was a good degree to major in? Thank you
Good as in what? Skills acquired? Job opportunities? Difficulty? Social Networking?
Hello and thank you very much for your comment! Yeah my degree is in comp science! @Shadow4707 raises a good point - "Good" can mean a very wide variety of things. If you meant overall, certainly it was a great experience for me, but that's not telling much unless you went to the same uni as I did, and did the same modules under the same circumstances.
I've also done a video about my own CS life before if you're interested to find our more: ruclips.net/video/L_WYf1sBhzw/видео.html
0612 TV w/ NERDfirst ok thanks. ill be sure to check it out.
Im self taught in c++. Electronics too. Didnt finish college. Thats my problem. They dont hire me. Only college grad in philippines
Hello and thank you for your comment! You need to _somehow_ prove that you are capable! While a degree is one of the most basic ways to do this, you can also present a portfolio of works. This tends to be more impressive, usually! Try and work on some hobby projects or contribute to open source.
Dude, I'm a CS grad from an Ateneo uni on the same country and I'm not confident I'll be able to land a job immediately. I'm trying to groom my portfolio at the moment, though.
How to become a software engineer give suggestions
Hello and thank you for your comment! Consider going to college for it, or just dipping your feet into projects! You may want to consider contributing to an open source project, or building projects of your own.
I'm studying Electro-Mechanical Engineering getting a bachelors degree (Bsc) in it but can i study software engineering after or is it too late because it's so different o.0
Hello and thank you for your comment! Software Engineering is indeed very different from electrical or mechanical engineering, in fact you'll probably have to go into it fresh and it'll take some time. In fact, Software Engineering can be more or less a full degree programme, so it'll take several years if you want to pursue it formally.
Having said that, I don't think it's ever "too late". At present you should have quite a few paths to choose from - For example, you can consider taking electives from the Computing faculty to build up your foundation. You can then complement this with self-study. After you get your Bachelor's degree you may even want to consider taking a Master's degree in software engineering or any other computer science related area. That'll give a huge boost to your employability.
thanks you inform
You're welcome! Glad to be of help =)
thank you 😊
You're welcome! Glad you liked the video =)
Well-explained! Thanks for this quick and beneficial intro.
You're welcome! Very happy to be of help =)
what is the difference between software engineering and computer science? they seem the same to me
Hello and thank you for your comment! There's a world of difference!
Computer Science refers to the more technical, theoretical aspect, eg. What is the strategy facebook uses to maintain your friends list such that in one click, it can pull up everyone in an instant? How do they do this so fast when they have millions of users? Computer Science is about understanding and applying techniques.
Software Engineering is more pragmatic. It's about the _process_ of writing a piece of code. How can you be sure it's correct? How can you be sure your teammates can read what you write? It's all about the "soft skills" so to speak, that surround and complement your knowledge from the Computer Science aspect.
Great video.
Thank you! Glad you liked the video =)
I am a graduate who was jumping around with different programming tools. I recently started taking professional work and right away , I had a sudden regret of not taking systems analysis and design classes seriously. Coding is just one part of the process.
Hello and thank you very much for your comment! I cannot emphasize how true that is! Coding is just a tool and knowing how to use them is good, but using them in a vacuum is no good. Context matters, and the working dynamic between peers matters.
0612 TV w/ NERDfirst couldn’t agree more.
is it hard for a student who never studied about it ,only in university i mean can i learn all things in 4 years?
Hello and thank you for your comment! Don't worry. Four years is a lot of time. Clearly you're not gonna learn _all_ things, but what's important is that you learn enough to equip you with the knowledge to go further. The goal with university is not to learn everything, but to learn how to learn. As long as you pay attention, do your work diligently and practice a lot, you'll be fine!
great explanation
Thank you! Glad to be of help =)
nice, but we need a complete course brother how can i get it
Hello and thank you for your comment! If you're looking for a _complete_ course, I'm afraid I'll have to point you in the direction of the closest university / college.
There are a lot of skills involved and nothing beats having a person beside you whom you could ask questions to and to take assignments from. You can certainly learn the technical aspect online, but true learning comes about from actually working in a team and overcoming obstacles together.
Hey
I am in 8th grade
I want to be a software engineer
When should I start learning it for college/university
Hello and thank you for your comment! It's never too early - I started writing code for fun when I was 10. The earlier you start, the more time you have to try things out, make mistakes, and learn. So as long as you have free time, start learning to code and start building projects, that will be incredibly valuable when you get into college.
i have a great idea for a software but noone has done it
i want to use my phone to be the touchscreen and a psp to be a 2ds
Hello and thank you for your comment! Interesting idea, but there will be significant difficulties, I think! These are essentially two separate devices that have to emulate and synchronize the same game. It's logistically a nightmare!
thanks for replying.
but i actually gave up
i plan to do a software engineering course after school
nice video...
Hello and thank you for your comment! Glad you liked the video =)
where other videos on software engeneering on your channel apart from this?
Hello and thank you for your comment! I have a playlist of 8 videos → ruclips.net/p/PLJse9iV6Reqi3Df-CCxAeTCEzWlteQXgn
Nice!!
Thank you! Glad you liked the video =)
Thank you!
You're welcome! Happy to be of help =)
Thanks dude for all the information, but I would like to ask about the difference between computer science and software engineering, I see a strong relation between them but I can't really differentiate them... This is quite struggling as I'm not sure if I should go for computer science or software engineering in the future...
Hello and thank you for your comment!
In my university at least, software engineering is a specialization within Computer Science (though of course, it doesn't necessarily have to be). Computer Science would cover computing in general, ie. How the software and hardware works, networking, algorithms etc. Software Engineering focuses on rigorously building and testing software, best practices etc. So with this description, I'm sure you can see the significant overlap. If these two topics were separate degrees, you'd still expect the first two years to be more or less the same.
In terms of what you should select, that depends on your own interests. What interests you more? The technical aspects of computers and coding? Are you more interested in innovative ways to solve problems? If so, I'd recommend Computer Science. If you're not interested in software development as a career, wanting to build programs on the big scale, and have an interest in the processes that go into that, then Software Engineering is more appropriate.
Can average student become software engineer 🤔
Hello and thank you for your comment! For sure. I've never felt marks were a great indicator of ability. As long as you're interested in the subject and have the curiosity to learn and practice, you'll be able to do well.
Great vid
Thank you! Glad you liked the video =)
I'd like to study computer science, economic computer science or applied computer science. What do you guys would recommend me? I live in Germany.
Hello and thank you for your comment! If you're looking for college recommendations then I'll definitely have to leave this up to any German viewers to chime in.
If you're interested to find out more on how to be prepared, I've done a few videos and writeups on this in the past, check it out → www.nerdfirst.net/prepared-for-college/
helpful
Thank you very much! Glad to be of help :)
Im 11 trying to learn early
Keep on learning, that's where all the jobs will be when you finish school
Hello and thank you for your comment! It's never too early to start, here's all the best for the journey ahead =)
@XChapp same thing here
I want learn some before start my degree soft eng 😂
Hello and thank you for your comment! All the best for your degree programme =)
Likeable
Hello and thank you for your comment! Glad you liked the video =)
New subscriber
Hello and thank you for your comment and support! Glad you liked the video =)