TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Become an exceptional programmer by learning to ship

84 pointsby markoaover 11 years ago

12 comments

sgiftover 11 years ago
Ah, the old &quot;we only hire people with experience&quot; topic. Same question as usual: Where should they get that experience?<p>Answers I usually get:<p>- &quot;on their own&quot;: You want to tell me that someone should learn on their own how to go through all phases of shipping a software <i>without guidance</i>? And you think that will produce programmers who know how to do that &#x27;correctly&#x27;? I&#x27;d like to advise you that playing the lottery has comparable chances and that you should try it.<p>- &quot;at our competitors&quot;: That will only &#x27;work&#x27; if your competitors don&#x27;t have the same same idea.<p>New answers are very welcome, the topic seems quite stale to me.
评论 #7151250 未加载
评论 #7150469 未加载
评论 #7151555 未加载
Nursieover 11 years ago
Meh.<p>1. Exceptional programmers write neat, maintainable code. Anyone can ship something that works right now but has maintenance costs up the wazoo later.<p>2. If you recruit based on open source contributions you&#x27;ll miss out on the many, many fantastic devs who have no involvement in FOSS in their day jobs and like to switch off at night. (I love FOSS but I also love sleep)<p>3. All of what is written about in this blog entry is better termed experience. What you want is experience of working well in the industry. The blog entry is about as useful as saying &quot;if you want a good employee then choose someone that&#x27;s already shown they can do what you&#x27;re asking&quot;. This is not new information.
评论 #7152334 未加载
评论 #7152555 未加载
thuover 11 years ago
That maybe looks like a sensible approach, but it really seems like another arbitrary approach to put the bar &quot;higher&quot;.<p>People have had such &quot;requirements&quot; since ages. &quot;We only hire candidates with university degrees&quot;, &quot;we only hire PhD&#x27;s&quot;,.<p>Unless you&#x27;re a small company, not everybody will &quot;ship&quot;, or write audio codecs, or interact with prospects, and so on.
评论 #7150151 未加载
dictumover 11 years ago
Honestly, I think this is delusional. A developer that successfully develops and launches a product probably won&#x27;t be looking for a job, they&#x27;ll be maintaining and trying to grow the product&#x27;s user base.<p>This approach will get you people who shipped products no one (or very few people) wanted. It&#x27;s not as bad as it sounds, but it&#x27;s not the amazing you-big-developer-ubermensch-you thing these articles on shipping your way to a job make it seem.
评论 #7150602 未加载
bowlichover 11 years ago
&gt; So for example, publishing source code of an implementation of an audio compression algorithm on GitHub is not shipping. On the other hand, a library with multiple versions, downloaded and used by hundreds of developers is a clear indicator of shipping behavior.<p>My initial thoughts on this are that there are many us who are completely uninterested in spending time promoting our code. I&#x27;m fine with developing stuff and putting it up on github as an example of what I&#x27;m capable of doing, but promoting that code, getting other people involved and using it? That&#x27;s marketing, not development.
评论 #7151415 未加载
umsmover 11 years ago
This is probably the most important point:<p>Young programmers, due to lack of experience, sometimes don’t see that writing code is only a small part in producing software.
peterwwillisover 11 years ago
I grew up in the open source community. There&#x27;s a lot of really good best practices that you pick up there as you contribute to or pull from other projects. Among those are the development&#x2F;stable release trees.<p>If you have something that &quot;just works&quot;, you do a release, but to a development branch. Eventually some of those features can get backported to stable, or the release will get upgraded to stable after thorough testing, or all new feature development will end once it&#x27;s been tested enough to ensure a stable release. There may be 10 development releases before a stable release comes out. The benefit is you get to &quot;just ship&quot; code, but stable users aren&#x27;t forced to deal with your bugs and various changes just because you wanted to get an experimental feature out the door.<p>&quot;To ship&quot; is not a software development practice. It&#x27;s silicon valley hype. It&#x27;s the idea that delivering an average product is more important than designing, developing, testing, and producing a really good product. The author is right, this is difficult. But this is not what I think most people consider when they say &quot;to ship&quot;.
dahartover 11 years ago
People I respect told me the same thing, so I used to believe shipping made me a better programmer. It probably did in the sense that you see what it takes to finish, and sometimes it takes dropping your ideals for a while. Sometimes it takes a lot more polish than you expect. Sometimes you see the flaws in your genius designs exposed, and you learn what ways you failed to cover all possibilities even though you had &#x27;proved&#x27; it.<p>But, shipping has also done me as much damage as good. Unreasonable deadlines lead to bad decisions. Crunch times make me stupider, take many months to recover from mentally, and frequently are so crowded with patching things up that the lessons I should have learned about what I did wrong are lost in the wind.<p>Any company that wants to get on their white horse and trumpet about the virtues of shipping should be required to back it up with strong data on the virtues of excellent project management as well as how they have figured out how to ship software on a deadline with absolutely no overtime!
maguirreover 11 years ago
I don&#x27;t know what I am missing here but after reading the article I came out with the following: &quot;If you want to be a good programmer you should do a job well done&quot;
polskibusover 11 years ago
Productionalization is important indeed, however I&#x27;d say that it is a trait desired in any engineer, not necessarily a programmer.
coldcodeover 11 years ago
Real programmers ship, i.e. real programmers that work for sane companies and management sometimes ship code that customers actual want. Shipping products is rarely dependent only on programmers.
edabobojrover 11 years ago
I think that either I misread this article or some of the other posters have. The author isn&#x27;t talking about shipping a product, the author is talking about delivering code to production.