Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

  - You're not afraid of modifying Linux kernel source code.
  - You're not afraid of modifying MySQL source code.
The truth is I am afraid of both of these things.


Yeah, I think that's their "nice" way of asking for someone with significant experience there. The problem is that you only want someone with significant experience, not just someone who is "unafraid" of it, because any worthy developer unversed in those projects would be scared to just jump in and start changing random things if the work is ever going to be used.

Both Linux and MySQL are huge, complex systems and if you want someone who can immediately start making usable changes to those systems, you should probably recruit on their respective mailing lists. Developers running in to huge things like Linux and MySQL ad-hoc and making changes causes lots of problems. See Debian's SSH-certificate problem from a year or so back for just one immediate example.

As with any complex platform, it takes a lot of tinkering and experience to know what flies and what doesn't. Those dudes should change their ad away from the cute thing to the serious thing unless they plan on allowing the hire time to figure these things out.


That's not true. While we'd prefer someone with experience in these areas, when we say "you're not afraid" we really mean "you're not afraid".

Hacking Linux really isn't that hard. I implemented two kernel-level projects - a stackable filesystem that gives you an assurance your files haven't been tempered with, and an "object orientation" system that lets processes modify and inherit their syscall vectors. Each project took about four days and I never looked at the kernel code before. I had pretty good access to a Linux expert who pointed me in the right direction, but I didn't ask that many questions. It wasn't the caliber of code that would make it into vanilla, but it was very useable.

The idea that hacking the Linux kernel requires superhuman abilities is a huge misconception. I can assure you that I'm as far away from being a genius as anyone. If I could do it, any reasonably competent software developer can. And the complexity of MySQL codebase pales in comparison to Linux.

We want some degree of experience hacking high performance low level systems, but we care about competency, determination, and ability to ship working code far more than experience in any specific area. It's Linux and MySQL today, but it could be FreeBSD and Postgres tomorrow.


I never said it required "superhuman abilities". It just requires some familiarity, obviously depending on how deep you want to go. The trend of developers running in guns blazing and changing a complex codebase they don't understand is bad. I'm glad your stuff was personally usable, but there's a difference between something that's adequate for personal use and something that you can distribute as part of your new _database engine_. That stuff requires serious stability and complex programs are complex and changes can often have unforeseen consequences even for devs already trained in these large projects.

I'm not saying one can't learn, but I am saying that most good developers who haven't changed the source code for ginormous things like MySQL and Linux _are_ scared to take a new job where they're expected to be able to make meaningful and/or significant changes to any ginormous thing they don't have much familiarity changing, especially if you want to changes that are immediately deployable in your project.

If you're going to give the dudes time to get used to MySQL and Linux and tinker and discuss adequately, then that's fine. If not, and you expect them to go from 0 to "usable filesystem" in 4 days, you should probably be more specific in your ad.


Fear of the unknown or once bitten twice shy?


[deleted]


It's not that I don't like to solve problems, it's that Linux and MySQL code bases bring unnecessary problems to the table that I have no interest in solving.


Flamebait. You have cleaner and better examples of a world-class kernel and database engine? You want to do rocket surgery, you gotta bend a few scalpels.


FreeBSD is generally considered to be a cleaner and better example of world-class kernel. MySQL codebase is OK, but isn't fantastic. In general, all mature large systems come with a can of worms, and it takes a certain kind of person to deal with that. Legacy code is always less fun than a blank slate, unless you have certain mindset.

Fortunately, we get to deal with both world-class legacy systems, and write some blank slate code. We get the best of both worlds :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: