Earlier quoted context omitted.
Most of the jobs I can think have fixed working hours/shifts?
Not most software engineering jobs. And it wasn't the fixed eight hours, it was the eight hours on top of that each day that was the problem.
The pool of talented C++ developers is running dry
481–490 of 595 posts
Re: The pool of talented C++ developers is running dry
#482Earlier quoted context omitted.
I do, in fact. The reason is that most embedded people are recruited from the ranks of EEs. At least around here (Europe), 1.5-2x more EEs graduate each year compared to CS people, and EEs doing EE stuff are paid even worse than embedded, it's a step up for them. They don't and likely can't ask for more. Surely, some EEs learn CS stuff on their own and start working dev jobs, but they're the exception. I've worked wi…
> At least around here (Europe), 1.5-2x more EEs graduate each year compared to CS people, Do you know the reason for that? EE is significantly harder to learn than CS, so it baffles me why more people are choosing EE.
It may be because EE is older and more entrenched, or because of ties with the industry. Engineering of any kind has centuries of prestige, historic industrial support, historic large buildings and grants, etc. I would bet on the comparative ease of hiring staff for EE, though. It does make some kind of sense for some academy-prone people to go the academia route in EE. Especially if you sprinkle in some industry side-jobs, because the industry side is not that cushy by itself. This likely makes it easier to staff EE faculties. For CS, academia only makes sense if you have direct industry support (like doing machine learning w/ direct support from a FAANG), and you can expect something like that in very few places in Europe (Zurich, London, maybe Amsterdam?). Otherwise, you really have to hate making money and being respected to get into CS academia. There's a distinct lack of staff for CS, and they let anyone be assistants (at least they did half a decade ago). I remember there being some competition for math positions, and a free for all in CS. Some smart CS people do get fooled into joining, and last around a year until they see it's a waste of time. No amount of academic benefits in later life can offset the accumulated difference in pay.
As an actual failed EE student (moved to CS after 1 year of EE an eternity ago), I definitely agree that it's way harder. I even think that it's not just my affinities, but it objectively requires more effort and is more dense with difficult stuff. What's ironic is that the (officialy!) best EE student of that generation is now a Rust dev for some crypto company (last time I saw him on LinkedIn).
Re: The pool of talented C++ developers is running dry
#483Earlier quoted context omitted.
Read the rest of the comment? > I wouldn't be allowed to take my laptop home, so if I had a hard problem to solve, I'd have to stay in the office the whole time. So basically they expected us to never see our family nor collaborate with anyone.
I did. Myself and multiple other commenters all seem to be on the same page, that your original comment says the job required being in the office 8.5 hours per day, and does not allow work from home. Your follow up comments imply the expectations were an order of magnitude higher. The part you highlighted says you cannot work from home. That’s unrelated to the number of hours they expected you to work.
Re: The pool of talented C++ developers is running dry
#484Earlier quoted context omitted.
Speaking as a professional C++ developer for the past 20 years, I think this sums it up well. A modern project should be able to use most of C++17 at least. Even if you still need to target some ancient garbage like Windows XP, you can use an MSVC toolchain that supports C++17. That's a good basis to work from. So your real concern is the moldy old code that's written for C++03, that's still not using std::unique_ptr…
do you have a good template (pun intended) on how to best learn modern c++? coming from Go and Typescript which have very mature devX tooling, c++ is a landmine to navigate. and that's when I already have professional experience with it (the place just didn't have strong c++ culture)
Use clangd, clang-tidy, cppcheck. (These will tell at you if not using best practices)
Use the stl as much as possible (or at least make "would this work using stl" your go-to question.
Write a vector with iterators from scratch in c++20
Re: The pool of talented C++ developers is running dry
#485Earlier quoted context omitted.
do you have a good template (pun intended) on how to best learn modern c++? coming from Go and Typescript which have very mature devX tooling, c++ is a landmine to navigate. and that's when I already have professional experience with it (the place just didn't have strong c++ culture)
Try watching the "back to basics" videos from the last 4 years' cppcons. But that's mostly learning modern paradigms of the language. If you also mean the tooling, then it depends: Learn CMake which is sort of an industry standard. There are books and videos, but for a concrete experience, try looking through the CMakeLists.txt of some non-trivial C++ open source project.
Probably the best resource for CMake modern best practices/ rational of those practices.
Most tutorials online are outdated, CMake documentation is hard without a firm mental model of how it works.
Re: The pool of talented C++ developers is running dry
#486Earlier quoted context omitted.
>Basically, they were so worried about secrecy of their trading algorithms and people sharing them with other companies, they didn't even let people share internally for fear that one person would learn too much about their business. That's probably actually required though. There's a book called 73 Rules of Spycraft by Allens Dulles and these are obviously relevant for financial trading: Rule 2, 3 and 4, are I think…
These firms are in the business of finding and exploiting opportunities in the markets, before too many people know about them and the opportunity disappears. One person who knows too much could be an existential threat to the firm.
Re: The pool of talented C++ developers is running dry
#487Earlier quoted context omitted.
That's not abusive. That's a rational security posture. Defense contractor employees can't take their work home either. It's nice when you can't be pressured to work off hours.
It's not rational at all. It shows a complete distrust for the employee. National security is different because the rules are imposed from the outside. These are self imposed rules. Also most defense contractor employees don't work that much overtime and many can take the non-classified parts of their work home.
Re: The pool of talented C++ developers is running dry
#488Earlier quoted context omitted.
how do you know for certain you'd be required to do overtime consistently? you've never worked in the field. I haven't either but I'm not assuming crazy stuff like being required to work 16h a day. your stance is completely unreasonable. There are other commenters who have worked in the field and said no one was expected to be in the office after normal working hours
Not to mention that programmers consistently doing 16 hour days would get exhausted and burnt out within a week , making their productivity plummet. No manager in their right mind would trust code from utterly exhausted people written after midnight to manage billions of dollars of capital.
Re: The pool of talented C++ developers is running dry
#489Earlier quoted context omitted.
Embedded roles pay less than almost any other role... I feel there should be some sort of diagram possible that explains which industries and technologies pay more or less.
Not just embedded, robotics or automotive have pretty low C++ salaries while much higher for Java or even JavaScript... C++ devs are punished for being more capable.
I get paid very well doing embedded firmware dev, but that’s because we don’t make money on our hardware, we make money on the software that it talks to for industrial IoT analytics
Re: The pool of talented C++ developers is running dry
#490Earlier quoted context omitted.
Same in video games. Many C++ engineers are learning JS in spare time to hopefully jump over to something that pays 4-5x. My personal experience also says that you spend much less time to build something profitable in JS and PHP than in C or C++. I don't think it's impossible that in another 10 or 20 years C and C++ engineering roles will become much better paid as legacy code maintainers' pool will dry up. Hopefully…
> I don't think it's impossible that in another 10 or 20 years C and C++ engineering roles will become much better paid as legacy code maintainers' pool will dry up. Maybe. I've made the jump from pure embedded (spent over 15 years in embedded) to backend (Go, with some rudimentary Java thrown into the mix). I literally doubled my salary in the space of 12 months. In 20 years, are they going to hire my retired old as…
Where they have enough grunt to do a lot of tasks at the same time, all driven by config over the network, with less hard real-time requirements for some tasks and stronger requirements for others.
That’s not that big a segment though, I would think. And in some ways, just chucking extra slower chips at the problem on the same board is simpler.