Live data from Hacker News

It’s OK for your open source library to be a bit shitty (2015)

drmaciver.com

341–350 of 364 posts

Re: It’s OK for your open source library to be a bit shitty (2015)

#341
post #87

I wrote a Python library that was pretty popular at one time. I gave a talk on it at PyCon, at one point it was in the top 200 most downloaded packages on PyPI. Since my employer told me I was no longer allowed to work on it at work, I have felt quite a lot of guilt about all but abandoning fixing bugs and reading the mailing list. I've been working on a "next generation" version, almost a rewrite, but I don't see a…

Why would your employer decide what you do on your spare time?

Because unfortunately the law permits them to do this in many cases so they take advantage of this ability.

Re: It’s OK for your open source library to be a bit shitty (2015)

#342

Earlier quoted context omitted.

How do you differentiate between "reasonable developer, can deal with complexity" and "extremely good developer, will dramatically improve the codebase and produce less technical debt"? Does the distinction matter at your company, or is the primary metric "good enough"? Is this industry standard, or does it vary by company?

How do you differentiate between "reasonable developer, can deal with complexity" and "extremely good developer, will dramatically improve the codebase and produce less technical debt"? I definitely don’t rely on their GitHub info for that. In the interview process in general, I don’t expect this with junior developers, only senior+ developers, and then I look for how deliberate the developer seems to be with design…

Thanks for the answer.

What I'm really trying to fish out is: if a developer is significantly better than the competition relative to his years of experience, how is he supposed to communicate that? How does he actually get paid commensurate to that extra effort? In your experience is it even possible?

As far as I can tell the only way to really do that reliably is either work on a respected product & basically make an impression outside your company (crapshoot) or show what you can do via open source. I can't see how I could communicate it otherwise.

Re: It’s OK for your open source library to be a bit shitty (2015)

#343

But when potential employers come looking at your work they'll say "hey this code is shitty! It's not a work of art with 100% code coverage tests and perfect in every way. We can't possibly give you a job. Every line of code in our corporate repo is Mona Lisa quality, we can't let rubbishy developers like you in."

I have code posted that I'll use for CV that the README says 'will not work in Firefox'. Even though I'm using FireFox to post this comment, I don't care if Fx won't fix their 4yo RegEx bug. My project is meant to live in Cloudflare Workers, NodeJS & related things.

Re: It’s OK for your open source library to be a bit shitty (2015)

#344

I once wrote a library in backbone.js to have a data-synchronized list. It allowed me to provide an array, and it'll keep that array sync'd up to what I saw. I had a kid and a fulltime job and going through a divorce. I happened to use it at my job, but everyone kept asking for me to integrate it into new up and coming repos which I didn't have time for. Honestly I felt bad about not caring, but the reality is that I…

I find many prolific GH OSS authors to be single, but do code instead of gaming like you said. Or their job lets them OSS some of the code they use at work while on the clock.

Re: It’s OK for your open source library to be a bit shitty (2015)

#345
post #217

Earlier quoted context omitted.

Unfortunately, DINKs are hard to compete with professionally. Old boss used to loudly thank my colleague for doing tickets on the weekends, and too often people seem to assume I want to spend my weekend "brushing up" on some implementation detail for a project I don't care about. Even "why doesn't he come to after work drinks?" Is hard to answer with "because my spouse is _also_ an exhausted wreck at the end of the d…

That's terrible. I am a manager and actively discourage people from working late / weekends. I find it's not sustainable. People who do that, regardless of children status are much less predictable in their output. They go through peaks of productivity and then they crash. It also ends up happening that they work on the wrong thing because no one is around at night or weekends to answer basic questions that may unfor…

This is a very commendable default approach. Let me suggest that there are also people who just happen to be that way naturally.

I for example seem to almost need this kind of rhythm. Yes it is spiky and sometimes a bit chaotic. But also very intrinsically motivated, which can sometimes lead to high impact solutions.

A good way to deal with this tradeoff is writing more text and less code. Text which is off-base is much more valuable than code that does do wrong things or things in a wrong way.

But I have to say that I work alone or in small teams, which requires less technical coordination.

Re: It’s OK for your open source library to be a bit shitty (2015)

#346
post #259

Earlier quoted context omitted.

Wholeheartedly disagree. Vetting a possible maintener or fork is >0 work, and you don't owe us anything. If you had to go to the trouble of creating your library in the first place, it means either A) "the community" had not met your specific need, so why would they start now? Or B) you did this for fun/learning/visibility/coping with a mania, in which case you still don't owe us any favors. That said, doing either o…

Vetting a maintainer is non-zero work. But it's also not all that much. Especially if said maintainer has already contributed meaningful PRs against your repository. While you're technically correct that people don't owe anyone anything, I've often had the experience of using an open source library that was otherwise excellent, except that it had critical bugs that hadn't been patched, or that it hadn't been updated…

Sure it would save everyone a lot of bother, but consider the alternate universe where you didn't release your code at all. There's no original repo, no idling PRs, no forks, no "community".

Instead of having to figure out how an existing piece of code works, update deps and merge a couple of PRs myself, I instead have to recreate the entire functionality from scratch.

