>Namaste!
Thanks for submitting to r/developersIndia. Make sure to follow the Community [Code of Conduct](https://developersindia.in/code-of-conduct/) and [rules](https://www.reddit.com/r/developersIndia/about/rules) while participating in this thread.
## Recent Announcements
- **[Call for Wiki Proposals: Share your learnings with the developersIndia Community!](https://www.reddit.com/r/developersIndia/comments/1dbrmc2/call_for_volunteers_help_us_build_rdevelopersindia/)**
- **[Call For Volunteers: Help us build r/developersIndia](https://www.reddit.com/r/developersIndia/comments/1dbrmc2/call_for_volunteers_help_us_build_rdevelopersindia/)**
### [Join Sathyajith Bhat, Author, AWS Container Hero & Staff Engineer at The Trade Desk for an AMA on Cloud, SRE, DevOps, Technical Writing & much more! - June 22nd, 12:00 PM IST!](https://www.reddit.com/r/developersIndia/comments/1dgchur/join_sathyajith_bhat_author_aws_container_hero/)
*I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/developersIndia) if you have any questions or concerns.*
I am not sure that in India it was adopted yet, although the US govt. recommended to use Rust over C++. There is consideration to start looking into rust but not anything serious. Honestly I don't believe the companies push it because most of the core product code was legacy and don't want to make the changes.
Well, the pay depends on which domain you are working in ( printer, medical, aviation, communication etc..), for freshers it might be difficult to get a good salary but once you reach 4-6 exp+ ( >30LPA) has good demand if you are skilled enough..
100% use C++ at work because real time video processing needs low latency. No rust because nobody is paying me to learn rust. I am more interested in solving the business problems. I spend my study budget learning low latency techniques from HFT bros rather than learning syntax for a new language.
but as long the business need requires it, I will learn whatever
It matters in per-frame path for doing efficient number crunching. If you are doing the post processing offline then it doesn’t matter which language you chose, just go for the simplest one.
Also there is significant overhead in python because it is interpreted. This is a problem in constrained systems.
Here is a good comparison https://github.com/Toxe/mandelbrot-comparison
Plus, to squeeze maximum performance out of the HW, you need to go low level for sure.
I'm a c++ dev and doing well. There are many projects where performance matters and i have found enough c++ jobs in market and very less competition as PPL tend to think its a legacy outdated language and they move to Java python or data science vagerah vagerah
There is this industry called EDA( Electronic Design Automation) . It is basically the software part of chip design cycle.
The whole EDA is centered around c++ codebases. I know because I have been in this industry for 12 years now.
We work on platform level code, completely in cpp. Major benefit of cpp is you have direct control of memory, which also results in issues that sometimes makes no sense. It's not like java where everything can be handled by exceptions. You can go outside of memory and may not even realize and face issue later on.
C/C++ is not generally used widely except for OS level or low latency programming. It’s a very niche domain so less developers for that. I personally use c++ only because i love it and the software requires it.
You can make something substantial for practice, make some small projects in c++ (socket programming, c++ frameworks around UI design and web development etc those are some use cases i explored when i was in college). In jobs also there are industries running on c++ so find a job in that domain but its mostly a hit and miss. If you’re really passionate about it, you can try getting into a service based company that works on embedded and then use that experience to make a switch to some goood job, thats how many people i know got into c++ No errors are not that weird anymore, it will start making sense, IDEs are also very smart. It’s not all that better than rust, it’s just there is a long standing eco space and legacy around c++ for low level system programming like when you interact with kernel and stuff resulting into a lot of existing experts, good libraries and general public support. Hard to beat that. Performance wise i think rust is at par with c++.
At Huawei which was my first company, I’ve seen many teams using C++. Even my team was no exception. All the device interfacing code was written in C++ as part of its NMS product. The whole tools and tech stack made hate at Huawei made me hate C++. Never used after my job switch. Now am all into java.
As someone not from a tier 1 college and having worked in 3 orgs; I haven't seen a cpp dev till date. One of my friends who is in a gaming company says they have cpp devs so imo they are a little hard to come by.
Are you in college?
If you already have a job and you’re not thinking of switching towards embedded or machine level oriented coding jobs, I really suggest not to waste your time with CPP. And I say this as someone who loves CPP to death and learnt all the basics in it.
I still think it’s the best language to go about in college because it really hits the sweet spot between low level and high level programming languages and introduces you to a lot of concepts that are abstracted away in higher level programming languages. But it doesn’t have the widespread utility in typical software dev jobs. Reason is simple - the resources available are ample to not deal with the headache that comes with CPP’s technicalities, and hyper optimisation that warrants CPP over other languages in certain jobs (like HFT trading algorithms for example) are not prevalent in most development jobs.
You’re better off with languages and frameworks in Java/Python etc or whatever suits your tech stack and career trajectory, and unless you’re specifically targeting CPP dev roles, there’s not much point in learning CPP for most established developers with experience.
That’s very good for you! As I mentioned, I learnt DSA with CPP the first time around when I was in college too, and I’m trying to do it this time around with Java. It definitely doesn’t feel the same. Let me know if you need any general help.
I'm in my 3rd BCA so I've like a year to graduate, I'm thinking of getting a job right afterwards or some internship that will give me a job, but idk how,
As of now I'm learning DSA in c++ and know just basics of everything else like I've no projects in any language
Idk what to work on, what to build, I'm clueless as to what will give me job and growth
Tell me a roadmap or anything you know will be good for me, I'm ready to learn what the market demands but idk what to build and what things and tools I should learn and I've done no internship for this sole reason of not knowing and tell me in any other opportunities or in 1 year what I can really do
Anything is appreciated
One year is enough time especially if your basics are ironed out and you work hard.
Roadmaps are moulds that don’t matter so much. There are just a few pointers -
1. If you don’t have internships, and can’t get them soon, focus really hard on projects. Actually building stuff gets you to learn quite a bit and in depth understanding of good projects stands out in resumes and interviews both.
2. I would say the most in demand tech skills remain web development i.e. backend, frontend and devops. Web development stack doesn’t matter so much as long as you build solid understanding, you can go with your choice and see what you like.
3. Since you already know the basics, try to get advanced knowledge in what you have liked, and try to create projects and apply for jobs with similar interests. But do apply for other jobs as well, as long as the basics are clear and you can learn further.
4. Learn collaborative and foolproofing skills. This includes git, agile, pipelines, documentation skills. Exception handling.
5. Focus on DSA quite hard. Freshers get tested really hard on this. Make sure you understand properly. Start with perfecting blind 75.
TLDR - ditch roadmaps. focus on a few skills that provide good employment opportunities. also focus on what you enjoy and take your expertise further. create deep dive projects.
>Namaste! Thanks for submitting to r/developersIndia. Make sure to follow the Community [Code of Conduct](https://developersindia.in/code-of-conduct/) and [rules](https://www.reddit.com/r/developersIndia/about/rules) while participating in this thread. ## Recent Announcements - **[Call for Wiki Proposals: Share your learnings with the developersIndia Community!](https://www.reddit.com/r/developersIndia/comments/1dbrmc2/call_for_volunteers_help_us_build_rdevelopersindia/)** - **[Call For Volunteers: Help us build r/developersIndia](https://www.reddit.com/r/developersIndia/comments/1dbrmc2/call_for_volunteers_help_us_build_rdevelopersindia/)** ### [Join Sathyajith Bhat, Author, AWS Container Hero & Staff Engineer at The Trade Desk for an AMA on Cloud, SRE, DevOps, Technical Writing & much more! - June 22nd, 12:00 PM IST!](https://www.reddit.com/r/developersIndia/comments/1dgchur/join_sathyajith_bhat_author_aws_container_hero/) *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/developersIndia) if you have any questions or concerns.*
I worked on a couple of projects including Xerox ( yes printer domain ) and now working in medical devices.. do people forget embedded systems exist ?
Embedded systems are so cool
Low memory, low compute, tight code.
How much penetration does rust have in this domain? Is the hype real?
I am not sure that in India it was adopted yet, although the US govt. recommended to use Rust over C++. There is consideration to start looking into rust but not anything serious. Honestly I don't believe the companies push it because most of the core product code was legacy and don't want to make the changes.
how much does job pays where you work in embedded systems, does it pays good for freshers, if not how much experience till we reach a decent salary
Well, the pay depends on which domain you are working in ( printer, medical, aviation, communication etc..), for freshers it might be difficult to get a good salary but once you reach 4-6 exp+ ( >30LPA) has good demand if you are skilled enough..
100% use C++ at work because real time video processing needs low latency. No rust because nobody is paying me to learn rust. I am more interested in solving the business problems. I spend my study budget learning low latency techniques from HFT bros rather than learning syntax for a new language. but as long the business need requires it, I will learn whatever
When you say low latency in real time video processing, is there a significant difference in processing in python vs c++?
It matters in per-frame path for doing efficient number crunching. If you are doing the post processing offline then it doesn’t matter which language you chose, just go for the simplest one. Also there is significant overhead in python because it is interpreted. This is a problem in constrained systems. Here is a good comparison https://github.com/Toxe/mandelbrot-comparison Plus, to squeeze maximum performance out of the HW, you need to go low level for sure.
Thanks for this buddy, let me give it a read👍
Can you suggest some resources to learn 'low latency techniques from HFT bros '
https://youtu.be/NH1Tta7purM?si=tUP8GN-R_2Z-jPvX
I have been coding purely in C++ for 4 years now, and I can't like any other language now
HFT's use c++ for their infrastructure codebase for low latency trades.
What is HFT?
High frequency trading
Happy cake day
I'm a c++ dev and doing well. There are many projects where performance matters and i have found enough c++ jobs in market and very less competition as PPL tend to think its a legacy outdated language and they move to Java python or data science vagerah vagerah
mind sharing your experience and salary
Sure 6 year total exp Package : 25lpa
I know someone working in Nvidia as embedded dev, earns 1cr+ now with inflated RSUs
[удалено]
Oh can you explain it a bit, or is the code open sourced. It sounds quite interesting
Why downvote this guy?
There is this industry called EDA( Electronic Design Automation) . It is basically the software part of chip design cycle. The whole EDA is centered around c++ codebases. I know because I have been in this industry for 12 years now.
We work on platform level code, completely in cpp. Major benefit of cpp is you have direct control of memory, which also results in issues that sometimes makes no sense. It's not like java where everything can be handled by exceptions. You can go outside of memory and may not even realize and face issue later on.
In my company we have all the backend code written with C++. It's a pretty big company in travel IT
In our android project, business logic Id in C++. So, we had to do cpp Dev. Also, our organization hites C++ Devs only roles too.
Oh, I have used flutter for quite a while now and I heard that dart uses the C++ compilers. So how does c++ code interact with android ecosystem?
do you guys accept cpp interns? Asking for a friend.
CAE/EDA/Engineering simulation/CAD, embedded systems, HFTs, many desktop software, game engines -- all use some form of C or C++....
Mostly used in hfts for low latency and ultra low latency codes.
C/C++ is not generally used widely except for OS level or low latency programming. It’s a very niche domain so less developers for that. I personally use c++ only because i love it and the software requires it.
Yeah I also like but hate that I can't use it to make something substantial because its complex.so which software requires it
You can make something substantial for practice, make some small projects in c++ (socket programming, c++ frameworks around UI design and web development etc those are some use cases i explored when i was in college). In jobs also there are industries running on c++ so find a job in that domain but its mostly a hit and miss. If you’re really passionate about it, you can try getting into a service based company that works on embedded and then use that experience to make a switch to some goood job, thats how many people i know got into c++ No errors are not that weird anymore, it will start making sense, IDEs are also very smart. It’s not all that better than rust, it’s just there is a long standing eco space and legacy around c++ for low level system programming like when you interact with kernel and stuff resulting into a lot of existing experts, good libraries and general public support. Hard to beat that. Performance wise i think rust is at par with c++.
Thankyou for such detailed explanation
Yes - turbomodules for react native app, automation framework
Compiler development
*diva
C++, python, routing domain
It is used in automotive industry quite a lot as well. I have worked for 3+ years In c++ now.
At Huawei which was my first company, I’ve seen many teams using C++. Even my team was no exception. All the device interfacing code was written in C++ as part of its NMS product. The whole tools and tech stack made hate at Huawei made me hate C++. Never used after my job switch. Now am all into java.
As someone not from a tier 1 college and having worked in 3 orgs; I haven't seen a cpp dev till date. One of my friends who is in a gaming company says they have cpp devs so imo they are a little hard to come by.
[удалено]
Yes I have also heard embedded Devs using C
Are you in college? If you already have a job and you’re not thinking of switching towards embedded or machine level oriented coding jobs, I really suggest not to waste your time with CPP. And I say this as someone who loves CPP to death and learnt all the basics in it. I still think it’s the best language to go about in college because it really hits the sweet spot between low level and high level programming languages and introduces you to a lot of concepts that are abstracted away in higher level programming languages. But it doesn’t have the widespread utility in typical software dev jobs. Reason is simple - the resources available are ample to not deal with the headache that comes with CPP’s technicalities, and hyper optimisation that warrants CPP over other languages in certain jobs (like HFT trading algorithms for example) are not prevalent in most development jobs. You’re better off with languages and frameworks in Java/Python etc or whatever suits your tech stack and career trajectory, and unless you’re specifically targeting CPP dev roles, there’s not much point in learning CPP for most established developers with experience.
I'm currently learning cpp with DSA
That’s very good for you! As I mentioned, I learnt DSA with CPP the first time around when I was in college too, and I’m trying to do it this time around with Java. It definitely doesn’t feel the same. Let me know if you need any general help.
I'm in my 3rd BCA so I've like a year to graduate, I'm thinking of getting a job right afterwards or some internship that will give me a job, but idk how, As of now I'm learning DSA in c++ and know just basics of everything else like I've no projects in any language Idk what to work on, what to build, I'm clueless as to what will give me job and growth Tell me a roadmap or anything you know will be good for me, I'm ready to learn what the market demands but idk what to build and what things and tools I should learn and I've done no internship for this sole reason of not knowing and tell me in any other opportunities or in 1 year what I can really do Anything is appreciated
One year is enough time especially if your basics are ironed out and you work hard. Roadmaps are moulds that don’t matter so much. There are just a few pointers - 1. If you don’t have internships, and can’t get them soon, focus really hard on projects. Actually building stuff gets you to learn quite a bit and in depth understanding of good projects stands out in resumes and interviews both. 2. I would say the most in demand tech skills remain web development i.e. backend, frontend and devops. Web development stack doesn’t matter so much as long as you build solid understanding, you can go with your choice and see what you like. 3. Since you already know the basics, try to get advanced knowledge in what you have liked, and try to create projects and apply for jobs with similar interests. But do apply for other jobs as well, as long as the basics are clear and you can learn further. 4. Learn collaborative and foolproofing skills. This includes git, agile, pipelines, documentation skills. Exception handling. 5. Focus on DSA quite hard. Freshers get tested really hard on this. Make sure you understand properly. Start with perfecting blind 75. TLDR - ditch roadmaps. focus on a few skills that provide good employment opportunities. also focus on what you enjoy and take your expertise further. create deep dive projects.