To clarify: “architect” in this scenario is used metaphorically. Not as in the position of a software architect. Software engineers understand the software as a whole rather than in one specific area. If you are hired as a software engineer, you might only work on the backend but are expected to understand how the entire stack works. Software engineer isn’t a specific role, it’s a description to describe someone who understands an umbrella of things related to programming.
@@netoutube no. a contractor is no more or less like an engineer than a technician. you can recruit a contractor to fill either an engineering or a technican role. in general this whole line of thinking is just a great waste of time, and it really isn't that important who's an engineer and whose a technician. what matters is that you are doing enough cake baking to justify all of the kitchen management you are wasting time on.
Software Architects, from what I've seen, are garbage. How you gonna dictate the architecture when you don't even see the implementation? They are intertwined. There are some unreal things that occur when the architecture is taken out of the hands of the people actually writing the code. Which is also why I don't like this distinction. From what you've defined in the video, the difference between programmer and software engineer is that one is professional and the other one is a hobbyist that doesn't really understand what they are doing.
Now you've done it - you've confused everyone. In trying to clarify programmers from SEs you mention architects and now no one knows what a software architect is.
That's a big nope from me. The MFP is a big black box. If it breaks, call the mfg. We have that contract for a reason. I'll continue to use my indestructible daisywheel from the 80s.
I am a technical engineer so that is something well I am trained to fix. I think everyone should do a year of technical support, like you just understand how to use your IT equipment then you can actually do work
@@CodingWithLewis Seems like it's the HR positions that are in need of an overhaul. Only licensed software-HR staff with 8 years of education and a PHD in information systems are allowed to hire or fire software developers from now on. By my declaration!
@@tinahalder8416SAs and BSAs do really important work, actually. Unfortunately not a lot of managers push to have people with that role on teams these days.
I am a Software engineer. It kinda gets merky in companies nowadays. Rarely have people who just write code, if you can write code you can probably also design one to some extent. But there will be people who have more strength in coding than designing or vice versa. The lower you're in the seniority level, the less designing you usually do. Mostly when you're joining a company your title will simply be a reflection of your education, engineers,developers,programmers they'll do the same job.
I am in my 2nd year of my 1st job out of college. I am a fully fledged software engineer who has to design and develop software applications. I also do database stuff and write automation scripts for various uses.
Programmer, developer, software engineer are the same job, only seniority level that decide your responsibility. Meanwhile I had to to do all the things since fresher level
@@plyjhny Car engineer can probably fix cars though as they know everything about them so much to create them (different, higher level of expertise). People who write code usually don't know about system administration on the high level though. But I mean, if you tell someone that you can code in C++ or Rust, you ARE probably "good with computers"(from normal people's perspective), can reinstall their Windows or fix the "why this web page doesn't open (vpn)" or "how can I open this video file".
I dont think your average car engineer could fix most cars quick enough to make it profitiable. Example, I can create great food but I dont know the first thing about being a chef. Also, yes a dev probably could setup Windows, or a VPN. Not quickly tho. But your average Dev is not going to be able to manage system administration, technical support, network security. They might understand it, but would be very very inefficient @@twothreeoneoneseventwoonefour5
I like to use terms: Developer - anyone who is coding as a profession. Engineer - people who work on low-level stuff and libraries (people with depth of domain knowledge) Architect - big picture. Same as in physical world you have Builders - the ones who use already accepted good standards. Engineers - who make sure that the technologies actually work. Architects - design/price/ideation
Computer Science to other Tech Degrees is like Mechanical Engineering to other Engineering Degrees. Just like Mechanical Engineering can do Electrical, Chemical, Civil, Biomedical, Nuclear and other Engineering. Computer Science can do Information Technology, Software Engineering, Networking, Cyber Security, Data Analytics and other Tech Jobs.
That's like saying there is a difference between a writer and an author, that one just writes words and the other develops a plot. There is no such thing as someone that "just writes code" but doesn't have an understanding of what they write as a whole.
Unless you apply engineering principles, you're not an engineer. Programmers perform programming, and are not by definition required to follow engineering principles. In my country, calling yourself engineer is only justified by having a formal title from graduating from an engineering course of at least 4 years from a government acknowledged university. Technically speaking, you'd be committing fraud if you do not apply engineering principles but call yourself an engineer. Practically speaking I don't care. I've met people who call themselves engineer and can't even do engineering basics. Its very hard to take someone like that serious. It always feels like you have to spell out the consequences that are obvious. On the other hard, I've met programmer's who are better than seasoned engineers because they can ask the right questions so its almost like you can just follow along neatly. That's exciting.
Where I live software engineer is a protected title that requires you to go to university and study some science classes like chemistry, math and physic. It goes on top of actual software design, maintenance and testing classes. Once you’re done you also need to register to the order pf engineers or you can’t legally wear the title. Without it you can only call yourself a programmer or developper.
@@tanjeeschuan4999 No, canada. I'm not sure it applies for the whole country, but it does in the province of quebec at least. every province has it's own order of engineers that decide the required criteria to be admissible. Calling yourself an engineer here without being member of an order could result in a fine.
Not true. A software engineer is a general area where you work on the entire stack of software in one way or another. This could be through software architecture (which is a more specialized role). A programmer, is more specifically working on a piece of the software rather than the higher picture.
I am a programmer who can do lots of things, but I would not call myself a software engineer, because I don't have the theoretical knowledge to be one.
@@CodingWithLewis Yep, true. In fact programmer is just a colloquial term. In my career so far I have never had a collegue that finished a "programming" school or had a title "programmer". The point you are trying to make is non-existing, and you are just referring to junior positions or internships. Software engineers by training get the knowledge you address, but to do architecture, by your own words, you are an architect. EOD
Again. Reminder. They are both Software Engineers because they both fucking deal with Software. It just like surgeons, opticians, gynecologist are all Doctors 🥼.
@@leroypowell-louis499 They are all doctors, but not interchangeable. You don't want to see a gynecologist if you have an eye problem. If I wrote a "Hello, World" program, then I indeed programmed a computer, which makes me a programmer. Not the best programmer, but a programmer. But does it make me an engineer? I don't think so.
FF: In Canada, there's a pretty big difference. The title "Engineer" is strictly regulated. If you're a Software Engineer in Canada, you're an _actual_ Professional Engineer, meaning you obtained an Engineering degree, Completed the necessary work experience, and passed the Professional Practice Exam. A programmer in Canada, is someone who programs.
In France, being an 'Engineer' is a title like Professor or Doctor. You earned it after graduating from an engineering school. Computer science is the only area where the 'Engineer' title is used interchangeably because companies do so. Therefore, people with no engineering xp call themselves software Engineer. It's like the word has lost its prestige since it's usually harder to complete an engineering school, so people putting in the effort to complete those might not even be recognized to their true value. People shouldn't not call themselves Engineer if they are not. But then again, it's just a title, you can find more competent people that haven't done engineering school
in France people are more about titles than actual skills, it's the bragging culture over there, this comes from early ages since french people wore wigs and did makeup 😂, there is no prestige in 2024 only who can get shit done, life rewards the hard workers
I simply have an interest in coding for doing competitive programming but I still get called to fix printers, fridges and even water filters 💀💀 (I'm a high school student who recently passed out)
@@remot1 It goes more like; "Sorry, I won't be able to fix your water filter" "Wdym you won't be able to? You do stuff with computers all the time right. What use is your internet connection?" *tinkers around with the filter and either it gets fixed by itself OR just say a random issue and tell them to get a specialist to replace the filtering unit because I'm famously bad with handling stuff 😎*
It used to be about discipline. Engineers have standards, write unit tests, document, strive for the software to have a life beyond them. Programmers used to be specialized typists. Today technically very little difference between the two, unless you are and IEEE guy.
Bro I had a help desk job in the military for a few years and I STILL wasn't qualified to fix a printer. Repairs and maintenance were contracted out so we couldn't touch anything.
I posit 90% of software engineers are strictly programmers with a "more impressive" job title. A systems analyst used to perform the roles now labeled programmer and software engineer, plus they had the additional responsibility of the modern-day business systems analyst bridging the business and technology concerns within an organization.
First time I disagree. For hyped word “architecture” we have Cloud Crew. They are amazing guys for sure, they do “highly loaded systems” - clusterization, load balancing and so on but they don’t know what’s going on with micro services, databases and Elastic configurations which I’m in charge of, not as proficient in Java and overall it’s just a different specific role in the IT sphere. With that being said theirs tasks doesn’t make them “software engineers” and me just a “programmer”
@@arjix8738 Not even a few years tbh. Also before i say anything im referring to webdevelopment and webdev only. If you look how a framework works behind the scenes, you'll realise that it's actually just a bunch of objects smashed together with functions that you've been using all along. It's not as complicated as people describe it to be. However it'll still take a very long time to make one just by yourself lol
As someone whos been doing tech support for over 10 years it is going to feel SOO good just throwing things over the way and feigning ignorance. "Printer? Oh you must need the help desk. Theyre 6 cubes over, thanks."
Fact: in some companies, they really create a level ladder based on these terms. Developer is for inter, fresher, and junior, while Engineer will be for middle and senior. For engineer, they will require more than coding skills, you will need things like clean code, optimizing systems, and giving out software solutions for the task, in some cases, knowledge in networking, server and computer hardware, or even low-level coding or no code are also needed.
In the late '80's, my relative was in charge of an international project to take an existing American industrial inventory program and bring to European markets. This is pre-EU, so the program had to be rewritten for each individual country according to their existing systems and laws. His title? Chief Programmer. I think he would consider "software engineer" to be much the same as "sanitation engineer" - y'know, if it makes you feel better... 🤷
There's no difference in a company if you are a software developer or engineer, you will be expected to work the same way because your product owner doesn't even know wtf the difference is anyways. So just call yourself a software engineer. Heck I work as a DevOps engineer, and I do only 20% things on pipelines and servers, most other stuff are toolings and likely could be done by a software engineer/dev.
To me a Software Engineer is a developer/programmer that has proper education for it. I don't think ill ever be able to call myself one because i'll mostlikely be forever self taught, even if im a professional.
I don’t know man, I’m also self taught yet I’m working amongst devs that have degrees and I am at the same level if not a higher level than them, I’ll just call myself a Software Engineer
Most Job hirings in my country, refer programmers and software engineers as Developers. Funny how they even specified Laravel Backend Developer and yet the job requirements still states about more of a frontend such as JQuery, React, Angular, WordPress lol
I'm pretty sure this is how you end up with teams making choices like: Let's make the fresh out-of-school junior engineer rewrite the entire legacy tech monolith from scratch with all of the state-of-the-art methods & best practices he learned in school. He's probably much more qualified than the senior programmers we have with years of experience with our legacy stack
Computer Science to other Tech Degrees is like Mechanical Engineering to other Engineering Degrees. Just like Mechanical Engineering can do Electrical, Chemical, Civil, Biomedical, Nuclear and other Engineering. Computer Science can do Information Technology, Software Engineering, Networking, Cyber Security, Data Analytics and other Tech Jobs.
I know no one whose job is only to program. Not even the interns or the trainees who just came today. We all need a varied set of skills, not only programming.
Software engineer and programmers are interchangeable at lower level tasks like building simple consumer or buisness application. they split apart, if the problem solves by the software gets more complex.
software engineer need to do the hard work and understand all about the app like they even build the whole framework if they need that is why it's so hard to be a software engineer
Im an IT and CS graduate with a focus on CISCO networking, databases, and programming. But I also have a printing and design shop business, and yes the printer joke hits hard 😅
I'm a SE and I don't do any code. Instead I'm: -Doing performance analysis in customer systems -Analyzing error logs in customer systems -Checking configurations on business process related parameters in customer system -Do sizing review for customers -Analyzing their business processes and compare them to the best practices and capabilities of the system -Run volume test in test systems of the customer -Supporting Go-Live activities -Discussing issues with the development ...and so on.
Each company uses different titles for these attributions. What you described as "software engineer" are "software architects" in some companies, and what you describe as "programmer" is simply a low seniority software engineer in most compabies.
I have my final exam in two weeks. The English translation of my qualification according to DeepL is "IT specialist for application development" - so I'm not a programmer nor a software engineer lol 😂
Programming is the skill, engineer is a position. Also not every "engineer" is automatically better than every "programmer". In general building a new library that solves a new problem requires A LOT more domain knowledge than creating a microservice based webapp after watching 12 hours of web dev content. I like to use terms: Developer - anyone who is coding as a profession. Engineer - people who work on low-level stuff and libraries (people with depth of domain knowledge) Architect - big picture. Same as in physical world you have Builders - the ones who use already accepted good standards. Engineers - who make sure that the technologies actually work. Architects - design/price/ideation
Yeah, I'm a programmer, and glad to be. Programming is a creative process, and staring at code until the solution appears in my head is what I do. If everything is determined beforehand by a software engineer, then I would just be a data entry automaton.
This is basically the difference between a senior level engineer vs a junior level. There is a reason why senior level focuses more on system design as opposed to leetcode. Also, on a daily level, software engineers tend to focus on feature or story level problems. Architecture is more on the planning level, higher scope problems
The titles are arbitrary and depend on the company. Where I've worked, software engineers represent a depth of knowledge of a particular system or tech stack and architects represent a breadth of knowledge across various systems or tech stacks. An architect may work with many different teams on implementing a new system within a company expected to work across different divisions. An engineer from each of those teams is expected to be a knowledge expert on their system and determine how their system will integrate with the newly developed system. Programmers/developers just code what these people have designed for them.
. Software engineer: Analysing , designing , coding , testing , evolving. . Programmer : coding. . Analysing is knowing what you are gonna build and all the details about what it includes and supposed to do . . Designing is writing the architecture of this application in terms of statics case of use and functions (using UML for example) . Coding is coding . Testing is literally testing your project so far . evolving is by fixing those errors or adding new features each of these has its rules and tools and requires specific skills, Analysing needs some good communication skills Designing needs good knowledge about IT and coding things, like networks and oops .. Coding needs what it needs ....
A software engineer is a programmer that works for a company, a programmer is someone that loves using software engineering to solve problems, that's my realistic opinion from what i do and what i know.
A developer is someone who uses a framework. A engineer is someone that implements software from scratch that is designed by an achitect. A architect designs and implements software. So you are describing a architect not a engineer.
The competition today is so high that only software engineers are expected to exist. The days of being a coder are long gone. It is not longer a Job to be a coder, but a tool for your job.
We've heard about programmers and architects but have you heard about software demolishers, that's right our job is to bring down the entire structure with one code commitment
This makes me think that I am studying a software engineering degree for nothing, everyone calls themselves software engineers without having those studies.
For me it mostly manifested in terms of uncertainty. Easiest sh*t was FE Dev, where you get 100% predesigned stuff and the project/framework are decided for you, all the way to Full-Stack Multiwizard where you will do everything and anything from ETL python to "why is the button 10px to the right", also why are the 300 other endpoints not ready for a project where we only even know half of what is to be.