7 ms·
I put a lot of work into doing the last 10% for a project recently, and I'm not convinced yet that I'll be getting anything out of it, other than my own satisfa
by w-m 3y ago
I put a lot of work into doing the last 10% for a project recently, and I'm not convinced yet that I'll be getting anything out of it, other than my own satisfaction. After my colleagues and I got our paper (on real-time depth estimation with an event camera and a laser projector [0]) accepted at a workshop, we could have just dumped the convoluted, messy research code on GitHub and be done with it. For other people to figure it out, if they really cared.
But I sat down and completely rewrote all the scaffolding around the presented algorithm, to make for a smooth and fast demo. Wrote up documentation for the implementation, gave it a command line interface, set up a script to reproduce the measurements in the paper with a single execution (downloading the required data and comparing several methods). Broadcast in all channels available to me (institution press release, LinkedIn posts, GitHub awesome list linkings). And I actually brought the demo to the workshop, which wasn't required at all, I could have just presented it as a poster.
The feedback of the people seeing the polished demo was fantastic, but now I'm sitting here with my 5 GitHub stars on the repo, after I put like 2.5 extra months of work into it. Maybe it led to more people noticing it, and finding it useful. Maybe not.
Getting stuff out there to be noticed is difficult, a lot of work, and going the the last 10% does not guarantee any more success.
[0]: https://fraunhoferhhi.github.io/X-maps/ https://fraunhoferhhi.github.io/X-maps/
- sidmitra 3y agoThere might be people years from now that could benefit from your work. Caring about something and putting it out there is never in vain.
- DoughnutHole 3y agoIt might not be in vain, but it can often be a poor balancing of priorities. The last 10% can easily require as much work as the first 90% - perfection is expensive. If your reason to perfect something is internal (high personal standards and taking pride in your work) then great - take the opportunity cost in stride and finish something you'll be satisfied with. But if it's external (eg. making it just that bit more impressive to others) I'd say usually your time would be better spent moving on to the next thing.
- w-m 3y agoI'm not entirely in agreement here. While there was undoubtedly some internal motivation at work (as publishing subpar code just doesn't sit right), I believe a significant portion of it was external, and I don't see that as a negative. During the polishing phase, I had two primary goals: first, to lower the entry barriers for people who wanted to try it out, and second, to expand its capabilities as much as possible (e.g., enabling it to run on a laptop rather than a high-powered desktop, without any frame drops). I view this less as an attempt to impress others, and more as an effort to enhance utility and thus broaden the potential user base. I do see the tradeoff between spending more time discussing the project vs perfecting its technical aspects though. This can be tough for us techy folks who don't really like evangelism. In this respect, I believe academics and technical founders face quite similar challenges. On another note, the feedback in the replies here has been incredibly uplifting, and I want to express my sincere gratitude for that.
- fleischhauf 3y agoas a researcher in Computervision, thank you so much for going the extra mile!!
- grog454 3y ago> The feedback of the people seeing the polished demo was fantastic, but now I'm sitting here with my 5 GitHub stars on the repo, after I put like 2.5 extra months of work into it. Maybe it led to more people noticing it, and finding it useful. Maybe not. Those 2.5 extra months could save orders of magnitude more (for users) if it does find success. The problem is those 2.5 months often don't translate into higher likelihood of success.
- saulpw 3y agoConsider that you only went to 99%, and this comment is the final 1%. (Or maybe it's the next one, or the next..)
- ant6n 3y agoWell a comment is worth perhaps only an epsilon. But since you can always write another comment, the project will never be at 100% - only in the limit.
- 3np 3y agoFor every person starring the repo there will be an unknown number who found it useful but aren't using GH stars or forks. Consider that if you hadn't gone the extra mile, your work would with 99% probability never be useful again (I say without having seen it). Now it may be a shoulder for someone to stand on to make even greater things than they would otherwise be able to. This could be in several years, when your own attention is in a completely different space.
- seabass-labrax 3y agoI'm one of those unknown readers with no stars (why would I add to the inflation of tokens of already little worth?) and forks (why would I clutter up my forks with projects I can't meaningfully contribute to?) - but I am a prolific bookmarker of interesting projects! Those often end up pasted into IRC or Matrix channels where there is interest in later years, potentially multiplying the impact of my initial visit 10x or even 100x, inspiring future contributors or new projects.
- casey2 3y agoYou use the academic term "we" when it should be "you" or "you can". This immediately signals to the reader that unless they are a researcher the product is not for them.
- travisjungroth 3y agoThere’s one “we” in that comment and it refers to a specific group of people: the authors of that paper.
- pessimizer 3y agoThis sounds like a personal problem.
- scarface_74 3y agoI work in the cloud consulting department at BigTech. We have a very straightforward open source approval process where we can open source any code (MIT-0) that we write for a client as long as we scrub the business processes and anything proprietary to the customer. It does take some work (not two months) to sanitize the project, write documentation, put the boilerplate open source documentation and go through the approval process. I’ve released 8 projects to GitHub using this process over 3 years and collectively may have gotten 15 stars in total. But the way I see it, it’s a great portfolio and the only chance in my career that I could actually show production code from work I’ve done professionally along with my resume. Also, how many times have we changed jobs and had to solve the same problem from scratch because we couldn’t legally or ethically use code from a previous company? This solves that problem too. Your work represents you. Even if no one stars it, you now have a portfolio of work you can be proud of that you can point to when you’re interviewing instead of yet another to do app.
- scruple 3y agoI don't know. I don't think people actually care. Maybe I'm a cynic, maybe I'm jaded. I've sat through a handful of interviews after submitting a resume with links to my GitHub profile, links to my (former) co-founded startup, the parents we received for our work, the projects I painstakingly polished before open sourcing, etc... At the end of all of that, I can recall exactly 1 person who even casually mentioned this stuff. He ended up being a manager and he would sometimes bring it up as a point of conversation with others on our team but it never found traction. My conclusion is simply that exceedingly few people (in the wild) give a shit about this stuff. Probably other like-minded folks.
- SoftTalker 3y agoI think you're probalby right. There's no way to know that a github repo represents the actual work of the applicant. References from former employers/clients are going to be the main thing I would care about.
- scarface_74 3y ago
- dwaltrip 3y agoPolishing things up is hard work. You are now more experienced and better at it. That’s very valuable.
- candiddevmike 3y agoYou can always buy GitHub stars if you need that kind of validation: https://baddhi.shop/product/buy-github-followers/ https://baddhi.shop/product/buy-github-followers/ Or just remember GitHub stars are like any other kind of useless social media currency and don't mean anything.
- w-m 3y agoSure, they're just silly internet points. Yet, after heading back from the conference, they're the only immediate, tangible pat on the back that's left. It'll be a while before the first round of article citations start rolling in. So, seeing HN readers drop by the repo and leave the tiniest note by starring it did bring a few smiles to my face.
- rikroots 3y agoSadly GitHub stars do have meaning to people who make decisions about which code library to add to their current project. And to people who review libraries that tackle a specific sort of problem, whose articles then get read by people who need to make decisions, etc. Such people may also use other metrics - recent activity, number of contributors, etc - to refine their judgments, but I've seen too many examples of "must have at least 1000 stars" used as the main justification for a decision. It's sad that the world is the way it is, but I doubt it will change anytime soon. If there's one change I'd like to make to GitHub, it would be to make the value of a starring decay over time. But I'm sure even that could be gamed.
- cinntaile 3y agoWhat a weird coincidence, I have met someone on that list of authors.
- w-m 3y agoWeird indeed. And I've met all of them! What are the odds? (:
- chrsig 3y agoWhat outcome were you hoping for when you decided to spend that time and energy?
- w-m 3y agoI wrote about my motivations in a different comment. To be honest, I didn't harbor any particular expectations. Maybe a flicker of hope for a bit of feedback or interaction from someone who'd given it a go, be it results, queries, or issues. Maybe I should have kept my expectations in check, considering not many labs will have the setup ready to go, let alone have the inclination to dabble with it. But that was a step I didn't consciously take. There's an uncanny silence from the world when you've thrown so much of yourself into a project, and you're the only one to care about it. It really shouldn't catch you off guard if you're thinking about it rationally, especially if you're not regularly communicating about the project for more people to notice it. But it still doesn't feel great.
- travisjungroth 3y agoThat last 10% generally has long payoff. The rewards of that paper feel immediate, but the code on GitHub will be useful to people for years. (The paper also has a long payoff. It also a short, which GitHub didn’t here.) > Getting stuff out there to be noticed is difficult, a lot of work, and going the the last 10% does not guarantee any more success. This is true. It’s still a bet. It could have wildly high expected value and still turn up a 0. But doing nothing guarantees you won’t have more success.
- seabass-labrax 3y agoYou did that 10%, making your research easier to reproduce and your technology easier to use. I am going to bet that in 15 years, when you've long since moved onto other exciting things and forgotten the details of the state-of-the-art circa 2023, you'll come back to your earlier work, be it for nostalgia or comparison, and be one of those who will benefit from that extra documentation and polish :)
- protastus 3y agoIf you're a researcher from academia applying for a job in my team, the quality of your GitHub repo makes a huge difference in how you are perceived before we even talk to you. If you believe in your work and would like to see someone build upon the results, having clearly reproducible results also makes all the difference. Most of the time, you won't even know that people are trying out your code/model/whatever, and friction in the onboarding often means that they will move onto something easier. If you bound the last 10% and avoid scope creep, I am all for investing the time.
- gen220 3y agoJust wanted to say, you have benefitted a lot from the last 10%. In the future, when you're bootstrapping a project and building scaffolding, you know what the 100% looks like and feels like, which means you're going to do a much higher quality job on the first 80-90%. The first 80-90% of your future projects will be smoother, faster, and more likely to bring you success. Sports analogy: by practicing your swings 100 times instead of "until I got my first on-base", you're investing in your future RBI and OBP, which is more valuable than any individual hit today.
- sailorganymede 3y agoI landed a new job today because of a project I put on Github with 0 stars I put out 2 years ago :) It helps out if the project is relevant to the role
- kakwa_ 3y ago> Getting stuff out there to be noticed is difficult, a lot of work, and going the the last 10% does not guarantee any more success. If your benchmark is number of stars on Github, then yes, things might get depressing when "JS toy framework number 45" easily gathers hundreds of stars. But, personally, I have half a dozen reasonably polished projects on less trendy topics. While not huge, I know they were useful to other people. Some are packaged in linux distributions, others I've got requests for improvements, or were used as cross-reference for concurrent implementations, or were forked and continued a life of their own. It's not huge, but by spending ~30% more time on things like documentation, tests, proper build system, a post here or on Reddit, I've enabled these projects to be more than an unapproachable pile of code. And if it saves even one person the effort of implementing these projects, that's a result well worth the ~30% more effort for polishing the project in my book. Lastly, users/interested people are often not developers. Personally, I have two websites related to a video game (one displaying some stats, the other being a loot box simulator). Both projects sit a 0 star on Github, but the access logs tell a different story, there has been thousands of (non-bot) visits since both went live, being useful to quite a few players of this particular game. It's hard to measure impact, but it's extremely easy to underestimate it.