I have been doing full stack development till now. Java, C# and JavaScript is what I have experience in. I got an opportunity where I could work on core CS fields like interpreter, compiler, jit, memory management, profiling for a very popular product. How does this kind of experience is valued and is it fun to work with C++/Assembly especially after having worked on Java and C#?
You’ll learn how things actually work and spend the rest of your life complaining about script kiddies. Knowledge is power, ignorance is bliss.
You have to love assembly to like it
I wouldn't worry about transferable skills so much, it's really a testament that you can work on hard problems if you work in that domain. Any compiler gals/guys feel free to correct me 😁.
There are many points to consider and it's very individual and up to your personal interests. I'd say that a. C++ is still a highly valuable skill to have but it will mean a certain career path. Not so sure about assembly. B. C++ has changed in the last few years, there are libraries that save you a lot, so it's nicer to work on than in the past. That aside, check what's the team's culture. If everyone is experienced and you're the new kid, it will be tough to get promoted. Check what tools they use, whether those are modern tools that are "fun" to work with or you need to work with gdb 😱
It is a lot of fun if you like to know how hardware work, and the fundamental of things. It is in theory also less suspectable to downturn because it is harder to ramp up once mothballed. However the money is not there compare to higher level software. Breaking 200k is not easy, breaking 300k is almost impossible.
This guy is right.
So stick to java? Or what?
I made this switch right at the start of my carreer. I had the opportunity to work on very cool stuff that few people get to do and I felt fulfilled until I realized that I'm paid like an intern. Now I stare at the screen wondering if I'm still employable and thinking about going back to .NET, JavaScript and shit that I don't enjoy that much. I don't know your situation, whether you have enough money not to care about it anymore and work for fun. Or the flexibility to bounce back if it doesn't work out. Actually, what I wanted to say is that I believe this idea of "it's good to know how the hardware works" is overrated if you're doing high level stuff. If all you have to do is drag some buttons on a form and throw a SQL to get your job done you won't give a rat's ass about how many clock cycles the cpu executes or what's the register allocation strategy of the compiler.
Omg. Second this. I'm in similar boat. In the end I guess I just don't love the stuff enough. Now I just want to drag buttons for work. Besides, people in this area are weird lol.
These answers are laughable about lower comp. C++ infra engineers get paid very well at Facebook. In fact I believe there are more high level engineers (E6+) on infra teams compared to product teams. Also some of the highest level and successful teams at the company work on compilers.
I had no idea Fb works on compilers. Can you tell more about that ? Like do you have your own compiler, OS ?
Members on the isocpp are respectful. I revisited c++ after years of gap and it’s really diff from 10 years ago. I’m using c++ for a wasm exp and it’s fun again. asm is really just for the understanding of the code u write and the optimization level of the compilation. Nice to know, good to know.
Learn C++. I keep getting annoyed by L3 kids on my team who only know Java etc and don’t know how computers actually work. Those of us who can actually code in C++ seem to have a lot more options for projects/teams; people who can code in C++ are generally much more useful to me when I need to hire someone.
It depends on what you consider “fun”. I find it extremely rewarding to work on low-level foundations technology. You really feel like you’re one with the machine.