Hacker News new | ask | show | jobs
by IncRnd 3191 days ago
Maybe I read your post wrong, but your post seems to complain that Senior Developers don't believe some Junior hires have minimum competency if they are unable to compile a file.

That seems like something a Junior Dev should have mastered during their educational period.

3 comments

Then you're not senior enough to know enough of the unique problems that come from trying to compile things, especially for embedded devices.

One of the non-embedded cases is compiling boost on a visual studio machine for wrapping python which can be its own special kind of hell. I've seen at least one very respected principal developer wholly screw this up. I can write for hours on those kinds of problems and how to solve them.

> complain that Senior Developers don't believe some Junior hires have minimum competency if they are unable to compile a file.

You're definitely taking the wrong impression from my post then. Do you code in C / C++?

If you've never had an issue compiling a large codebase as a new developer then I should either bow before your greatness or mock you for your inexperience because in large, complicated projects with 1000-line makefiles included from various sources, on a platform with various skews, flags and options, even the most talented developer can have issues with compilation - especially in most corporate scenarios where the exact command line you need for the internal build tool Steve wrote in 1996 is passed down through email and IM logs. OH and don't forget that some of the objects we link with are actually dummy files to be filled in by a shared library on the target that's been precompiled... OH and some of our functions are actually programmatically generated by a Perl script that runs as part of the build script. These are just some of the things I was exposed to as a junior at various companies.

Building gets messy, quick. Should it be? Probably not. Is it? Hell yes. Download boost or blender or something and try and compile for a non-standard or multiple platforms. My sibling even gives a specific open-source example (although open-source projects are typically MUCH better about getting building to be simple)

More importantly, my point is not that the junior doesn't know how to compile. Compilation is just a place where things get very messy very quickly, and a precise explanation of what was done needs to be given so that the senior can guide the junior along a proper debugging path. Your attitude is precisely the thing I'm recommending against.

> a file.

Whoever needs to only compile one file? That's not the hard part :)

You misunderstand. It is not that I have never had issues with compilation or linkage, but that a Junior Dev should be able to learn how to perform the compilation, learning the vagaries of the architecture and build system.

You mention Enterprise development among other items. Making a shim or method for onboarding new devs is exactly a way for one to advance in Enterprise development. Therefore the Junior Dev should take this opportunity to learn the internal system and create a way to simplify its use for others. Not doing something like this is a trap that many Junior devs fall into, even when a Senior dev hangs the opportunity out in front of them.

I get what you mean, but I was more referring to build issues that are strange or unusual. Something that even a senior dev would raise an eyebrow at.
That makes sense.
Wow, I’m considered a Senior Developer (only 30 years experience), and I’d say one if the biggest problems I deal with is getting code to compile. Large code base, “clever” code constructs left by long gone devs, and a language, that while usually great to work with, sometimes gives inscrutable compile error messages (Swift)
Exactly :)