10 ms·
What's funny is that I specifically remember a conference where some library that a google employee wrote was terrible. The one google developer talking about
by bb88 5y ago
What's funny is that I specifically remember a conference where some library that a google employee wrote was terrible. The one google developer talking about it, disavowed any responsibility of it.
Whatever metrics that google is using in their interviews have probably become worthless in the past decade as people game the system.
- pjmlp 5y agoJust check the Android code, specially the early versions looked like "C dev (not even C++) tries to create a Java based framework". And the NDK clearly is anything but modern C or C++.
- ChrisMarshallNY 5y agoGoogle is famous for having a C++ implementation that eschews a lot of what makes C++ powerful. I’ve heard it referred to as “C+-“.
- pjmlp 5y agoYes and apparently clang is now suffering from Google not caring about latest C++ compliance. Apple mostly cares about LLVM based tooling in the context of Objective-C and Swift, Metal is C++14 dialect, and IO/Driver Kit require only a subset similar in goals to Embedded C++, so that leaves the remaing of the clang community to actually provide the efforts for ISO C++20 compliancy. https://en.cppreference.com/w/cpp/compiler_support/20 https://en.cppreference.com/w/cpp/compiler_support/20
- logicchains 5y agoYep. If Clang doesn't have C++20 support by the time C++23 is out, I'm pretty sure my workplace at least will completely drop Clang and build solely with GCC. A win for open source, if nothing else.
- TchoBeer 5y agoIs clang not also open source?
- GuB-42 5y agoClang has a permissive license, GCC is (of course) GPL. Which one is best for open source is debatable. Permissive licenses make it easier for companies to make proprietary software, or even a closed source version of the original project. Copyleft licenses (like GPL) are intended to promote free/open source software but they can be a legal headache, which can make users favor proprietary solutions. On HN, I think that people tend to prefer permissive licenses (but complain when large companies "steal" their work, go figure...).
- kergonath 5y agoThat’s fine. Having 2 (free software) tool sets competing on features is a good thing. Both need to stay relevant.
- unishark 5y agoWell there might be a defense of that one. "Data-oriented programming" (to distinguish from object-oriented) is largely C-style C++ that is written for performance rather than reusablility/abstractness/whatever. In the embedded programming world where performance is paramount, a lot of people have low opinions of many C++ features. One could also never completely trust compilers to implement everything correctly.
- ChrisMarshallNY 5y agoI'm not saying that's a bad thing. Google usually has a good reason for what they do (not everyone is always happy with the reason, but Google can always explain why they do stuff). I come from an embedded background, and understand that.
- Macha 5y agoGo is also an outgrowth of the Google idea that was first expressed in their style guide of basically "engineers are too dumb for harder features, let's ban them in the style guide (for C++) or just not have them (for Go)"
- ChrisMarshallNY 5y agoBut I thought that Google engineers were all genius-level. Aren't they the company that pretty much requires an Ivy-League sheepskin to be a janitor?
- rualca 5y agoIt's my understanding that there is a colossal gap between the hiring bar imposed by recruiters and the companies' HR department and what's actually the company's engineering culture and practice. My pet theory is that HR minions feel compelled to portray their role in the process as something that adds a lot of value and outputs candidates which meet a high hiring bar, even though in practice they just repeat meaningless rituals which only have a cursory relationship with aptitude and the engineering dept's needs.
- mateo411 5y agoI don't think HR is really that involved in the hiring process. They certainly aren't at my company. They'll read the job posting and make sure that there isn't anything illegal in it, but then that's it. It's up to the Engineering Managers to come up with a process, and make adjustments when there are roles to be filled. This is the first time I've been involved in coming up with the process, but from what I've observed, it's a similar situation in other organizations.
- aix1 5y ago> the hiring bar imposed by recruiters and the companies' HR department That is simply not how things are. The hiring bar is designed and upheld by people on the same software engineering job ladder as a candidate. The role of recruiters is primarily coordination. The role of HR is compliance with local employment laws.
- amalcon 5y agoThis one is extra weird to me because I've written a lot of C++. I don't think I've ever committed a bug related to dynamic dispatch, templates, or some other "fancy" features. Not that I haven't committed bugs, but they're mostly either language agnostic logic issues or things one could have written just as easily in C.
- GuB-42 5y agoHow much of the early Android code was made by Google? Android existed for two years as an independent company before Google bought it.
- pjmlp 5y agoThe remaining 8 years have been written by Google.
- laurent92 5y agoIn my startup I interviewed a 48 years old senior Java programmer with excellent resume, who took 1hr to write a String.contains(), it only worked for the requested 4 letters, didn’t work if a letter was repeated twice, and didn’t work with Chinese characters. At least it had the JUnit. I asked an employee to do it too and he made his code pass the JUnit in 6 minutes. The candidate hated the interview, claiming it was discouraging. Coding is erratic, talent is strange, it really is a craft and we still don’t know how to reliably raise someone to competency.
- mattkrause 5y agoBut which is more likely? 1. The candidate was a complete and utter fraud and their previous (and apparently well-regarded) employers were too stupid or negligent to notice this, wasting literally millions of dollars (48-21 * $100,000+). 2. Something about the interview failed to let this person demonstrate the skills that had kept them employed for two decades. Maybe their mind went blank under pressure, or at the end of a long day. Maybe they got hung up on something trivial (that a quick search—-or nudge from the interviewer—-would have resolved), or the question was unclear.
- lumost 5y agoTo add to this, I’ve found engineers more likely to hang on time series and string manipulation problems. Likely due to a combination of not having to code low level functions in these areas, as well as infrequently encountering the problem.
- skeeter2020 5y agoYes, strings are hard and times/dates have a ridiculous number of edge cases, and sometimes very poor language support. This works both ways though; if the problem is easy enough (calculate average cycle time) it can give you lots of edge cases to discuss and really show how someone problem solves, which is really the point of a programming interview. If someone even mentioned non-english language support that would be enough for me, forget about implementing it.