We made it to 1k Subs!!!! Thanks for watching everyone! Feel free to correct me if I was off with something! Some of this stuff is based on my own experience! Cheers!
I've become the 1000th subscriber, I've seen how the number has been changed from 999 to 1000 after my subscription :) Actually, I discovered this channel accidentally, but I love this content, thanks for this!
I agree that in future, embedded software development will become less dependent on the hardware knowledge of the engineer. But for the same reason, I believe that engineers with good knowledge in both hardware and software will be in greater demand.
I agree to a certain extent, i think what he refers to when he says "not know so much about the hardware" is the chip itself, its becoming less and less important to know the registers of a microcontroller when you can use the vendor api, however you still absolutely must know what hardware you are programming because the vendor api knows nothing about it...if you are writing firmware for a very custom synchronous bucks converter and your code is switching MOSFETS you better believe that if you switch the two wrong Mosfets are the wrong time some smoke will come out. I think the more rare a species of engineer becomes the more sought after you are, thus the more money you can ask for, imagine years from now when all the young kids love embedded but dont know an ARM M0 from an M7 , the guy that does know his stuff will be the young lads manager lol
Well, I think that is not exactly true. Doing embedded software development using a hardware of given capacity will most likely look the same in the future as it looks now. Working with a small device, having 1KB RAM, a few registers and 4 I/O - a developer needs to know the HW details - now and in the future. Working with a embedded-Linux-capable-device a developer does not need to know the details about the HW since it is just another Linux box (a bit smaller of course). I think that in the future more embedded development will happen with more powerful devices (which are getting cheaper and cheaper) and thus less knowledge of the HW will be required (because those devices are able to run extra software - like Linux OS - that takes care of the details).
I have involved both of them but in my university courses I have done some Embedded Software and Software Engineering there is big difference In Embedded you have to know many things like you mentioned Hardware and you need to have deep understanding about the hardware you working on then you are able to code and also Network protocols. I think the most concern about Software Engineering nowadays is to code secure code to avoid any bugs which can lead a problem to the organisations like data breach and so on.
I love working with hardwares and softwares and this is what drives me. But as you say, decade later I don't think I would love to just code without working with hardware.
I think those positions will still exist to some extent where people can do that, but probably will be more rare or harder to get…. Someone needs to create those next gen tools to make something like that happen lol …
@@gauravbhattarai75 ani kati ko ramro xa ta nepal ma course daju?, outdated xa ki , ani job scope kati xa in comparison to foriegn. So r u satisfied with the way Thapathali teaches, especially practical projects chahi kati hunxa ni ?????
Embeded software; C Cpp Bash Opsys json xml. Creating programs to run devices. Normal software; java c# js python mssql. Using devices to create programs.
MSc embedded systems engineer here, this dude absolutely know what he is talking about. major differences, objectives, descriptive, pure, understandable. He is nice. Embedded is a wide area, Computer engineer and Embedded system engineer almost similar (i am computer engineer on the diplomas) but if you do deeper, computer engineer much closer to the transistors while embedded engineers closer to pcb and its elements.
Perhaps one more difference is the number of stacks/languages each career option requires you to learn. I might be wrong (seeing as I've never been an embedded engineer), but I imagine you only need to know C and maybe C++ right? As a regular software engineer, I need to know something like 5-10 languages.
Hey Sam! Yes I’d agree with that, it’s mostly C/C++ and regular software engineers tend to have a larger variety languages and are up to date with latest and greatest (always some exceptions)! For embedded more common ones after C/C++ are python, Rust, Java, JavaScript, C# - maybe something else? Lol, so, hopefully the list keeps growing to stay up to date with newer software dev.
I think that you don't only need to know C and C++. It's much more than that. You have to know concepts of low level programming, interrupts, threads, processes, OS API, shell scripting, makefiles, cmake/automake, git, ssh, UML diagrams, design patterns, various assembly languages, how to optimize your code for space and/or time, possibly MPI and OpenMP too. C and C++ also have many complicated features, such as C++11, 14, and 17. You also need to know how to use your IDE, WSL, emulations, tools, etc. And then there are also algorithms, data structures ...
I’m working current as a software developer who would want to go into embedded software/iot. As a side project, I build a bbq monitoring system using Arduino framework. In this project, I used esp32 chip, fire base for storage dB, build endpoints for current time updates and a also very simple unity mobile app just to read current data from endpoint and past data from firebase. What more do you think I should learn besides my side bbq project? I mostly deal with sensors on the hardware side.
I guess it depends on what MCU you're working with. For ESP chips, for example, there are standalone compiler and debugging tool which you can use in whatever environment you want
Hi, Your videos are informative. Thank you very much. I'm senior CS student and thinking about pursuing a career in embedded systems. The thing that is stopping me is that I see most people saying that embedded system software engineering involves a lot of data sheet and schematic reading (some say it takes 90% while coding is only 10%). Do you think that is true? I don't mind reading data sheets and look to schematic from time to time but not to spend majority of my time on it. What was your experience? Do you think reading data sheets makes the job look less like coding (or engineering) related job?
I am actually 1st electrical engineer and I had this workshop from my college club where we had to design pcb ,solder it and then connect it to your pc and use arduino ide to program it to display certain patterns While programming (especially first time) I had to spend lot of time understanding how this works go on quoara stack overflow and other websites to clarify my doubts and get better understanding and then write down So i needed to go through the documentation (which is very thick) but not completely just know what u need to program , what interface or methodology are u going to use (like there is SPI communication, UART, I2C ) just try some projects or workshops and get some experience that's the best way
Good question! I think it depends on what phase of development you are… if you’re writing low level drivers yes you’ll be doing the data sheet and schematic thing a lot…. But once everything is configured and up a running… now it’s “like” regular software development… you do features, algorithms, data processing, OS, and whatever else your device might have … :) hope this helps! Best of luck on your job search!
yes i am embedded system engineer, coding is not the majority part. Especially mcu based projects doesn't have that much code, but every line is calculated. You can't say, it works okay, you have to think every other scénarios.
Hi Greidi, I have just discovered your channel, it is wonderful! Thanks for all the information that you share. I'd like to ask you something, I feel like RTOS is a extremely important topic for embedded engineers (what do you think?), so where or what do you recommend to start with this area. Thanks in advance.
I'm learning C/C++ rn and wanna become an OS developer. Through the process of figuring out what exactly I want to do, I got lost in the terms. Since these kinds of expertises are rarer than general software developing, it's hard to find the answer you need. Can you please explain the differences between the terms; System Engineer vs OS developer vs Embedded Software Engineer? I know they are similar and have overlapping aspects but I can't figure out what exactly their differences are.
Hey! Typically system engineer is an engineer that looks at the whole system on a higher level, not just one specific part. They work with requirements, design of the overall system, and may or may not actually step in to do some coding or hardware designs. I depends on what OS you're working on, but in general I would say OS development would be part of embedded realm.
Nice video :) What are the differences in how a programming language is used in applications software engineering vs. embedded software engineering? For instance, what data structures and algorithms are heavily used in applications software engineering vs. embedded software?
Nash, thank you! Embedded software data structures and algorithms tend to be optimized for the specific architecture used on devices to make the most out of those devices. Depends on what industry of embedded software you’re looking… odds are that same/similar algorithms are used across both areas. Typical ones are sorting, searching, compression, data processing, probably a bunch more that I can’t think of the top of my head.
@@GreidiAjalik I had read that data structures and algorithms aren't as heavily used in embedded software because of limited memory and processing power. Could you comment on this and also give some information about what the most commonly used data structures and algorithms are? Thank you for replying :)
In a sense you’re correct, but it depends on the product you might work on. I.e. if you work on OS dev then you’ll most likely be heavily involved with data structures and algorithms, or think about self driving cars and the data they need to handle (lots of stuff going on there). On the other hand if you might work on a small startup prototype project that runs on a small 8-bit architecture, you’ll be very limited on what you can actually accomplish and do with data structures. Most commonly used data structures for embedded: linked lists, circular buffers, stack, heap, queue, binary trees, probably a some other I’m missing Most common algorithms (totally depends on projects you work on…): Sorting, search, compressions (bit packing is most typical one), DSP (FFT, FTR, filters), probably a bunch of others that I’m missing here (anyone… feel free to correct me or add onto this)
@@GreidiAjalik Thank you for your reply; it is immensely helpful to talk to a real embedded engineer in real time (pun somewhat intended)! My background is in physics but I am very interested in embedded software so all my sources of information (and, potentially, misinformation) is from the internet so I am thankful for the opportunity to connect and communicate with a professional working in the field. Now, I had also read that the heap isn't used much in embedded software because of some issues dealing with the speed in which the requested memory can be allocated. From my understanding, it is something as follows: when a user requests memory from the heap, it can take some time for the processor to find space in the heap that is equal in size to the requested amount. Furthermore, because data isn't stored sequentially in a heap (unlike in a stack), storing and fetching data can be unacceptably slow (in situations where timing is critical). Is my understanding correct? Also, I suppose that there are no strict "rules" that says that a certain data structure or algorithm can and cannot be used; I suppose that it all depends on the context and the project in which you're working. Using the heap might be acceptable in some contexts but not others. Is this a good way to think about it?
Sorry for the late reply, I’ve been traveling for work and been super busy because of that. Feel free to add me on LinkedIn to connect! I think you have a good understanding and of course heap is used, but depends on the processor used and your own use case… if your embedded software is very strictly limited in memory you’d want to avoid using it. There are some pitfalls that come along with using heap for embedded so you’d want to be careful with doing that…
@@highway2heaven91 yep a little bit... but totally depends on project you might work on. At my previous job, I never even had to deal with hardware or low level drivers at all, but it was still embedded software that I was working with - so there are some different flavors for embedded software :)
Same iam also completed my degree... I have one question.. Regular software engineering better or embedde software engineering beter which one is better.. Future scopes..
Hey Kevin! What’s the struggle/barrier here - C/C++? Something else? I’d recommend using STM32 cube IDE when you first start off to help with generating the code and visualizing the mcu pin out with all the peripherals available. If it’s C/C++, I’d recommend doing some crash courses online on how to use it.
On the topic of "less hardware knowledge required". What are your thoughts on HALs (Hardware Abstraction Layer)? They seem particularly popular in the Rust ecosystem. It's definitely more effort in the side of the chip maker, and maybe (?) one looses a small bit of understanding for what's going on, but at the same time it often does make things just so much easier, and I wonder if you think that that approach will stay, or if it's too much effort, or of something else will succeed.
It will stay and become even more generalized. I think it’s really moving toward a general software dev approach. Just my personal opinion though. Also I’m assuming you’re talking about HAL libraries provided by manufacturer or some other third party? In general they are ok to use (depends which ones some can be buggy), but when you have a time critical system I would not recommend it as they have a lot of additional code that just slows the process. You can always modify those drivers for your own need and lose dependency on the maker of those libraries. Hope this helps, sorry for the late reply :(
@@GreidiAjalik Nah, wasn't time critical (not meaning the program), just interest based. Have you made the experience that a manufacturer made HAL made your application significantly slower? I don't have terribly much experience, but I'd rather expect binary size to become an issue, execution time only in very rare situations.
@@9SMTM6 Yes, at my current project we are experiencing this and will be modifying the HAL to remove unnecessary code - again this is for time critical systems (and low power), but I do agree that in general this wouldn't be an issue :).
Which degree should i get i have only two option Electrical Engineering or IT ? I work as an Automation Technician at Metro Project we deals with the Plc system and microcontrollers.
What are the best universities in world that offer best masters course in embedded systems. I said best ny that I mean skills that are required to get into a embedded systems based job. Please reply🙏
Hey that’s a good question, but a hard one to answer - I’m assuming you mean embedded software engineering? I would need to do some serious research before I could answer it… lol
You can look for best universities for software engineering and or computer engineering, then pick few and see if they offer embedded courses. Personally I’m doing omscs and they have some embedded courses part of the program, so you could check CS as well :)
did you ever use matlab and simulink as tools for design and development of embedded software ? i am a mechatronic engineer and currently studying how to use matlab and simulink to design and build mechatronics systems. I'm looking forward to become a enbedded software engineer, and i was wondering what are you toughts on simulink as a tool to generate enbedded code.
Hey man, I've been watching your vids lately and It's great. You gave me a picture of what to expect in my career in the future. I would just like to know how I can get these kinds of jobs? Is it possible to join some company and apply for an embedded software engineer with past experience involving arduino or ESP projects?
Hi Greidi, thanks for your videos I really love your content, I want to ask if it’s possible to get a job as an embedded software engineer without a college degree in engineering.
Good morning Greidi I am from cs background. Currently I got job in embedded c. Can I join in this company. Does embedded c has scope in future? Kindly reply me . I got confused
Hello Greidi, I am an Electronics Engineer who has completed his degree from India from Government Engineering College, how do I get a job in Canada in Embedded field l?
depends on the company… you should expect competitive pay at most of the companies in the USA. I’ve heard that outside the US embedded jobs are paid lower compared to regular SWE. You can Google to find rates in your area for each of the fields to get better overview. Cheers!
I m going to start studying Electrical and Electronics Engineering next year and I want to specialize in embedded systems in the future. What do you think is best for me?
@@_zZzZSsSs_ thank you for the questions! First, it's hard to say for me what is best for you... research what you're passionate about, try things etc. to find out what you want to do. In my opinion and based on what I've seen in the industry systems engineers have a more general overview of things. They look at the system as a whole not in specific areas. They focus on requirements, reliability, process, quality, etc. For example. Embedded System Engineer would focus on designing the whole embedded system on how it should work an interact with different parts of itself (hardware, low and high level software, applications). Embedded software engineer would focus on the design of the low and high level software. Embedded hardware engineer (or just hardware engineer) would do the hardware layouts. Electrical engineer would do the design of the schematics. There is some overlap in these ares. Odds are that if you work for a small company you could be a systems engineer one day and hardware engineer the other... with this obviously comes greater responsibility.
@@GreidiAjalik Thank you so much for your quite detailed, informative and helpful response. Thanks to you, I understand better in many ways. I hope I can be an expert and one of the best in my department like you. I wish you a successful career. :)
What are the differences between a regular software engineer and an embedded software engineer? A regular software engineer needs glasses, and an embedded software engineer does not need glasses.
We made it to 1k Subs!!!! Thanks for watching everyone! Feel free to correct me if I was off with something! Some of this stuff is based on my own experience! Cheers!
I've become the 1000th subscriber, I've seen how the number has been changed from 999 to 1000 after my subscription :) Actually, I discovered this channel accidentally, but I love this content, thanks for this!
Eyyyyyy Vasyl, that’s so cool! Thanks for being the 1000th subscriber on this channel and thanks for all the support as well!
I agree that in future, embedded software development will become less dependent on the hardware knowledge of the engineer. But for the same reason, I believe that engineers with good knowledge in both hardware and software will be in greater demand.
True
I agree to a certain extent, i think what he refers to when he says "not know so much about the hardware" is the chip itself, its becoming less and less important to know the registers of a microcontroller when you can use the vendor api, however you still absolutely must know what hardware you are programming because the vendor api knows nothing about it...if you are writing firmware for a very custom synchronous bucks converter and your code is switching MOSFETS you better believe that if you switch the two wrong Mosfets are the wrong time some smoke will come out. I think the more rare a species of engineer becomes the more sought after you are, thus the more money you can ask for, imagine years from now when all the young kids love embedded but dont know an ARM M0 from an M7 , the guy that does know his stuff will be the young lads manager lol
Well, I think that is not exactly true.
Doing embedded software development using a hardware of given capacity will most likely look the same in the future as it looks now. Working with a small device, having 1KB RAM, a few registers and 4 I/O - a developer needs to know the HW details - now and in the future. Working with a embedded-Linux-capable-device a developer does not need to know the details about the HW since it is just another Linux box (a bit smaller of course).
I think that in the future more embedded development will happen with more powerful devices (which are getting cheaper and cheaper) and thus less knowledge of the HW will be required (because those devices are able to run extra software - like Linux OS - that takes care of the details).
I have involved both of them but in my university courses I have done some Embedded Software and Software Engineering there is big difference In Embedded you have to know many things like you mentioned Hardware and you need to have deep understanding about the hardware you working on then you are able to code and also Network protocols. I think the most concern about Software Engineering nowadays is to code secure code to avoid any bugs which can lead a problem to the organisations like data breach and so on.
I love working with hardwares and softwares and this is what drives me. But as you say, decade later I don't think I would love to just code without working with hardware.
I think those positions will still exist to some extent where people can do that, but probably will be more rare or harder to get…. Someone needs to create those next gen tools to make something like that happen lol …
Worrying about the same.☹️
Gaurav r u also a embeedded engineer, kaha padhnubhayo ?????
@@inishkohli273 Thapathali Campus, Electronics and Communication, 4th Year running bro...
@@gauravbhattarai75 ani kati ko ramro xa ta nepal ma course daju?, outdated xa ki , ani job scope kati xa in comparison to foriegn. So r u satisfied with the way Thapathali teaches, especially practical projects chahi kati hunxa ni ?????
Embeded software; C Cpp Bash Opsys json xml. Creating programs to run devices.
Normal software; java c# js python mssql. Using devices to create programs.
Dude, your videos have been so helpful. They don’t get much views, but for those of us that watch it, holy cow are they useful . THANK YOU
Woot woot! Thanks again, I appreciate this support!
Thanks Greidi, this video was very helpful!
Glad to hear that! Cheers!
MSc embedded systems engineer here, this dude absolutely know what he is talking about. major differences, objectives, descriptive, pure, understandable. He is nice. Embedded is a wide area, Computer engineer and Embedded system engineer almost similar (i am computer engineer on the diplomas) but if you do deeper, computer engineer much closer to the transistors while embedded engineers closer to pcb and its elements.
I am also M. Sc electronics currently working as embedded software engineer
2:00 is the reason i’m not getting into Embedded SE
Perhaps one more difference is the number of stacks/languages each career option requires you to learn. I might be wrong (seeing as I've never been an embedded engineer), but I imagine you only need to know C and maybe C++ right? As a regular software engineer, I need to know something like 5-10 languages.
Hey Sam! Yes I’d agree with that, it’s mostly C/C++ and regular software engineers tend to have a larger variety languages and are up to date with latest and greatest (always some exceptions)! For embedded more common ones after C/C++ are python, Rust, Java, JavaScript, C# - maybe something else? Lol, so, hopefully the list keeps growing to stay up to date with newer software dev.
I think that you don't only need to know C and C++. It's much more than that. You have to know concepts of low level programming, interrupts, threads, processes, OS API, shell scripting, makefiles, cmake/automake, git, ssh, UML diagrams, design patterns, various assembly languages, how to optimize your code for space and/or time, possibly MPI and OpenMP too. C and C++ also have many complicated features, such as C++11, 14, and 17. You also need to know how to use your IDE, WSL, emulations, tools, etc. And then there are also algorithms, data structures ...
@@konstantinrebrov675 love this, thanks for writing this info here for people to find!
Sounds fun! I know what I'll be looking into for the coming three-and-a-half months!
I’m working current as a software developer who would want to go into embedded software/iot. As a side project, I build a bbq monitoring system using Arduino framework. In this project, I used esp32 chip, fire base for storage dB, build endpoints for current time updates and a also very simple unity mobile app just to read current data from endpoint and past data from firebase. What more do you think I should learn besides my side bbq project? I mostly deal with sensors on the hardware side.
I guess it depends on what MCU you're working with. For ESP chips, for example, there are standalone compiler and debugging tool which you can use in whatever environment you want
Hi, Your videos are informative. Thank you very much. I'm senior CS student and thinking about pursuing a career in embedded systems. The thing that is stopping me is that I see most people saying that embedded system software engineering involves a lot of data sheet and schematic reading (some say it takes 90% while coding is only 10%). Do you think that is true? I don't mind reading data sheets and look to schematic from time to time but not to spend majority of my time on it. What was your experience? Do you think reading data sheets makes the job look less like coding (or engineering) related job?
I am actually 1st electrical engineer and I had this workshop from my college club where we had to design pcb ,solder it and then connect it to your pc and use arduino ide to program it to display certain patterns
While programming (especially first time) I had to spend lot of time understanding how this works go on quoara stack overflow and other websites to clarify my doubts and get better understanding and then write down
So i needed to go through the documentation (which is very thick) but not completely just know what u need to program , what interface or methodology are u going to use (like there is SPI communication, UART, I2C ) just try some projects or workshops and get some experience that's the best way
Good question! I think it depends on what phase of development you are… if you’re writing low level drivers yes you’ll be doing the data sheet and schematic thing a lot…. But once everything is configured and up a running… now it’s “like” regular software development… you do features, algorithms, data processing, OS, and whatever else your device might have … :) hope this helps! Best of luck on your job search!
yes i am embedded system engineer, coding is not the majority part. Especially mcu based projects doesn't have that much code, but every line is calculated. You can't say, it works okay, you have to think every other scénarios.
Hey Nice to see you
I'm also embedded firmware Developer i watch your video .
i used to develop my project on St microcontroller
Awesome, thanks man!
You are my source of motivation. ❤️
Eyyyyy!! Thanks my friend, glad to hear the content is motivating!
Hi Greidi, I have just discovered your channel, it is wonderful! Thanks for all the information that you share.
I'd like to ask you something, I feel like RTOS is a extremely important topic for embedded engineers (what do you think?), so where or what do you recommend to start with this area.
Thanks in advance.
Thank you! RTOS is important... I'd recommend starting with FreeRTOS there's a good community with lots of support for it.
very helpful sir,pls make video on ES jobs vs sofware jobs INTERMS of growth,compensation,work culture etc.
hey! I'll keep it in mind for my future video planning!
Thank you, can you give us the best Embedded Software Engineering books titles
Letting someone else answer this question as I personally don’t do much learning from specific books (:
I'm learning C/C++ rn and wanna become an OS developer. Through the process of figuring out what exactly I want to do, I got lost in the terms. Since these kinds of expertises are rarer than general software developing, it's hard to find the answer you need. Can you please explain the differences between the terms; System Engineer vs OS developer vs Embedded Software Engineer? I know they are similar and have overlapping aspects but I can't figure out what exactly their differences are.
Hey! Typically system engineer is an engineer that looks at the whole system on a higher level, not just one specific part. They work with requirements, design of the overall system, and may or may not actually step in to do some coding or hardware designs. I depends on what OS you're working on, but in general I would say OS development would be part of embedded realm.
@@GreidiAjalik Thank you so much.
I’m trying to also learn C. What resources are you using?
Please can you guide me on the ways to become an embedded systems engineer by giving me the names of the courses for example
Hey! here's a video where I explain what is needed for becoming an embedded software engineer... ruclips.net/video/HFmGk4oufj8/видео.html
Nice video :) What are the differences in how a programming language is used in applications software engineering vs. embedded software engineering? For instance, what data structures and algorithms are heavily used in applications software engineering vs. embedded software?
Nash, thank you! Embedded software data structures and algorithms tend to be optimized for the specific architecture used on devices to make the most out of those devices. Depends on what industry of embedded software you’re looking… odds are that same/similar algorithms are used across both areas. Typical ones are sorting, searching, compression, data processing, probably a bunch more that I can’t think of the top of my head.
@@GreidiAjalik I had read that data structures and algorithms aren't as heavily used in embedded software because of limited memory and processing power. Could you comment on this and also give some information about what the most commonly used data structures and algorithms are? Thank you for replying :)
In a sense you’re correct, but it depends on the product you might work on. I.e. if you work on OS dev then you’ll most likely be heavily involved with data structures and algorithms, or think about self driving cars and the data they need to handle (lots of stuff going on there). On the other hand if you might work on a small startup prototype project that runs on a small 8-bit architecture, you’ll be very limited on what you can actually accomplish and do with data structures. Most commonly used data structures for embedded: linked lists, circular buffers, stack, heap, queue, binary trees, probably a some other I’m missing
Most common algorithms (totally depends on projects you work on…):
Sorting, search, compressions (bit packing is most typical one), DSP (FFT, FTR, filters), probably a bunch of others that I’m missing here (anyone… feel free to correct me or add onto this)
@@GreidiAjalik Thank you for your reply; it is immensely helpful to talk to a real embedded engineer in real time (pun somewhat intended)! My background is in physics but I am very interested in embedded software so all my sources of information (and, potentially, misinformation) is from the internet so I am thankful for the opportunity to connect and communicate with a professional working in the field.
Now, I had also read that the heap isn't used much in embedded software because of some issues dealing with the speed in which the requested memory can be allocated.
From my understanding, it is something as follows: when a user requests memory from the heap, it can take some time for the processor to find space in the heap that is equal in size to the requested amount. Furthermore, because data isn't stored sequentially in a heap (unlike in a stack), storing and fetching data can be unacceptably slow (in situations where timing is critical).
Is my understanding correct? Also, I suppose that there are no strict "rules" that says that a certain data structure or algorithm can and cannot be used; I suppose that it all depends on the context and the project in which you're working. Using the heap might be acceptable in some contexts but not others. Is this a good way to think about it?
Sorry for the late reply, I’ve been traveling for work and been super busy because of that. Feel free to add me on LinkedIn to connect! I think you have a good understanding and of course heap is used, but depends on the processor used and your own use case… if your embedded software is very strictly limited in memory you’d want to avoid using it. There are some pitfalls that come along with using heap for embedded so you’d want to be careful with doing that…
Can I be a Embedded Software engineer with experience in software testing? And if yes what skills should I have?
Hey yes you could enter the embedded space, I have some videos where I discuss that "how to become and embedded software engineer?"
Great video!
Thank you!
thanks for yout videos!
Great video. One question I have though, is does embedded firmware cover the hardware side?
Embedded firmware is software that provides the low-level control of the hardware used. Not really sure if that answers your question ... lol
What would be a title of a position that deals with the hardware?
@@highway2heaven91 hardware engineer or electrical engineer.
@@GreidiAjalik I thought so. It seems like some hardware knowledge is still needed though, thanks.
@@highway2heaven91 yep a little bit... but totally depends on project you might work on. At my previous job, I never even had to deal with hardware or low level drivers at all, but it was still embedded software that I was working with - so there are some different flavors for embedded software :)
Thanks for sharing.
I just got my degree in electronic engineering and I'm looking for jobs oportunities, do you have any tips?
Same iam also completed my degree... I have one question.. Regular software engineering better or embedde software engineering beter which one is better.. Future scopes..
I'm trying to transition from Arduino into STM32, but I'm having a hard time any tips? Thanks Greidi
Hey Kevin! What’s the struggle/barrier here - C/C++? Something else? I’d recommend using STM32 cube IDE when you first start off to help with generating the code and visualizing the mcu pin out with all the peripherals available. If it’s C/C++, I’d recommend doing some crash courses online on how to use it.
I recommend you book by Carmine Noviello "Mastering stm32"
@@farukhalilagic2070 thank you Faruk
On the topic of "less hardware knowledge required". What are your thoughts on HALs (Hardware Abstraction Layer)? They seem particularly popular in the Rust ecosystem.
It's definitely more effort in the side of the chip maker, and maybe (?) one looses a small bit of understanding for what's going on, but at the same time it often does make things just so much easier, and I wonder if you think that that approach will stay, or if it's too much effort, or of something else will succeed.
It will stay and become even more generalized. I think it’s really moving toward a general software dev approach. Just my personal opinion though. Also I’m assuming you’re talking about HAL libraries provided by manufacturer or some other third party? In general they are ok to use (depends which ones some can be buggy), but when you have a time critical system I would not recommend it as they have a lot of additional code that just slows the process. You can always modify those drivers for your own need and lose dependency on the maker of those libraries. Hope this helps, sorry for the late reply :(
@@GreidiAjalik Nah, wasn't time critical (not meaning the program), just interest based.
Have you made the experience that a manufacturer made HAL made your application significantly slower? I don't have terribly much experience, but I'd rather expect binary size to become an issue, execution time only in very rare situations.
@@9SMTM6 Yes, at my current project we are experiencing this and will be modifying the HAL to remove unnecessary code - again this is for time critical systems (and low power), but I do agree that in general this wouldn't be an issue :).
but what about software itself? wondering what you can use from C++ vs C standard.
Which degree should i get i have only two option Electrical Engineering or IT ? I work as an Automation Technician at Metro Project we deals with the Plc system and microcontrollers.
Dude,I have doubt about should we prefer software or hardware for future development.Which has more demand?
Software has definitely higher demand and more openings
You are right, most of the time i have to debug, and it is a pain in the ###.. haha
😂 lol
What are the best universities in world that offer best masters course in embedded systems. I said best ny that I mean skills that are required to get into a embedded systems based job. Please reply🙏
Hey that’s a good question, but a hard one to answer - I’m assuming you mean embedded software engineering? I would need to do some serious research before I could answer it… lol
@@GreidiAjalik yes embedded software it is. More research ahh. Ok then can u give a starting point for the research. Ima try to find myself!
You can look for best universities for software engineering and or computer engineering, then pick few and see if they offer embedded courses. Personally I’m doing omscs and they have some embedded courses part of the program, so you could check CS as well :)
@@GreidiAjalik great ty will check ❤️
did you ever use matlab and simulink as tools for design and development of embedded software ? i am a mechatronic engineer and currently studying how to use matlab and simulink to design and build mechatronics systems. I'm looking forward to become a enbedded software engineer, and i was wondering what are you toughts on simulink as a tool to generate enbedded code.
I used a bit of matlab, but preferred using python instead. I don't think I've used simulink personally, so can't speak for that.
Hey man, I've been watching your vids lately and It's great. You gave me a picture of what to expect in my career in the future. I would just like to know how I can get these kinds of jobs? Is it possible to join some company and apply for an embedded software engineer with past experience involving arduino or ESP projects?
Well, that logo there at 00:00:05 lasted for exactly 25 frames lol :{)
#cool Subbed bec. of great educational contents! Keep it up!
Thanks for the support! Cheers!
Thank you
No problem!
Which pay more after gaining skills?
Hi Greidi, thanks for your videos
I really love your content,
I want to ask if it’s possible to get a job as an embedded software engineer without a college degree in engineering.
Hi, yes it is! You just need to show you got same or better skill set in this field compared to a new college graduate.
Good morning Greidi
I am from cs background. Currently I got job in embedded c. Can I join in this company. Does embedded c has scope in future? Kindly reply me . I got confused
If they accept you, you can join and if that’s what you want to do… embedded c has scope in the future.
I am b.tech student EEE complited Which is best way of embedded system & software side. and future growth which is better.
Hey! you can watch this video, hopefully helps with some choices you'd need to make at school... ruclips.net/video/HFmGk4oufj8/видео.html
Hello Greidi, I am an Electronics Engineer who has completed his degree from India from Government Engineering College, how do I get a job in Canada in Embedded field l?
Hey! I'm not sure about Canada since I don't live there or never have...
"On the other hand, like this one" *🖐️*
*subbed*
Kevin!! Thank you so much!
According to salary!! Which one is better Software developer or Embedded systems
depends on the company… you should expect competitive pay at most of the companies in the USA. I’ve heard that outside the US embedded jobs are paid lower compared to regular SWE. You can Google to find rates in your area for each of the fields to get better overview. Cheers!
Thanks Sir
You're welcome!
If we study Software Engineering, can we works as an Embedded Software Engineer ?
Yep, there might be some extra things you need to learn, but those could be just done at the job itself.
@@GreidiAjalik Thanks a lot
Amazing
Thank you!
Sir can you consider mobile as embedded system
technically... yes, but phones nowadays are comparable to regular PCs
Am I only one who was waiting for the salary comparison?
Can I get embedded software job with a B.Tech in CS?
Yes, totally doable and I’ve met many who have done so!
What is the difference between Embedded Systems Engineering and Embedded Software Engineering?
I m going to start studying Electrical and Electronics Engineering next year and I want to specialize in embedded systems in the future. What do you think is best for me?
@@_zZzZSsSs_ thank you for the questions! First, it's hard to say for me what is best for you... research what you're passionate about, try things etc. to find out what you want to do. In my opinion and based on what I've seen in the industry systems engineers have a more general overview of things. They look at the system as a whole not in specific areas. They focus on requirements, reliability, process, quality, etc. For example. Embedded System Engineer would focus on designing the whole embedded system on how it should work an interact with different parts of itself (hardware, low and high level software, applications). Embedded software engineer would focus on the design of the low and high level software. Embedded hardware engineer (or just hardware engineer) would do the hardware layouts. Electrical engineer would do the design of the schematics. There is some overlap in these ares. Odds are that if you work for a small company you could be a systems engineer one day and hardware engineer the other... with this obviously comes greater responsibility.
@@GreidiAjalik Thank you so much for your quite detailed, informative and helpful response. Thanks to you, I understand better in many ways. I hope I can be an expert and one of the best in my department like you. I wish you a successful career.
:)
@@_zZzZSsSs_ thank you for the kind words! I appreciate it!
What are the differences between a regular software engineer and an embedded software engineer?
A regular software engineer needs glasses, and an embedded software engineer does not need glasses.
LOL, yep, the thumbnail shows all you need know :D
❤
Why does the dog never move?
😂 he is too focused on what’s outside… or sleeping…
@@GreidiAjalik maybe it waits wath dog data😅
Bro if u speak slowly and clearly any country people can easily understood 🙏.... Who knows English😎
Thanks for the feedback :) I’ll keep it in mind!
Then keep u r play back speed in low
Worst intro ever
Bla bla bla...
hi from kenya ,want to be a embedded software engineer ,how can i get your contact
can a mechatronics engineer work with embedded software if he is interested in programming?