3 ms·
>> But my code is embarrassing! This has always been the first reason I haven't open-sourced some of my code. The second being that it's also totally useless,
by noduerme 3y ago
>> But my code is embarrassing!
This has always been the first reason I haven't open-sourced some of my code. The second being that it's also totally useless, and lots of people could write it better.
- JohnFen 3y agoTake heart -- I've been in a position to see the source to a lot of high-end software, including some games, Windows, etc. One thing that it all has in common is that the source is rarely better than ugly. It's unlikely that yours is any worse than most others.
- mrguyorama 3y agoThe most embarrassing code I have ever written is the only thing on my public github. Everyone writes shit code at one point or another. Most people even have that fun experience where you openly mock some terrible code only to git-blame and see your own name. If you have never been embarrassed by your code, you probably haven't stuck around at a single job long enough to see it cause problems.
- Zambyte 3y agoI genuinely do not understand this mindset. How will you get better at writing code if you never get feedback about how your code would be better?
- noduerme 3y agoI seek out feedback from a limited number of people, in a controlled way, when I'm working on my own projects. At least 90% of it gets filed away in my mind as valid advice, but not necessarily given the structure of what's already built, and not necessarily something I'm going to implement. A lot of it may be sound for version 2.0, but I don't need to debate the priorities. What feedback I get that shows me better ways of doing things often gets used in the next project I build. When I find myself in the hot seat answering to questions about why code was structured this way or that, I usually already want to move on from the project, and it feels like a hostile situation. I know I can always learn and improve from feedback, but oftentimes my intention in putting something out is not to generate feedback but just to make it available. Unfortunately, I've found that most of the time this decays into situations where I have to defend my choices. Which I'll be the first to admit are often made on the spur, because if I were planning on other people picking apart my coding decisions I wouldn't be able to code my side projects nearly as quickly. [Frequently I think this is because people need to prove they can do something better than I did, and have to grind that axe against my work; which takes whatever utility I might have made and turns it into a pissing contest]. But I just don't want to subject myself to that shit anymore, and the world can get on fine without my code. tl/dr, the hostility and negativity that usually comes along w/ people giving their opinions makes me not want to share my work with them.
- Zambyte 3y agoA bit meta, but have situations like this happened publicly for you? I would be interested in reading some of the Helpful Feedback™ that you've dealt with
- noduerme 3y agoNot so much publicly as most of these happened pre-2010. But like, I think when I finally decided to keep my shit to myself was when I went off on my own initiative and built a solar system construction tool for Chris Roberts to play with, a day or two after I finished his HUD demo for Star Citizen. This wasn't open source, obviously. I built in a lot of neat features for a builder tool that I would love to have if I were making a sprawling galactic open game. Chris is, obviously, a legendary coder. But he seemed to get really pissed off when I showed him this project, and told me THERE'S NO FUCKING WAY WE'RE BUILDING ANY OF THIS USING FLASH. In truth, it was only a flash project to let you drag planets and moons around, size them, set them in orbits around a star until you were happy with the solar system's dynamics, and then output a slim XML file describing each system you built. I thought it was cool. At the same time I was being publicly attacked and on/off praised all over the user forums for HUD things I'd written that no one had actually seen (and never ended up seeing). It wasn't the first time I had a problem the public as a coder, because I wrote and ran - meaning, stayed awake and watched, 24/7 - the first Bitcoin casino of any size for a couple years, and a lot of the early players were devs of some description. It was helpful, and I shared my code with players. But it was always a case of "if I were you, I would've..." Prior to that I had a major run-in against Fox NewsCorp when a whole platform I'd developed solo for an indie game got sold to them and they thought it was my responsibility to explain my code to them. Their strategy to get me to comply with this was to offer me half my normal hourly rate and ask me to sign a contract stating that all my intellectual property belonged to them. No one in that case ever said my code was bad, they just couldn't get a team of 10 coders to understand it so they shut it down and lost the $500k they'd paid for it. Actually, the response to the non-commercial projects I've put out personally has been fairly "meh" in the last few years - I haven't really promoted them and presumably no one wants or needs them. I think I got like +2 votes on the last thing I showed HN. I have no problem contributing on other people's projects, but it's just a fix here and there if I see something. But the reason I didn't show the code on the thing I put up on HN last? It's that the two people who saw it would undoubtedly just tear my code to pieces, and I have moved on to other things. /rant. Sorry.
- hospitalJail 3y agoExperience. You run the code and its (mostly) obvious if it works or not. For the first 9 years of programming I never shared my code publicly. My code wasnt useful to other people, so it wasnt a big deal. Then I finally decided to become a professional programmer, I decided to post my best code. No one ever cared. Today, 13 years of programming experience, I have no problem posting my code. I have written helper functions that are useful to everyone, and maybe my programs are helpful, even just for ideas. So... don't be too hard on newbies who are playing around.
- mrguyorama 3y agoOne of the worst little utilities I have ever written was the SOP for managing user permissions for 4 years after I puked it onto our internal bitbucket as a personal toy that might be helpful. This despite being awful, ugly, unfriendly, literally broken in some normal use cases, fundamentally flawed, and extremely irregular in it's usage. It was never fixed. I don't think I even got any grief for it. At the end of the day, I had built a utility that went some of the way towards fixing a problem that nobody else was tackling. Shitty code running and working will always beat perfect code nobody ever writes. The most important lesson I have learned to be a better software developer is that if you don't write SOMETHING, no matter how awful it is, you will never get anything done, and you can always make it better.
- noduerme 3y agoConfidence, too. You can be experienced and still not confident. Also, and this is a thing I've experienced a lot, you can have really good intentions but there is some whole community that just blindsides you and beats the crap out of your work and tells you how stupid you are, to show how smart they are. I have one (fairly anodyne) friend who works for a huge corporation who never gets tired of telling me that everything I build amounts to technical debt for my clients, because they hire a lone coder. That's the least harsh thing I experience in showing my code to other coders, most of the time. Weirdly, Copilot is eerily good at replicating my coding style... even my idiosyncratic way of naming variables. But yeah, humans?
- feoren 3y agoDo you realize how genuinely awful most people's advice is? Most people parrot off a poorly regurgitated version of whatever they read in the latest fad software engineering book, regardless of whether it's even applicable to your situation or not. Go read the Software Engineering Stack Exchange to see this, and realize those are generally much better than random advice. Good advice requires a deep understanding of the problem and the tradeoffs involved; random people online just aren't going to spend that kind of time and effort unless they're a serious co-contributor to the project. That makes their advice worse than worthless -- actually harmful. Like intentionally introducing design-by-committee to your project. And that's only the ones who are actually acting in good faith! There are plenty of people engaging in bad-faith "contributions" to open source as well.
- feoren 3y agoIt's honestly crazy to me that people would downvote you for expressing this. I think it's an extremely common hang-up among lots of programmers and it's an important thing to talk about. I don't understand how it improves the discourse, when someone says "I'm embarrassed", to say "well FUCK YOU for being embarrassed! Get the fuck off Hacker News!" Downvoters, you're making the problem worse. I'm not sure what you're trying to accomplish.
- noduerme 3y agohehe. thanks. no worries, I tend to abuse HN as a confessional for brutal honesty towards myself and everything else. I never think I'm "right", but some people enjoy some wry honesty and others go mad. The hang up is real, and it's pretty silly we don't discuss it more. I'm constantly aware that my code would be ridiculed by this very same community, even though I think it's not the worst code. The people who would ridicule are the same ones who downvote, so that's a fair indicator of what to expect.