What is the difference between a Software Engineer and a Software Developer
ฝัง
- เผยแพร่เมื่อ 21 ส.ค. 2024
- In this video, I discussed the difference between a software engineer and a software developer role coming from a mechanical engineer going into software engineering.
//Resource:
devskiller.com...
Really loving this discussion happening in the comments!
By the way, if this video left some unanswered questions, I made two more vidoes on my stance on the topic. Checkout it here: th-cam.com/video/m6alQqfnMEU/w-d-xo.html
There is no difference. Those titles are used interchangeably. I’m a software engineering leader with over 20 years of experience. I have hired tons of developers during that time. We literally go with whatever title we feel will give us the best applicants
There is no difference to the HR person who is writing the job description but there is a difference in the semantics of the words engineer and developer. An engineer designs, builds and maintains a product. A developer builds off a design made by an engineer to make a product. It's like calling a developer an architect.
However, the job market does use it interchangeably but it doesn't make it right though lol. That is why everyone is confused. I don't blurr the lines between the two words, engineer and developer; they are definitely different in my eyes.
I like this answer 🥰
@@SoftwareJournal I think there is no difference or there should be no difference. Even the one who is only part of the team and does not lead it should have the bigger picture in mind and avoid technical debt.
In the end it's just labels that limit and reduce us to certain roles instead of just letting everyone think. Applying the civil engineer/architect comparison to this example doesn't really work either. First, it's a misconception because you're comparing apples and oranges and second, architect and civil engineer are two different fields of study with different content whereas any idiot can write software, even one who does not study, so it makes little sense to think in terms of labels. Programming is only a skill, not a specialization.
@@thejezzi5219Do you think that the software engineer himself is the programmer? Programming is part of the software engineering specialty. The definition of the software engineering specialty is an engineering specialty concerned with all aspects of software production, and programming is one of these aspects.
@@SoftwareJournalyou're right. I can see this. Definitely a difference and that's one of the reasons why there are so many job applicants who can't get jobs. Because they're not engineers, they're just developers.
No difference in the real world (but, semantics yeah definitely). Some companies call their developers "Software Engineers", while other companies will call them "Software Developers" ~ You will need to "read" what your responsibilities will be in the job spec (or ask during interview!), since these same companies will mix the mentioned responsibilities interchangeably as well (can be frustrating) ~ don't let this confuse you when applying for a new job!
But honestly ~ In all the "developer/engineer" jobs I've had, the aspect of "design" comes in ~ You WILL be required to take part in the design and maintenance of software ~ Else you're not a developer or an engineer ~ You're a code-monkey ~ And you then "might" just want to ask if your job is adding anything worthwhile to your experience ^--^
Yes! There IS a difference. I am a Doctor of Computer Science with a Master of Software Engineering. That MS SWE degree gave me a very clear distinction between development and engineering. Professionally, I see the distinction every day among the people who studied SWE versus those that did not.
So then say it?
I agree. People who don't hold engineering licenses and/or engineering degrees should not present themselves as Engineers. The word Engineer in the IT space gets watered-down to a point where everyone is an "Engineer". Even the sales guy is not a salesman but a "Sales Engineer".
@@PriscvsNobilisWhile you're very correct, and I kinda think Software engineering should be called Software Aggregator (I couldn't find a better word) instead of engineering, you have to understand that anything, no matter how technical it is that gets into the public (popular) space becomes watered down. It is up to the certification body to prevent quacks and fakes and put a copyright on their titles, which I think wasn't done. I can imagine a day when we have flying cars, everybody would start calling themselves pilots and the pilot profession will be automatically watered down (aka cheap, common, popular etc). Then the pilot certification body will have to scramble how to protect their profession... Same thing is happening to the engineering body in the era of modern IT
how much do you get paid for being a software engineer and also how hard was it to get that degree like were the classes hard
Short, sweet, and bringing in examples. Great job.
Thank you! 😊
Developer is a cook and engineer is a chef. They both feed people with great food (mostly), but chef is a connoisseur of the art, and he knows the science of heat and harmony.
This is a bad analogy to state differences lol they both do the same thing just one wants to differentiate themselves to stand out from my view a cook can be just as artistic as a chef lol
What a fantastic analogy!
@@neferpitou. Chefs use in depth knowledge and experience to create unique dishes and cooks follow instructions and might sometimes change up a spice/ingredient or two... they are VERY different. Only those in culinary usually understand analogies like this, it was a great example.
@@TheseWordsTouch well if i dont understand thats fair but i think analogies are supposed to be easily understood
@@neferpitou. that's a fair point. It's easy to overlook how some things are a bit nuanced.
I hope your channel blows up soon, I think you make great content! :)
Thank you! That means a lot!
So true
It depends on the preference of the company on what title they will use to call their programmer.
Brief and informative!💪🏾 You got my sub man
Thank you 🤜🏾🤛🏾😊
There is no difference, there really isn’t, if you apply for a software engineering role and a software developer role there will literally be no difference in practice
Programmers build the components of the Subsystems (utilizing efficient algorithms and that is why they are different from ordinary "coders".. most people are coders and not programmers).
Developers design and can also build the components (depending on how large the company is) and...
Engineers design and oversee the whole system...he is the first to get promoted or fired😊
The coolest vid. Straight to the point ❤
Thank you! 😊
Perfect video. All direct and simple explained. My question got answered👍
Thank you 😊
Definition of engineer per Cambridge Dictionary: "a person whose job is to design or build machines, engines, or electrical equipment, or things such as roads, railroads, or bridges, using scientific principles."
Therefore, if you're using scientific principles (i.e. physics or chemistry or biology) to develop software then you're a software engineer (example: developing autonomous vehicle software). Note: using logic and/or math does not make you an engineer.
That was explained in great detail. Thanks
My biggest confusion cleared 😁👍
You got an instant subscribe from me, sir! Amazing explanation 🍻
Just sounds like a Senior vs Junior role to me. No one hires a “senior developer” that can’t engineer stuff.
Ofcourse they could possibly engineer some stuff due to their years of experience.
It's not their job tho.
software engineer
software architect.
software dev is just a term that defines the act of developping software. And you can be really good at it without knowing shit all about for exemple -> compilers.
As a software engineer you know your shit very well and you went through not only dev but mathematics ect...
Software architect on the other hand doesn't only right software he designs software.
Typically people that build frameworks are software engineers with a lot of experience as software devellopers.
To the point were the nature of their jobs switches to a more "design" approch. Not really proper english but I hope it makes sense.
Short and useful ,thanks💖
Thank you! 😊
sad to see this page with only 1.6 subs
@PapiYopia-wm3no No worries, we'll get them up pretty soon 🙂
So can full stack developers can call themselves engineers? I’m studying full stack JavaScript + python atm and the two resources I am using are similar but they refer to their course differently. 🤔
It depends. If the curriculum is more gears towards learning how to use the tools, it's a developer course. If it gears towards building solutions taking in account of reliability, scalability, maintainability and limitations of using the tech stack, then it's more of an engineering course.
It's tough with full stack developers. Usually, they are really stronger on one side than the other. I'm really strong on the backend stuff but weak on the frontend stuff. There is a saying "Jack of all trades but master of none". I definitely have a lot of trades but I focus on specializing in backend development in areas I work in.
Hope that helps!
🔥🔥🔥🔥
Thanks man! 😊
Great video!
Hey, thanks for your channel. I was wondering if you thought software was more difficult than mechanical? I'm a structural engineer and considering doing my masters in software engineering, so I can make the switch. I feel like your opinion might help me gauge if software is going to be harder than structural. As mech seems a little harder than structural. Thank you so much, so hard to find someone walking a similar path to me
@relaxin2074 I don't think either one is harder. I think it's based on what interests you more. When tough problems come your way, are you going to try to figure out the steps to break them down or are you going to push them to someone else to figure it out?
One of the things that fascinated me about software is the ability to scale and make a huge impact. Also the different ways to solve problems. It was the curiosity that drove me to get paid little to nothing to learn the craft of coding and software design. It was the foundation of mechanical engineering to understand the proper process to develop a product (software or physical) to start to end.
You definitely find some overlap from structural to software. You're mainly solving problems with different tools. Using new tools like coding in a language or building system with these tools take time and experience, but it's definitely doable.
Hope this helps!
thank you ! @@SoftwareJournal
It's the same
Amazing video 🎉.
Glad you liked it!
In that case, what does a DevOps (engineer) do ?
If I have a software developer BS am i a software engineer or can I work as one?
I don't see why not. Developers and engineers are essentially synonymous in the software roams. The biggest difference I see between them is the scope of work. Engineers do more designing, solutioning and can do developing where developers just do the developing.
Sir,,Do u know anything About BCA course? After class 12th I'm trynna do Bca,, is it a good course to become a software developer/engineer?
As a lead "developer" i always architect and design as per SDLC to avoid technical debt etc. I then code. Which is the "difference" apparently mentioned. So? Sounds like person making the video lacks practical experience to understand what actually happens
Sounds like you should make a video to share your perspective 😉
@@SoftwareJournal I have no interest in YT and getting external validation etc. But it's constructive criticism - what you read out as a difference is more to do with the nature of work between a junior dev/engineer and a more senior one who has a better understanding of long term best practice
I thought they have a difference,
I dont think theres a difference. Now if you were asking about a programmer and a software engineer/software developer then I'd say theres a huge difference
I think there is a difference, though their work do overlap depending on how big the company is. Developers do emphasize practice and less of (engineering) principles i. e. get a good grasp of the tools and design/build/rebuild a good software. Engineers consider the principle/process as much as the knowhow of tools for development for it to be adequately maintainable, scalable, reliable, adaptable. So the engineers establish some well tested process for the developers to naturally utilize. However if you're in a small to medium scale company, you will likely not realize this, you'll be going by the books of SW engineers and building/developing all the way... they overlap easily
@@hakinadedeji I work for quite a big automotive company. Over a hundred years in existence and for us there is no difference. Your definition for an engineer would be more closely associated with the work of a solutions architect or a tech lead
@@lukealadeen7836 You just said it... it's an automotive company... what will an automotive company do with research into for example fine-tuning a compiler development principles that a developer will use?? They will just assess and use the compiler. So your tech leads who are developers are following the engineering principles that was pioneered by say Microsoft or MIT software research engineers. To put it in a layman's term, the highly skilled car technician (SW developer in our parlance) is following the principles in the books devised by an automotive engineer. When you're a purist searching for fine lines you recognize this, if not you just follow the economics and even let the programmer do some software engineering jobs and call himself a SW engineer. Architect sees and design systems with a birds eye view, the engineers zoom into details and the developers develops that detail, the programmers efficiently code the components of the details and the rest of the world who use one compiler or the other are mere coders.
@@hakinadedeji Okay now I see your confusion. You are equating a software engineer and a computer scientist. Computer Scientist are the people involved with designing and building fundamental systems such as compilers, languages, OS kernels etc. In the context of web development/desktop (win form) applications the terms software developer and software engineer are interchangeable. Your example of an automotive engineer and a automotive technician does not apply in software because software is not a true field of engineering (eg: mechanical, electrical, civil etc). So don't consider yourself a real engineer if you're working in software!
@@lukealadeen7836 No I think you are the one getting confused and all mixed up here. Computer scientist is a scientist... they (should) work mostly in labs (just like you have Engineering Physicist or Engineering Chemist)... A Software Engineer is the direct equivalent of a computer scientist not in the lab but in the real world. So a computer scientist is a software engineer in the laboratory...and a Software engineer is a computer scientist in the real world. it is a norm to use them interchangeably especially in the industry because as I said economical issues, whereas it's absolute ignorance or negligence at best...
Of course you're right, a SW engineer is not a real engineer and I have also maintained that opinion, but they use real world engineering principles to build codes (and not materials). The keyword there is the "engineering principles and processes" (not the practice) and there are those that specialize in the principles and processes for a living and it reflects in their practices, hence they call themselves engineers... Developers are also not designing and developing estates or buildings, but codes... so they are not real developers like Estate developers, if I'm to follow your logic
I want to assume you don't know all these things, so you're pulling some intellectual strings of arguments with me.... let's continue, I like it.
good brother love 🥰from pakistan
Thanks
👍
There's no difference, it's just semantics
The difference is that one gets paid more 😉
Facts! 😆
Baseless distinction. Software world is not, chaotic. Too many terms are undefined. Too many so-called expeets play god. They are marketers but pretend like scientists and experts.
Titles are useless. A rose by any other name will would smell just as sweet. It's not the title, but the description that matters. There's virtually no one in-industry that adheres to these distinctions. They are used interchangeably and, in practice, they are the same thing.
I bet to disagree that they are the same in practice. If you're working in a one-man owned, small scale company, then they are the same jack of all trade, but when working in large scale or multinational companies, you are likely to be fired or lose an interview if you say they are the same. That is ignorance
Gained one more sub
Thank you! 😊
No difference. Here we go again with the weird sense of elitism.
There is no difference
You don't know what you're talking about.
Someone here could only become a developer i think...
Ayy we haven’t the same name
It's close but no dice 😊
Hit 🇧🇷
Thank you 😊
I think a software engineer is a software developer, but a software developer is not a software engineer. Again, It is typical for software developers to apply engineering principles but the developers don't own the principles... It's like saying it is typical for me to shoot a gun, so I'm a soldier or a police?? You will get arrested if you carry your gun about like a soldier or a police because you don't own it... Being in the profession for donkey years doesn't mean you know the nomenclatures of what it is, you only know the technicalities... just like being a formula one driver doesn't mean I can name all the parts of a car or even know how all the parts work
Developers do the hands on coding, engineers do the layout. But companies are cheap and want to make the software engineer do the development.
What do you mean by layout?
Thanks