47 ms·
It's funny that they have a hard time hiring experienced senior C++ devs even though the language has been around so long. Presumably it would have been easier
by asdfman123 7y ago
It's funny that they have a hard time hiring experienced senior C++ devs even though the language has been around so long. Presumably it would have been easier to find someone really good at something newer like, say, Vue.
- hermitdev 7y agoIts probably more along the lines of they can't/weren't willing to pay for the experienced senior C++ devs. There are plenty of C++ devs out there (myself among them) that will jump ship for the right offer.
- jjtheblunt 7y agoI wonder if that is a symptom of C++ having many recent revisions, thereby influencing, misleadingly, the definition of "experienced".
- melling 7y agoI tried using C++ and Objective C several years ago. Compilation was incredibly slow. Maybe when C++ modules finally arrive things will improve.
- saagarjha 7y agoI take it you haven't tried Swift ;)
- rsynnott 7y agoOr (shudder) Scala. The only time I ever think “oh, this computer is a bit slow” of modern high end laptops is when it comes to Scala. I like the language, but the compiler is painful.
- melling 7y agoYep. I’ve got a 9 year old Scala repo on Github: https://github.com/melling/scala https://github.com/melling/scala I actually like the language but stopped using it because it was so slow to compile. I hear that it has gotten better so I’ve been revisiting it. Worksheets seem to help with development.
- vips7L 7y agoPersonally I find the tooling and documentation around the ecosystem to be very painful. SBT itself is also incredibly slow.
- estsauver 7y agoBloop is making things quite a bit better, but totally one of the hardest parts of the language.
- sinsterizme 7y agoI recently had to use a bit of Scala for some load-testing, I've never had so much trouble doing something seemingly so trivial; in this case, sending a JSON HTTP request. It was honestly a matter of hours. Pretty humbling experience!
- melling 7y agoSure. I’ve been using Swift since 1.0. It’s a great language. I rewrote 50,000 lines of Objective C (and the C++ part) into Swift. http://appstore.com/h4labs http://appstore.com/h4labs
- PunksATawnyFill 7y agoI like it a lot. It's really too bad Android doesn't use it as a native language.
- hermitdev 7y agoI used to maintain a couple of systems that between them were around 4 million lines of C++. Initially, in 2004, it would take about 16 hours to do a clean build. By the time I left that job, due to better hardware, precompiled headers and reduced dependencies, and smaller code for same functionality, clean build was down to 45 minutes. The biggest winner, in my experience, was reducing dependencies in headers. Use forword declarations, etc. Precompiled headers helped a lot on Windows, but less so on Linux for the same code (but it still helped). Incremental builds were fairly snappy, a minute or two (pretty good for a large C++ project).
- rabidrat 7y agoYeah, I have 15 years of C++ experience, but not since 2012. So with C++11 and C++17 (and soon C++20) my skills have not aged well, even though I can still write C++03 just fine. It's no wonder 'senior' devs prefer to use plain C, where even C11 is not that different from C99.
- ryl00 7y ago> my skills have not aged well I don't think that's necessarily the case. C++'s famed backwards compatibility, source of so many issues, is also a fabulous strength. There's nothing stopping one from writing C++03, while gradually adapting C++11 and beyond as time/circumstances permit (which is what I'm doing at my job, maintaining a massive legacy codebase while stymied by slow uptake on newer compilers by my corporate overlords...) > It's no wonder 'senior' devs prefer to use plain C Not this senior (in years, at least :)) dev. I've tasted RAII and I can't go back...
- elgenie 7y agoThe problem from Dropbox's perspective is that they're not merely hiring someone to create a solo greenfield C++ codebase, but to contribute quickly to a codebase written in whatever arbitrary subset of C++ they blessed.
- bfrog 7y agoC is just easier to keep most of the rules in your head for. I prefer C any day, especially in an embedded system.
- jjtheblunt 7y agoi agree
- PunksATawnyFill 7y agoFunny, I too stopped using C++ around 2011. Recently I had to delve into Swift and learn it with great urgency... then my project changed direction toward C++ and Qt. I find the '14 and '17 additions vastly improve C++ and in fact added things that I had just come to appreciate in Swift. So don't be too put off; learning the new stuff will help you if you need to adopt a more-recent language too.
- fatbob 7y ago"Hard time hiring" sometimes means that the candidates cost too much, which would make sense here since we're talking about senior C++ people.
- barbs 7y ago> it became increasingly difficult to hire replacement senior engineers with relevant C++ experience who would be interested in mobile development. It's not just familiarity with the language, it's being willing and able to develop within the mobile development context, which as stated in the article is a whole other beast
- jarjoura 7y agoLet's be clear that senior C++ developers are masters of their domains because they enjoy solving a particular set of problems that a low overhead systems language requires. However, in the mobile world, from my experience, hiring good senior mobile engineers means they come with a specific skillsets already. They can take a view, animate it a certain way, and then respond to touches. Those are things that are entirely platform specific domains. So they will come from Swift/Kotlin or ObjC/Java backgrounds. The ultimate problem here is those same engineers are typically turned off by C++ nor have the desire to learn it. You can throw C++ engineers at the problem, but they will most likely be turned off by having to solve animation timing issues or custom navigation stack designs. If you have a venn diagram of the two sets, there would probably be very little overlap.
- a_t48 7y agoThis matches my experience - most C++ engineers I know have little desire to work on C++ for mobile after having tried it once. Most mobile developers tend to be specialized on mobile and don't focus so much on generalist C++ stuff. Some good ones do both and don't have problems finding work. :)
- blub 7y agoMobile is getting crappier, so I can see why C++ developers would be reluctant to partake. Google and Apple keep piling feature on top, so mobile has the 2nd biggest churn after front-end. Recently even the preferred programming language changed on both platforms. It's under pressure from web-applications, which although of inferior quality are easier to develop. Most apps aren't anything special and require mostly UI and UI framework skills (animations, platform-specific APIs, etc).