7 ms·
"just ship it" is just as dumb as "never ship it". Why are people so prone to these oversimplified polarazations? Also, if I learned anything over the last few
by PeterStuer 6y ago
"just ship it" is just as dumb as "never ship it". Why are people so prone to these oversimplified polarazations?
Also, if I learned anything over the last few decades it is that the market supports many solutions to the same problem. Why do software developers believe that if someone gets there first that's it it's done? Someone invented and sells a toaster? Done. Someone started selling bikes? Better ditch my step design. Cars? Just one brand, obviously.
People release apps into oversaturated markets every day. Most fail, some do well, and not because they were better in every way than the competition, just because they were different, they were tried, and some people found them to be 'Good Enough'.
- noir_lord 6y ago> "just ship it" is just as dumb as "never ship it". Why are people so prone to these oversimplified polarazations? Honestly? I think people (in the general sense) are constrained to the amount of complexity they can handle and the world is a complex place so they fall back on picking a choice/hill to die on as a way of reducing the complexity. Not a new thing, I work with a guy who is an excellent programmer but will argue for ever that OOP is the right way to build software and that he doesn't see the point in functional programming while writing code with map and reduce inside class methods.. The benefit of a dogmatic approach is you never have to question it (otherwise it wouldn't be dogmatic), small government good, efficiency of the market, nuclear bad, nuclear good, emacs better than vim, vim better than emacs, chrome better than firefox, linux better than windows, mac better than PC, religion good, religion bad - pick a side and never think again(TM). In reality nearly all of life is some variant of "it depends" and there should be no shame in saying "I don't know enough to have an opinion" and if its important then you go look into it. The fundamental problem is "reasonably informed opinion held until presented evidence one way or the other" is more work than "strong opinions, loosely held".
- hejja 6y agomany of our positions are emotionally-driven, and then backwards-rationalized reality: this is too complex for me rationalization: I didn't think there was market fit reality: It's hard to learn technology x rationalization: OOP / framework / language sucks
- DonHopkins 6y agoBut Emacs IS better than vim. ;)
- MaxBarraclough 6y agoCan't we all just get along? And by that I mean, can't we all just gang up on nano?
- mcny 6y agoI know you kid but the killer features for nano are that one it is very simple and intuitive And two, it has the (two? It has been a few years) row footer that literally tells you what buttons to push to save or exit. I didn't know how to exit vim when I first started with git, as is tradition.
- MaxBarraclough 6y agoI agree about there being no good reason for Vim being so difficult to terminate. I've introduced a few people to Vim and I have to start out with an apology for how annoying it is to close. If the user hammers the Esc key, it should at least flash up with a hint of how to quit. It does this if you press ctrl-c, so it's not as if it can't be done.
- mcny 6y agoThat's a great idea. I can take it even a bit further though. The defaults matter. Maybe show a persistent thing at the bottom on how to exit and maybe even throw in what to do if you pressed Ctrl + s and now vim is "not responding". But this involves changing the defaults so it will likely never happen, same way as we will probably never see curl automatically enter a new line at the end of a response.
- MaxBarraclough 6y agoPersonally I wouldn't want that cluttering my Vim sessions, but it would make sense for some sort of 'introductory mode' of Vim. (gVim Easy seems to just be gVim restricted to insert mode. Not sure I see the sense in that - isn't that just Notepad++ but worse?) If I could change one thing about curl, it would be for -L to be the default behaviour, so that it would just do the right thing regarding redirects. Instead, wget does the right thing by default, but curl always needs the flag.
- nindalf 6y agoOff topic, but the best explanation I've seen of the trade-off between OOP and functional approaches is in the book Crafting Interpreters where they explain the Expression Problem - https://craftinginterpreters.com/representing-code.html#the-expression-problem https://craftinginterpreters.com/representing-code.html#the-...
- LeonB 6y agoThat is off-topic, but it is an interesting explanation. It’s a useful example for thinking about a lot of design situations where two different approaches both seem equally feasible yet are very different and incompatible.
- noir_lord 6y agoGod that is a phenomenal explanation, it's beautifully put together.
- onion2k 6y agoWhy do software developers believe that if someone gets there first that's it it's done? Something about software development attracts people who are underconfident and anxious (or perhaps writing software makes people like that). There's very little support or mentoring, soft skills like kindness, helpfulness and giving constructive feedback are looked down on, and people's first introduction to software (games) is all about competitiveness and winning. The 'heroes' of software are people who have made incredible things and rarely talk about their mistakes. Consequently a lot of developers look for reasons to give up as early as possible because everything they've learned tells them failure is something to avoid at all costs. Very sadly, in my opinion, the industry doesn't celebrate the effort. It's only about the results. Not having the first mover advantage is seen as a reason why you'll probably fail. What's slightly odd is that this attitude isn't so common in actual software. Developers are falling over themselves to work on new libraries and frameworks regardless of how many exist already.
- violetgarden 6y agoDoing a project that’s already been done before is such a learning experience. The person in the article learned a whole new framework to try and optimize their project. What a great bonus skill to have in your back pocket. I have been trying to develop my own soft skills. I used to think things like small talk were a waste of time. I didn’t realize they were a way to open the lines of communication which you can then build up to something substantial. I don’t feel soft skills in this industry are frowned upon so much as people (like myself) are just a little ignorant about them. I’ve noticed devs can give some really blunt feedback and genuinely think they’re being helpful, and they are! But a person receiving the feedback who already isn’t confident can feel like they’re being criticized. The two people need to almost meet half way. Be confident enough to take the feedback, and be a little more careful with your words when you give it.
- nonbirithm 6y agoIn my opinion this sentiment can be affected by your intention behind the project. If your intention is to be "the" product or project that people use for their unmet desires, then when that goal is fulfilled by another project/product already, and considerably better, you end up wondering what all your time and energy is contributing to the task of solving the problem. It's solved already, and other people have put in all that time and effort refining the solution already, so you'll just feel like you're playing catch up. The vast majority of the time I program because there is this thing I need to do but none of the software available allows me to do it at all. I don't mean buggily or with shareware popups or as a paid product, I mean at all. The only way for me to do the specific thing I want is to program a solution to do it for me. So suppose someone else comes along and has the exact same problem and comes up with a solution. Usually I'll just use it instead of spending more time. The solution is all I needed. In this case the programming is only a thing I have to get out of the way in order to accomplish what I want. I don't care about maintenance or if anyone else has the same problem or if anyone else even comes up with the same solution. All I care about is doing the thing. In these cases I will accept any solution, whether or not it's mine. Some people are just better at programming given the same time constraints. It does wound my ego a little, but using their solution immediately instead of putting all the effort into an inferior solution means I do what I wanted to do and move on to more important things. What actually wounds my ego is when the project is intended to be used by other people. This means those people might not choose the same solution as me collectively between multiple different options. So now I do have to care about maintenance and having something to offer above everyone else's solution, because otherwise nobody is going to care about all the effort I'm putting into this solution. The author appears to be a mixture of both, if I'm understanding correctly. When another competitor came along that did everything he envisioned his product would do he grudgingly signed up for it - because the product allowed him to do the thing he wanted to do all along. And he also wanted to be understood, to be a somebody with specific domain knowledge about this specific problem he encountered, and not being able to be that person since someone else already filled that gap was devastating. I mean, we can celebrate effort, but there's almost nothing more demotivating to me than spending years on a problem only to find that someone else did it and simply did it better than you, so you start thinking, "if only I could have learned about all these other things instead of spending years fumbling around with programming specifics in order to satisfy this one need, which would have been satisfied anyways if I was just patient enough." And it's also so, so easy to just state "just use X" and make it so much worse for the formerly motivated person. This is why social media will never fundamentally nourish people like me. Nobody can understand the context of two years of hard work when you just ask a simple question about what you feel about problem X or Y. At the same time, you can't argue with measurable improvements in correctness or efficiency, so in those cases some people like me find no other option except to get depressed. Then you would ask: "can anyone blame me for feeling like this?" Well, they would. "Pay more attention next time," "git gud," etc, etc... I think it might be impossible to avoid comparisons on a time or money basis when you have multiple solutions to the same problem that average people can choose from. They rarely just say "they're both good in different ways." At some point all I've learned is you just have to either deny reality or somehow get over the fact that some people are just better than you for inexplicable reasons. One mindset allows me to have a chance at accomplishing anything at all, the other leads to depression and never so much as attempting anything. I wish I knew better.
- deleted 6y ago[deleted]
- hejja 6y agoMay be a symptom of people sold on "blue ocean strategy" / "zero to one" narrative "just start a monopoly" the literature says... implying every venture that's not would surely be a waste of time but even (and especially) if you're the first mover, sharks will come will you use their presence as a convenient excuse? or are you up for the fight?
- rmason 6y agoI've never understood 'just ship it'. You usually only get one shot for people to look at your app. If it's buggy or ugly that's it. They won't try you a second time. How many times has someone mentioned an app and you say I've already looked at it and it's a piece of junk? Or gotten an email saying we just shipped version 2 and you're really going to like it and you just hit delete? That's why I personally think you're better off starting slow and getting a small base of customers. Save the press announcements or Product Hunt posting until you've got product market fit and have at least a bit of polish on your project.
- partyboat1586 6y agoDid you read the article? The buggy app was popular. People don't care so much about small bugs, developers do. People care about bugs that stop them doing what they need to do.
- noxToken 6y ago>Why do software developers believe that if someone gets there first that's it it's done? It doesn't help that when you come to HN or Reddit releasing something, the comments are quick to point out other competing products in a seemingly snarky way. "I use X. It has that feature plus these other ones. Why would I switch to yours?" I get the spirit of why someone would say that, but it's really hard to read tone in a forum post. I don't know, man? Don't?
- paul_f 6y agoThe flaw in thinking that once an app exists there is no point in recreating it, is assuming that everyone who would every use that app is already using it. Obviously that is false. Taken to the extreme, think about how many people are getting their very first mobile phone today?
- xwdv 6y agoI do. An undercurrent that runs through a lot of Software Developers is that they have to be “clever”. We’re not making shitty toasters, we’re writing products that shake industries and build powerful competitive advantages. Therefore, if you copy something that already exists, you’re not clever, you’re an imposter, a copycat, shame on you. It is not enough to be successful, you must be successful and unique, otherwise you might as well go build chairs or something.
- mcny 6y ago> "I use X. It has that feature plus these other ones. Why would I switch to yours?" I get the spirit of why someone would say that, but it's really hard to read tone in a forum post. Maybe I'm naïve but don't see it as snark most of the time. I see those posts as "here is some springboard for you to share the product or your vision and goals. Sometimes it is genuine snark but I like to believe it is usually curiosity even if it isn't true. I mean look at Dropbox. The basic idea is so simple. If you've used rsync/robocopy you might think it is ridiculous this product even exists. Doubly so if you're aware of how cloud providers charge so much for network traffic. Even Google Drive unlimited has to cap the amount of data transfer in a day. But there are always ways. For example, I think Dropbox has now limited free users to three syncing devices. Or gitlab. Like huh? But GitHub exists. And surely git-web or gitea is better suited for a web interface for git? But then gitlab has almost nothing to do with git. As far as I understand, the goal of gitlab has always been to be a complete product. I bring up these two examples because maybe the comments were snark but the founders seemed to handle it pretty well in both cases (at least publicly). I think their self-confidence shows in the product.
- battery423 6y agoI had to learn this as well and realized this in my last company that you can build something which already exists. Mentally speaking: I have optimized my thinking on not doing things twice, not being wasteful, lean, reusing components etc. If it is solved, there is little reason why i would/should solve it again and yes from a pure thinking perspective, it would make sense to pool all resources together to have one car brand. The same with a Toaster. Make one good Toaster, make it slightly configurable so you have choices in color and thats it. This type of efficient thinking is why i get paid.
- rorykoehler 6y agoOne car brand or toaster brand would slow down innovation and we’d end up with a much worse version of what it could be.
- battery423 6y agoYes definitely but i had to learn this through seeing it :)
- paul_f 6y agoOr just do better marketing, or a better supply chain, or lower cost to manufacture. Or make it specialized and only toast bagels.
- HeyLaughingBoy 6y agoWell, you were alive yesterday. Why are you alive again today?
- battery423 6y agoSry i don't think i get the context?
- CathedralBorrow 6y ago> "just ship it" is just as dumb as "never ship it". Why are people so prone to these oversimplified polarazations? Are they precisely equally dumb according to measurements, or did you oversimplify to make a point?
- rkangel 6y ago> "just ship it" is just as dumb as "never ship it". Why are people so prone to these oversimplified polarizations? Because this mantra is being applied to a group of people who almost universally wait longer than they should. It is never going to get interpreted as "ship when all you have is hello world". It is going to act as a push to ship earlier, when it's uncomfortable, before you feel ready. Basically it's relative rather than absolute "ship earlier than you think you should". And there is nothing wrong with a succinct formulation of that concept.
- tumetab1 6y agoThe first-mover advantage [0] is very present in popular success stories like the iPhone(1) and it's an easier (less effort and risk) strategy. The strategy having a better product like Facebook and Google Search is not that appealing. To further elaborate, if you're first you can have an unpolished product which grants you gratification sooner and with less effort. If you want to enter an existing market you have to gain customers with much effort and risk (the competition can react). Side note: the better toaster was sold first in the 50s and doesn't stop anyone of selling worse toasters :D [2] [0] https://en.wikipedia.org/wiki/First-mover_advantage https://en.wikipedia.org/wiki/First-mover_advantage (1) The first iPhone was the first smartphone as defined today. [2] https://www.youtube.com/watch?v=1OfxlSG6q5Y https://www.youtube.com/watch?v=1OfxlSG6q5Y
- simonh 6y agoExcept that facebook wasn't the first social network by a long way, and Google certainly wasn't the first search engine. The phone industry laughed at the iPhone precisely because it was competing with existing phone manufacturers. There are plenty of ways to compete with existing products, especially if they haven't achieved market dominance. The key thing is can you offer anything they don't. Quality, cost, features, ease of use, etc. What part of the market does their product not address, preferably in a way it's hard for their product to be adapted for.
- Const-me 6y ago> The first iPhone was the first smartphone as defined today Two reasons why not. 1. Wasn't first, e.g. HTC Touch was very close in terms of UX and form factor, released a month before iPhone. 2. Wasn't a smartphone as defined today. At launch it didn't have app store nor any user-installable apps at all, these features arrived much later.
- lonelygirl15a 6y agohttps://kitze.io/posts/zero-or-one https://kitze.io/posts/zero-or-one If you think that's an oversimplified polarization, click on this blog post at the bottom. "You're either a Zero or a One" "You have either reached your goal, or you haven't" In other words, life is a destination, not a journey. Yeah, nah.
- p3rls 6y agoWell, one thing, at least with web dev stuff is that competing against websites with years of backlinks is not exactly fun or fair for that matter.