In our original world, where you did release the code, I still have the option of creating my own library (with the benefit of seeing your implementation!). So by releasing your code, you've given me strictly more options, and therefore made me better off, or at least no worse off.

Re: It’s OK for your open source library to be a bit shitty (2015)

#347

Earlier quoted context omitted.

How do you differentiate between "reasonable developer, can deal with complexity" and "extremely good developer, will dramatically improve the codebase and produce less technical debt"? I definitely don’t rely on their GitHub info for that. In the interview process in general, I don’t expect this with junior developers, only senior+ developers, and then I look for how deliberate the developer seems to be with design…

Thanks for the answer. What I'm really trying to fish out is: if a developer is significantly better than the competition relative to his years of experience, how is he supposed to communicate that? How does he actually get paid commensurate to that extra effort? In your experience is it even possible? As far as I can tell the only way to really do that reliably is either work on a respected product & basically make…

I'd start with the question of "why do you consider yourself significantly better?" Are you better at designing clean API's than your peers with the same number of years of experience? Are you a better writer/communicator? Do you have an unusual depth of experience with the end to end sales/design/implementation/support cycle? Or are you a really good coder who makes everyone around you better?

The answer to your question depends on what your answer is. There's no single objective measure of "better". If you're in a big company, the thing that sets a senior engineer apart from a strong almost-senior engineer is mostly about soft skills, so if you're a strong almost-senior engineer trying to convince someone to hire you as a senior engineer and you're focusing on communicating your coding feats, that might be sending the exact opposite of the message you intend. But if you pivot the same concept to "improving the people around you" it probably works in your favor.

There's no universal way to do it, because it depends heavily on what the hiring company/team values, so my personal advice is to (1) focus on your particular strengths, (2) assemble a portfolio to back it up, and (3) package it based on what the team/company values. It doesn't have to be open source. As a hiring manager (to be clear, I was one but am not anymore) I would have happily accepted any incidental materials that interviewees wanted me to see.

What do you consider to be your particular strengths?

I'll give an example in my own case. I was a product person who became an engineer. I have a "senior" title. In terms of the number of years I've been out of college and working, the "senior" title is pretty typical. However, I had actually only written code professionally for 1 year before I got the role. (Though I've actually been coding since I was ~13.) Whether I deserved it isn't for me to judge, but I think my story counts as an example of what you're asking about.

The way I maneuvered it was:

1. I was historically an algorithms nut, which means I do particularly well in a specific type of interview, so I targeted companies that interview this way.

2. As a former product person, by necessity I have over-developed product instincts and soft skills relative to engineers with similar amounts of experience, so I made sure to package that well and target roles that asked for those things. My branding was basically: "You want me because I'm really good at aligning people to get things done without authority, especially when there are lots of stakeholders." Engineering teams almost always prefer having more of that in their engineers to reduce reliance on PM's.

3. I networked like hell. Seriously. Nothing is better at telling hiring managers that you are a dark horse than a mutual professional acquaintance telling the hiring manager that you are a dark horse.

4. I sent out a LOT of applications. I think I sent out somewhere around 50 applications for roles at various levels from entry level (entry level roles I never heard back from simply because of the number of years of experience. It is what it is. Their loss... or that's what I tell myself anyway.

I don't think any one of those four things was singularly responsible for the eventual outcome, but I can say for sure that they all made a difference. Also, I can say that #3 was the single biggest factor in my yield rates. If you look at the split, I got a first interview in something like 80% of my referred applications and 10% when it wasn't a referral. That's both evidence that networking really works, and evidence that the hiring pipeline sucks. The best way to consistently punch in above your general metrics is to not go in through the front door.

Re: It’s OK for your open source library to be a bit shitty (2015)

#348

Earlier quoted context omitted.

I'm not sure this is a good example; dates are actually pretty complicated.

Yes, dates are very complicated. But that doesn't stop pretty much every modern language from having good built-in support for doing this, because it's such a totally common task. JavaScript is such a mess. It doesn't even support integers, for crying out loud, let alone decent date/time/timezone handling. That moment.js is the most popular band-aid to fix this, despite it having a nasty gotcha API that mixes mutable…

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

Re: It’s OK for your open source library to be a bit shitty (2015)

#349

Earlier quoted context omitted.

Kids make you happy, but only when they move out as as long as they don’t break the bank. Truth is having kids is a kiss of death for your creative and professional career. E: Of course downvotes. Truth hurts. Let’s see how grey my comment gets.

Only if you care personally for the kids. Pick up a history book, filled with famous persons who had lot's of kids, but they were raised by family and staff.

You’re proving my point. How about you learn to read? Y’all are just calling me dumb but not backing it up.

Re: It’s OK for your open source library to be a bit shitty (2015)

#350
post #313

Earlier quoted context omitted.

Kids make you happy, but only when they move out as as long as they don’t break the bank. Truth is having kids is a kiss of death for your creative and professional career. E: Of course downvotes. Truth hurts. Let’s see how grey my comment gets.

It's absolutely harmful to your creative and professional career, which are shallow metrics by which to gauge your success in life.

Maybe to someone who isn’t ambitious or intelligent but personally, I’d rather write a great book or make great software. I believe, like Proust, that art is how you reach immortality.

What’s dumb is to tell people you’re better than Proust because you popped out some brats.

Post reply on HN