hacker news with inline top comments    .. more ..    26 Jul 2017 Ask
home   ask   best   2 years ago   
Ask HN: What are some indicators that a company will have an IPO or exit?
49 points by DidISayTooMuch  11 hours ago   27 comments top 17
caseysoftware 8 hours ago 1 reply      
I've been with two companies that have IPO'd recently - Twilio and Okta - but nothing here reflects those organizations.

If a company is heading towards an IPO, they MUST already have a CFO in place, probably 3-5 years in advance. While there are financial systems required, there are practices, reports, etc etc that require day after day, month after month, and quarter after quarter monitoring. It's not something that can just be "cleaned up" at the last minute.

Profitability is not a hard requirement but certainly helps.

The "magic number" used to be $100MM ARR but that doesn't appear to be the case anymore. I'd wager this is in part because of the increased private/VC valuations the last few years.

Strong growth is good. Strong growth among the more profitable product lines is even better. Margins should be high, potentially increasing as the cost of delivering the product goes down. If the team can put $X into Sales and Marketing and get 3-5X revenue out, that's a good sign.

If you can determine LTV, CAC, and churn, those are GREAT indicators but unless you're senior management, odds are you won't see those.

Regardless, it is NOT something you can bet on because even if it does happen, it can be YEARS down the line and if you're an insider, there are complex rules on when you can do or say what.

idunno246 10 hours ago 1 reply      
For an IPO, expect to see the company redoing the entire finance system - public companies have very strict reporting requirements that startups don't implement. Also, if they start withholding more information, there's a lot of things that you can't announce as a public company(or becoming one). Of course, that could be the opposite and the numbers are so bad they wont talk about them. One last thing is auditors could indicate either - due diligence in an acquisition, or prepping for an IPO.

In terms of raw numbers, there's not as clear a thing - I've been in companies that were acquired for doing really well, and others that might not have been able to pay payroll in a month.

tristanj 10 hours ago 1 reply      
Number of years since initial VC investment.

After 7-12 years in VCs will want to get their money out to pay out their LPs. Around this time they will start pressuring management to find a buyer or prepare for an IPO. Though this pressure depends a lot on the company's financial situation and how willing the VCs are to wait for an exit.

It's not the best indicator but it still is one.

tarr11 9 hours ago 1 reply      
Companies shopping the business, or going public almost always hire a CFO.

This is probably the top indicator IMHO.

ChuckMcM 9 hours ago 2 replies      
Yes. When a company is 'operationally cash flow positive' which is to say they make enough money that not only does their bank account balance increase each quarter, but also their future spending to refresh their equipment and offices etc would not cause their cash balance to go below its current point. That company will have the opportunity to 'exit' (sell themselves to another company) or IPO.

To quote the former CFO of Blekko, "Every month we have a number of dollars in the bank, that number is bigger than last month, 'Bueno', its smaller than last month 'No Bueno.'"

Easy and quantifiable.

Also, if the company is losing money, and each month the bank balance goes down, divide the rate of loss by the balance, at the zero intercept the company will 'exit'.

Also easy and quantifiable.

Between those two 'easy' versions, lays the challenge. But for your question which included the caveat "... in the near future" only the easy ones apply.

adambmedia 10 hours ago 0 replies      
All of the employees suddenly stay.
ridruejo 10 hours ago 0 replies      
It is complex, but the rule of thumb is that you get to a point in which you have consistent and predictable revenue. The "magic" number for software companies in the US is around 100MM.
DidISayTooMuch 2 hours ago 0 replies      
Thanks for all the answers. From what I infer, the one thing that's consistent is to look for year on year revenue growth. A company that achieves that will have a healthy exit. A company that doesn't will be forced to a lackluster IPO or sold off for the minimum value or will shut shop.
mathattack 9 hours ago 0 replies      
Let's assume you're meaning an exit with a high multiple on returns, rather than an acquihire. In this case there are 2 models:

1) Game changing technology. These are very hard to measure, especially from the outside. You have to ask yourself, "Is this technology for real?" and "Could a large company monetize this?" This is what's happening in the autonomous car market. Let's step aside from this.

2) Companies that are growing well and fast on their own. In this case there are 3 metrics that matter: Revenue, Revenue Growth (new business minus churn) and Margins. Revenue is the base for valuation, and Growth and Margins determines the multiple. A weak rule of thumb that answers your question is that once a SaaS business hits 50mm in ARR, Growth Plus Margins should equal 50%. (It's ok to lose 10% of revenue in margins if you're growing 50% per year. If you're only growing 20% per year, you should have 30% profitability.) If it has this it's trending towards a positive exit.

Three caveats:

1) In case 2, if the company has external venture money, they are more likely to exit. (The VC funds need to return money to investors) If they are self-funded, they can stay private much longer.

2) Very few companies pull off the high multiple exit or IPO. It is hard to maintain growth, and hard to eventually turn a profit when you are growing fast.

3) There are a small subset of VC firms and specific VC partners with disproportionately outsized success. In the absence of other information, an investment by them is a good signal. (But smart money won't help a bad business)

Whitespace 10 hours ago 0 replies      
nodesocket 4 hours ago 0 replies      
If you're employed at the company, I'm pretty sure you'd know. However, as an outsider look for regulatory signs such as hiring of new finance/CFO roles. Quiet period without new product announcements or features (out of the ordinary).
lojack 9 hours ago 0 replies      
If they begin treating their financials as if they were a public company, then that's a pretty good indicator. It's pretty much mandatory for an IPO or being acquired by a public company, and its super helpful for other exits as well.
basseq 9 hours ago 0 replies      
There are signs a startup is doing well (e.g., growth), signs that an exit may be necessary (e.g., capital requirements beyond another VC round), signs an exit may be desired, signs a company is ready for an IPO, signs a company is preparing for an exit, signs that exit will be "successful", etc.

You'd have to chain all those together to answer your question as posed.

Generally, look for $100M+ revs, strong growth, institutional investors, and a reasonably-new CFO with a track record in sales/IPOs.

thinbeige 8 hours ago 0 replies      
A lead VC (and there the dealmaster) who was involved in more than one exit before.
Animats 9 hours ago 2 replies      
Profitability. IPOs for money-losers went out in the first dot-com boom.

The scale of the business has to be reasonably large. Market cap in at least 8 figures.

pfarnsworth 9 hours ago 0 replies      
-3 years of audited financial records-SOX compliance
orasis 11 hours ago 0 replies      
Businesses are pretty simple. It's about consistently growing revenue and healthy cash flow.
Ask HN: If HN was an independent startup, how much would it be worth today?
5 points by laksmanv  5 hours ago   4 comments top 4
arikr 4 hours ago 0 replies      
Price would be determined by the market given it has no revenue. I imagine a VC firm would consider buying it for low single digit millions.

Though the difficulty would be that the brand is so attached to HN that the VC firm might struggle to get the brand value.

Also, given that they have around ~20 million visits per month according to similarweb it could probably make $10-100k per month if it charged for job ads.

It could also probably sell ads and do ~$30-100k/month from that based on a ~$3 CPM.

DrNuke 4 hours ago 0 replies      
It may be compared to similiar content aggregators, therefore not much? As a social platform, I am not sure this community would be easy to monetise: what kind of premium service would YC offer on top of the freebies? For one, I would think of a gamified approach to YC services like one-to-one briefings, networking opportunities, dedicated pitch sessions and so on. Karma acts as a gamifier already, so the currency is there.
paulcole 1 hour ago 0 replies      
Considering how much the community here loves ads, I'm betting not much.
misframer 4 hours ago 0 replies      
Where's the revenue?
Ask HN: Edtech hackers, what are you struggling with?
9 points by cronjobma  11 hours ago   2 comments top 2
codegeek 10 hours ago 0 replies      
I work with Edtech but I will like to know more details on the premise of this question. What specifically are you interested in and what is your background ?
pryelluw 8 hours ago 0 replies      
I worked in edtech for 3 years (left job last November). Spoke to many others at events (ISTE, etc). The main struggle was how to move content from one platform to another. Every product had its own proprietary format and most didnt have a way to export. I worked on a solution with a publisher but abandoned the idea the moment they mentioned not wanting to do an open format.

I also had some issues with student data being different across all SIS. Had to implement my own solution to normalize the data and serve it to my own production systems (eventually was sold to clients). This was never truly solved because the moment I left the company focused on another product (it wasnt a "data" company like Clever).

Ask HN: What next after burning out?
15 points by burnedout94107  12 hours ago   7 comments top 6
jwilliams 56 minutes ago 0 replies      
Take some time off. The clarity you get from disengaging will be stunning (or so I'v seen). I generally think for X years of high stress it takes 1-2 months per year. So you'll need 1-2 years to recharge.

It might be difficult financially. I don't know your situation on how feasible that is. Perhaps you have family and other hard commitments. But I think in general people tend to overestimate the cost. Wind back your outgoings. Head somewhere cheap. Meditate, exercise, eat fresh food.

uptownfunk 10 hours ago 1 reply      
Persist somehow until you've banked enough pto and get the hell away from wherever you are. Go on a roadtrip or camping or a hike. I'm not a doctor but consider using some of nature's natural medicines. (Not that a doctor would ever advise you to do that of course)

Perhaps you may be depressed, seek counseling and see if that helps.

It can be a rough world out there. Look at what you have though, a ton of valuable experience that you can apply towards the right opportunity when the time is right.

Hang in there, time changes if nothing else, and that may be all you need.

sharemywin 11 hours ago 0 replies      
I'm right there with you. Except, I've been doing corporate jobs but no one wants to hire outside something your experienced in. So I'm stuck. And the thought of even interviewing disgust me.
DrNuke 9 hours ago 0 replies      
A vacation followed by a career stint as a mentor for an accelerator or within an incubator may be your best shot? You have grown the anticorps first hand and know exactly where sense becomes bullsh*t, so you may be good at providing reality checks while acting the bad cop in these environments imho.
itamarst 10 hours ago 0 replies      
Take a very long vacation from work?

(Your experience is not worthless, if you've been doing the relevant work then some companies will hire you even if it doesn't match previous job titles. But if you're this burned out you should probably not think about it.)

segmondy 3 hours ago 0 replies      
Get a hobby, start a side project. Your job should be to fund your lifestyle, hobbies and side project.
Ask HN: What books had the greatest effect on how you structure your code?
286 points by rufugee  1 day ago   152 comments top 57
DanHulton 1 day ago 2 replies      
Code Complete, Steve McConnell.http://www.stevemcconnell.com/cc.htm

One of the best books on programming style and function, backed up with actual research for the recommendations.

troels 20 hours ago 0 replies      
"Patterns of Enterprise Application Architecture" by Martin Fowler made a big difference for me at the time. Also, "Domain Driven Design" by Eric Evans. Both have a focus on high level architecture.

Of books that are more on the craft of programming, "Refactoring" (Also Fowler) is good. And I enjoyed "Practical Common Lisp" by Peter Seibel too.

In general, I suspect that the value of a book has more to do with where the reader is, than where the book is.

abecedarius 1 day ago 2 replies      
Thinking Forth; Software Tools; SICP; Abstraction and Specification in Program Development; Essentials of Programming Languages; Paradigms of AI Programming; I'd like to list something about OO too, but no book I know really measures up to learning from other programmers. But there's Mark S. Miller's thesis Robust Composition.

(in roughly chronological order. As you can see from the chronology, it took me a long time to start to like OOP.)

jjjjjosh 1 day ago 2 replies      
Hands-down, Practical Object-Oriented Design in Ruby (http://www.poodr.com/) - some of it I don't agree with but it's all wonderfully put-together: clear and concise, with wonderful examples. Much more about OO design than Ruby, non-Rubyists will get 98% of the value out of it that Rubyists would.
danso 1 day ago 2 replies      
Of lesser-known books, Avdi Grimm's "Confident Ruby": http://www.confidentruby.com/

Learning Ruby itself was a huge influence to me; hadn't considered that a language should be designed to make programmers "happy", as Matz said. "Confident Ruby" was one of several books that had this human-happiness focus. "Confident" is broken down into patterns, many of which can be found in books like Sandi Metz's POODR, but as a semi-experienced programmer, Grimm's way of writing really appealed to me.

Even the title of the book itself was revelatory to me. The idea that the functions and methods and conventions we create should be rooted in a "confident" mentality (such as the old adage of being promiscuous in what a function accepts, and strict in what it returns) really improved the way I designed code. Not just in terms of technical proficiency, but with less cognitive burden, which ultimately leads to the elegant simplicity we desire in our work.

jcmoscon 1 day ago 2 replies      
On LISP, by Paul Graham. LISP was the second language I learned in college, but only after 6 years programming Java and C# that I came back and really learned LISP. It was when I realized that I was doing everything wrong. For example design patterns exists because OO has serious problems that we don't find in a functional programming language and you only see this when you understand both paradigms.
ztjio 1 day ago 0 replies      
It surprised me just how huge the impact was of reading about Flow-based Programming years ago (J Paul Morrison's book, though, his site is probably a sufficient substitute http://www.jpaulmorrison.com/fbp/)

Of course, in recent times, it has become all that much more relevant to me as I began working in data science/engineering space. Even though it's not specifically about code structure for a particular language, it addresses a common flaw in most programming approaches that seem to treat all functionality as a servant of the current context which is strange and silly and not how anything works in physical information processing so why do it in code?

A somewhat common pattern that maps well to FBP is "Railway Oriented Programming." Though FBP in full takes this well beyond simply shooting errors along in sideband to the happy path.

butlersean 1 day ago 1 reply      
Refactoring: Improving the Design of Existing Code

After reading I began to think about programming as an algebraic transformation from one system to another, in doing so radically reduced the amount of errors I made.

beagle3 5 hours ago 0 replies      
Essays, not books, but ... everything Ken Iverson wrote:

The Description of Finite Sequential Processes http://www.jsoftware.com/papers/DFSP.htm (see e.g. the concrete implementation of the Simplex algorithm , the hamming code corrector). It shows that, with the right primitives and notation, a lot of things are simple and elegant. It's not an necessarily an easy read (depending on your math level and background), but it is a very rewarding one.

Notation as a tool of thought http://www.jsoftware.com/papers/tot.htm - a longer introduction.

Bottom line: a different take on abstraction. It makes a huge difference when you peel most abstraction layers.

Jtsummers 1 day ago 0 replies      
Literate Programming, Knuth. My methods have evolved since I first read and started toying with the ideas here, but this is where it started.


oneeyedpigeon 1 day ago 0 replies      
The Art of Unix Programming, Eric S. Raymond. http://www.catb.org/esr/writings/taoup/html/

I'm still trying to achieve everything he advocates, but what I've managed so far has been extremely beneficial.

leksak 1 day ago 0 replies      
Game Programming Patterns - without a doubt. Own it in print, but usually only read it online. To me it's a more exciting read than the GoF book


MithrilTuxedo 1 day ago 1 reply      
Clean Code by Robert C. Martin

This helped me break my analysis paralysis when it came to figuring out how to organize my code.

numbsafari 17 hours ago 0 replies      
Writing Basic Adventure Programs for the TRS-80. [1]

It contains this gem [2], which is pretty much how every program works. I occasionally riff off this diagram for work as an inside joke with myself.

1: http://www.trs-80.org/writing-basic-adventure-programs-for-t...

2: https://imgur.com/gallery/Vz63D

oulu2006 20 hours ago 0 replies      
davidmoffatt 1 day ago 0 replies      
The Little Lisper by Dan Friedman. It is probably 30 years out of publication but I pulled it off of my shelf the other day, reread it, and the next day I noticed that my code had improved. It is a quick read, nothing earth shattering, but you will be amazed by what you have forgotten.
gnaritas 1 day ago 0 replies      
Smalltalk Best Practice Patterns by Kent Beck.Refactoring by Martin Fowler. Design Patterns by the Gang of Four. Domain Driven Design by Eric Evans.
blain_the_train 10 hours ago 0 replies      
For a modern look at systems design i highly recommend "Designing Data-Intensive Applications (DDIA)" By Martin Kleppmann. Not really about structuring code, but I think stepping back and realizing your code is part of a larger system is very illuminating and influence how you write code.


d0m 1 day ago 0 replies      
SICP made the biggest difference; it really changed the way I approach mutability and state management in everything I write (To name just this).
dcw303 1 day ago 2 replies      
For C#, Framework Design Guidelines by Cwalina & Abrams. Very clear and concise pointers for well structured and easy to read code. It's a little out of date now though, wish they'd update it to a third edition.
doubleunplussed 1 day ago 0 replies      
Not a book, but the game spacechem [1] made all my code start being more influenced by the actor model [2] without me really realising it.

[1] https://en.wikipedia.org/wiki/SpaceChem

[2] https://en.wikipedia.org/wiki/Actor_model

Adamantcheese 1 day ago 1 reply      
How To Write Unmaintainable Code by Roedy Green.

The best way to write better code is to avoid writing it badly in the first place. But you need to know how to write bad code to write code better than it. Definitely a different way of learning how to write good code, also a good laugh for anyone in industry.

skytreader 15 hours ago 1 reply      
SICP (w/ Brian Harvey's CS61A lectures) influenced how I approach abstraction _a lot_. Its "baby brother" _How to Design Programs_, with its design recipe approach, ingrained testing and iterative refinement in me early on.

_Head First Design Patterns_ is a great influence too when it comes to OO-abstraction, for good and bad.

fusiongyro 1 day ago 0 replies      
A Mentoring Course in Smalltalk[0]. I was really surprised, after reading and really loving Design Patterns, that there was still so much to say about OO design.

I did love Design Patterns a lot though. Purely Functional Data Structures by Chris Okasaki was also really useful for Haskell, as was Real World Haskell.

Programming Prolog probably had a bigger influence on my Prolog than the other books, even though I read Art of Prolog and Prolog Programming in Depth first. Especially the latest edition, it's a really beautiful book.

[0]: http://www.lulu.com/us/en/shop/andres-valloud/a-mentoring-co...

pjc50 19 hours ago 0 replies      
Very old, but "C traps and pitfalls": http://www.goodreads.com/book/show/706807.C_Traps_and_Pitfal...

It's essentially a list of anti-patterns to avoid. But crucial to it is the idea of clarity and avoiding misinterpretation by either human or compiler.

e12e 1 day ago 0 replies      
Probably the book that surprised me the most, was "Designing Active Server Pages" by Scott Mitchell[1] - bought for next to nothing in a sale clearing out old titles. I don't really program in VBscript or on the .net platform - but the book demonstrates how much improvement it is possible to get in a server-side template language (eg: like PHP, ColdFusion) with a bit of mindfulness to how code is structured.

I'm not sure I would recommend it today, but at the time I read it, in the mid 2000s, it did change my view on these "unmaintainable" technology stacks. I later came across the fusebox architecture/pattern, originally from ColdFusion - and realized that many PHP programmers had skipped some history, ending up reinventing code structure, sometimes badly.

Note that fusebox has grown and changed, I'm mostly talking about the fundamental ideas, and I don't think the later "port" to using XML was a very elegant or good idea. For those interested, see:

https://en.wikipedia.org/wiki/Fusebox_(programming)#Fusebox_... and most of the rest of that page.

[1] http://shop.oreilly.com/product/9780596000448.do

gt_ 1 day ago 3 replies      
As a programmer in training who has both Clean Code and Code Complete in a queue on the edge of my desk, I'm following this thread to decide which goes first, or if they both get sold in mint condition.
ransom1538 17 hours ago 0 replies      
Classic essay on unmaintainable-code.


wallstprog 13 hours ago 0 replies      
At the risk of being labeled a dinosaur, this is still prob. the best book I ever read on structuring code:


tomjakubowski 23 hours ago 0 replies      
"The Practice of Programming" by Kernighan & Pike, especially chapters 3, 4, 8 and 9.


lj3 1 day ago 0 replies      
Practical UML Statecharts in C/C++: Event-Driven Programming for Embedded Systems by Miro Samek.


cutler 1 day ago 1 reply      
Clojure Applied by Ben Vandergrift and Alex Miller. That and Rich Hickey's Greatest Hits (https://changelog.com/posts/rich-hickeys-greatest-hits).
BJanecke 18 hours ago 3 replies      
* Douglas Hofstadter - Gdel, Escher, Bach: an Eternal Golden Braid

* Fred Brooks - Design Of Design

* Fred Brooks - The Mythical Man month

* Eric J. Evans - Domain Driven Design

* Design Patterns: Elements of Reusable Object-Oriented Software

* Kent Beck - Extreme Programming Explained

* Kent Beck - Planning Extreme Programming

* Michael C. Feathers - Working Effectively with Legacy Code

* Daniel Kahneman - Thinking, Fast and Slow

[EDIT] Correct the author for legacy code

mhh__ 1 day ago 0 replies      
Alexandrescu's Modern C++ design taught me how to template properly.

Also, Scott Meyers's books were very helpful.

The design of the D standard library has also been very influential on my code (Mainly convincing me of the benefits of ranges over iterator)

breck 1 day ago 0 replies      
Clean Code
chrismealy 1 day ago 0 replies      
Kent Beck'a Smalltalk book. I've never used Smalltalk but it transfers to any dynamic OOP language. (It also used to be $25, yikes what happened?)
fernly 1 day ago 0 replies      
Jon Bentley, _Writing Efficient Programs_ and Kernighan & Ritchie's _C Programming Language_.
CalRobert 19 hours ago 0 replies      
Javascript: The Good Parts
InclinedPlane 1 day ago 0 replies      
Refactoring. If I could shove that book down every coder's throat in the world I would. Or, if I could even just get them to use extract method like ... half the times they should I'd consider that to be a major historical achievement.
anentropic 16 hours ago 2 replies      
Does anyone else here never read programming books?
chvid 19 hours ago 0 replies      
The Life-Changing Magic of Tidying Up by Marie Kondo
marvel_boy 1 day ago 0 replies      
robinphilip1989 18 hours ago 0 replies      
Head First Design Patterns by Eric FreemanDesign patterns by GoF Code Complete by Steve McConnel
nichochar 1 day ago 0 replies      
The pragmatic programmer
nlawalker 1 day ago 1 reply      
Dependency Injection in .NET by Mark Seemann was the trigger that started my transition from someone basically writing "script spaghetti" in an OO language to someone that could actually decompose a conceptual set of processes into decoupled parts and assemble a software system from them.

It came along at just the right moment in my career, when I was struggling to understand how I could build things in a more elegant way. I picked up the book thinking I was going to learn about some esoteric design pattern, and came away with a much better understanding of the languages I was using and all of the other design patterns I thought I had learned about previously. It's clear, concise, and focuses on concepts over specific tools and libraries, but most importantly it's practical - it has real, practical code examples and explains how to actually build an object-oriented system. It's such a stark contrast with most presentations I've seen of the Gang of Four patterns and of SOLID, which usually come with really weak examples that aren't helpful or motivational.

Everything snowballed from there. I started using composition a lot more than inheritance, I started identifying problems with side effects and eliminating them, I started writing real unit tests, I was able to better critique other peoples' code. I felt like I was finally using the tools available to me in the way they were supposed to be used.

What's funny and satisfying to me is following the author's blog and seeing that he has since moved on to focus primarily on F# and functional programming, which I naturally started to do myself after more practice with the concepts in his book. Once you start decoupling things well, and you've built a few systems big enough that you have trouble finding the actual implementation of your IWhatever and an AbstractSingletonProxyFactoryBean actually does solve your problem pretty well even as you realize the insanity of it, the encapsulating borders of classes and the need to assign everything to a noun start to feel more like a hindrance rather than a guide.

That said, I still think that most of the world's code written in object-oriented languages would be better off if everyone using them had brief, practical training to understand the value of specifying the behavior of an object through the interfaces it depends on, giving it other objects that implement those interfaces right when you create it, and doing all that creation up front (or specifying other objects that can defer that creation to later). I still see so much C# code from developers at all levels who clearly create classes only because the language offers it and it seems like the right thing to do, randomly jamming methods and fields into classes with names vaguely related to the domain, calling static methods to access databases and external services, and proudly adding unit tests for their one loose little function that mushes strings together. I push this book as hard as I can on junior devs.

Kenji 1 day ago 0 replies      
Digital Design and Computer Architecture (Harris & Harris)

Why? Because we software engineers can learn a lot from the hardware guys. Almost every piece of software I write these days contains some finite state machines (technically, every program is a finite state machine, where the binary string that makes up all your variables at a given point in time is one state, that insight alone is valuable, but I mean with explicit states in the code) - in fact, they often make up the core structure and uphold some strong invariants that make reasoning about the code simpler. And if one finite state machine does not do it, then you can nest them and keep all the benefits.

rurban 1 day ago 0 replies      
frik 23 hours ago 0 replies      
JavaScript, the Good Parts
_Codemonkeyism 18 hours ago 0 replies      
"Implementation Patterns"
weishigoname 23 hours ago 0 replies      
for me, there is no special book effect my code style, the greatest effect is read source code of projects I am interested in.
enriquto 18 hours ago 0 replies      
all modern programming books are footnotes to Kernighan and Ritchie
PJ_Lau 11 hours ago 0 replies      
work effectively with legacy code
gaius 18 hours ago 0 replies      
Alice in Wonderland
hardlianotion 1 day ago 0 replies      
Scott Meyers Effective C++
ertucetin 18 hours ago 0 replies      
Joy Of Clojure
__s 1 day ago 0 replies      
miguelrochefort 1 day ago 8 replies      
Are books still state of the art in 2017?

I would assume all the best knowledge could be found online for free by now.

Ask HN: What websites should have a comment section?
3 points by essofluffy  7 hours ago   1 comment top
taprun 5 hours ago 0 replies      
Sites that want to create a community, foster a dialog or encourage reader participation.

The smaller the audience, the greater the chance that an empty comment section will exist. This is dangerous as it will reinforce the notion that a given site is unpopular and not worth using. Historically sites have used puppet accounts to prevent this.

Ask HN: In what creative ways are you using Makefiles?
92 points by kamranahmed_se  1 day ago   94 comments top 46
new299 1 day ago 5 replies      
My favorite use was during my PhD. My thesis could be regenerated from the source data, through to creating plots with gnuplot/GRI and finally assembled from the Latex and eps files into the final pdf.

It was quite simple really, but really powerful to be able to tweak/replace a dataset hit make, and have a fully updated version of my thesis ready to go.

thealistra 13 hours ago 1 reply      
I wanted to download a few hundreds of files, but the server was enabling only 4 simultaneous connections.

I did a makefile like

 file1: wget http://example.com/file1 file2: wget http://example.com/file2 file3: wget http://example.com/file3
And used make -j4 to download all of them, but only 4 parallel tasks at once. It starts another download when one finishes

richardknop 1 day ago 4 replies      
I use Makefile as a wrapper for build / test bash commands. For example I often define these targets:

- make test : run the entire test suite on local environment

- make ci : run the whole test suite (using docker compose so this can easily be executed by any CI server without having to install anything other than docker and docker-compose) and generate code coverage report, use linter tools to check code standards

- make install-deps : installs dependencies for current project

- make update-deps : will check if there is a newer version of dependencies available and install it

- make fmt : formats the code (replace spaces for tabs or vice-versa, remove additional whitespaces from beginning/end of files etc)

- make build : would compile and build a binary for current platform, I would also defined platform specific sub commands like make build-linux or make build-windows

mauvehaus 1 day ago 0 replies      
Teradata contributes the Facebook open-source project Presto. Presto uses Docker to run tests against Presto. Since the tests require Hadoop to do much of anything useful, we install Hadoop in docker containers.

And we run tests on 3 flavors of Hadoop (HDP, CDH, and IOP), each of which is broken down into a flavor-base image with most of the packages installed, and various other images derived from that, which means we have a dependency chain that looks like:

base-image -> base-image-with-java -> flavor-base => several other images.

Enter make, to make sure that all of these get rebuilt in the correct order and that at the end, you have a consistent set of images.


But wait, there's more. Docker LABEL information is contained in a layer. Our LABEL data currently includes the git hash of the repo. Which means any time you commit, the LABEL data on base-with-java changes, and invalidates everything downstream. This is terrible, because downloading the hadoop packages can take a while. So I have a WIP branch that builds the images from an unlabelled layer.


As an added bonus, there's a graph target that automatically creates an image of the dependency graph of the images using graphviz.

Arguably, all of the above is a pretty serious misuse of both docker and make :-)

I can answer complaints about the sins I've committed with make, but the sins we've committed with Docker are (mostly) not my doing.

Figs 1 day ago 1 reply      
I once implemented FizzBuzz in Make: https://www.reddit.com/r/programming/comments/412kqz/a_criti...

Even though Make does not have built-in support for arithmetic (as far as I know), it's possible to implement it by way of string manipulation.

I don't recommend ever doing this in production code, but it was a fun challenge!

chubot 1 day ago 2 replies      
Not particularly creative, but I'm using it to generate this blog:

http://www.oilshell.org/blog/ (Makefile not available)

and build a Python program into a single file (stripped-down Python interpreter + embedded bytecode):


Although generally I prefer shell to Make. I just use Make for the graph, while shell has most of the logic. Although honestly Make is pretty poor at specifying a build graph.

grymoire1 1 day ago 0 replies      
I've used it when I was doing a pentest - searching a network for leaks of information. I wrote dozens of shell scripts that scanned the network for .html files, then extracted URL's from them, downloaded all of the files referenced in them, and searched those files (.doc, *.pdf, etc.) for metadata that contained sensitive information. This involved eliminating redundant URL's and files, using scripts to extract information which was piped into other scripts, and a dozen different ways of extracting metadata from from various file types. I wrote a lot of scripts that where long, single-use and complicated, and I used a Makefile to document and save these so I could re-do them if there was an update, or make variations of them if I had a new ideas.
voltagex_ 1 day ago 1 reply      
To set up my dotfiles, although I'm not in enough of a routine for it to be truly useful.

 tmux: ln -s $(CURDIR)/.tmux.conf $(HOME)/.tmux.conf tmux source-file ~/.tmux.conf reload-tmux: tmux source-file ~/.tmux.conf gitconfig: ln -s $(CURDIR)/.gitconfig $(HOME)/.gitconfig
cd ~/configs then make whatever. ~/configs itself is a git repository.

privong 1 day ago 0 replies      
I use Makefiles for two components of my research:

- Compilation of papers I am writing (in LaTeX). The Makefile processes the .tex and .bib files, and produces a final pdf. Fairly simple makefile

- Creation of initial conditions for galaxy merger simulations. This I obtained from a collaborator. We do idealized galaxy merger simulations and my collaborator has developed a scheme to create galaxies with multiple dynamical components (dark matter halos, stellar disks, stellar spheroids, etc.) very near equilibrium. We have makefiles that generate galaxy models, place those galaxies on initial orbits, and then numerically evolve the system.

INTPenis 1 day ago 2 replies      
Not exactly creative but KISS. I use only Makefile for a C project that compiles on both Linux, BSD and Mac OS.

Point being that autoconf is often overkill for smaller C projects.

lantastic 1 day ago 0 replies      
I once used make to jury-rig a fairly complex set of backup jobs for a customer on a very short notice. Jobs were grouped and each group was allowed to run a certain number of jobs in parallel, and some jobs had a non-overlap constraint. The problem was well beyond regular time-based scheduling, so I made a script to generate recursive makefiles for each group that started backups via a command-line utility, and a master makefile to invoke them with group-specific parallelism via -j.

File outputs were progress logs of the backups that got renamed after the backup, so if any jobs failed in the backup window, you could easily inspect them and rerun the failed jobs just by rerunning the make command.

Fun times. Handling filenames with spaces was an absolute pain, though.

sannee 1 day ago 0 replies      
Not something I have personal experience with, but I have heard a story about a Makefile-operated tokamak at the local university. Apparently, the operator would do something like "make shot PARA=X PARB=Y ..." and it would control the tokamak and produce the output data using a bunch of shell scripts.
cperciva 1 day ago 0 replies      
I have "make Makefiles", which uses BSD make logic to create portable POSIX-compliant Makefiles.
alexatkeplar 1 day ago 0 replies      
Until recently we used them at Snowplow for orchestrating data processing pipelines, per this blog post:


We gradually swapped them out in favour of our own DAG-runner written in Rust, called Factotum:


regnar86 13 hours ago 0 replies      
I'm developing flight software at work on various Linux pc's that have support drivers installed for some PCIe cards. If I want to code on these PC's it's either sit inside a freezing clean room or "ssh -X" into a PC to bring up a editor. This sucks, so I have a makefile to rake in certain specifics of my flight software build with additional compile time switches for flexibility to build natively on my own computer. This allows me to essentially ignore installed drivers/libs and work comfortably in my own environment until I require the actual PC in the cleanroom to run my build.
rrobukef 1 day ago 0 replies      
I use it to setup my programming environment. One Makefile per project, semi-transferable to other pcs. It contains

 * a source code download, * copying IDE project files not included in the source, * creating a build folders for multiple builds (debug/release/converage/benchmark, clang & gcc), * building and installing a specific branch, * copying to a remote server for benchmark tests.

shakna 1 day ago 0 replies      
Lisp in make [0] is probably the most creative project I've seen. For myself, in some tightly controlled environments I've resorted to it to create a template language, as something like pandoc was forbidden. It was awful, but worked.

[0] https://github.com/kanaka/mal/tree/master/make

rv77ax 1 day ago 0 replies      
I use makefile as the library package dependency [1], maybe like what package.json was in node environment.

The idea is if you want to use the library, you just include the makefile inside your project makefile, define a TARGET values and you will automatically have tasks for build, debug, etc.

The key is a hack on .SECONDEXPANSION pragma of GNU make, which means it's only work in GNU/Linux environment.

[1] https://GitHub.com/shuLhan/libvos

Edit: ah, turn out I write some documentation about it here: http://kilabit.info/projects/libvos/doc/index.html

BenjiWiebe 1 day ago 0 replies      
I have a makefile I use for all of my AVR projects. It has targets to build, program, erase, and bring up a screen on ttyS0 and maybe more. I add targets whenever I realize I'm doing anything repetitive with the development workflow.
Someone 1 day ago 1 reply      
I don't use it, but your question made me think of one: I would like to see it (mis)used as a way to bring up an operating system.

It probably will require quite a few changes, but if the /proc file system exposed running processes by name, and contained a file for each port that something listened to, one _could_ run make on that 'directory' with a makefile that describes the dependencies between components of the system.

Useful? Unlikely, as the makefile would have to describe all hardware and their dependencies, and it is quite unlikely nowadays that that is even possible (although, come to think of it, a true hacker with too much time in hand and a bit of a masochistic tendencies could probably use autotools to creative use)

gopalv 1 day ago 0 replies      
To generate 100 Terabytes of data in parallel ... on Hadoop


The shell script generates a Makefile and the Makefile runs the hadoop commands, so that the parallel dep handling is entirely handed off to Make.

This make it super easy to run 2 parallel workloads at all times - unlike xargs -P 2, this is much more friendly towards complex before/after deps and failure handling.

a3n 1 day ago 0 replies      
Miki: Makefile Wiki https://github.com/a3n/miki

A personal wiki and resource catalog. The only thing delivered is the makefile, which uses existing tools, and a small convenience script to run it.

xemoka 1 day ago 0 replies      
I haven't, but one of the cool uses that I've seen lately is how OpenResty's folks are using it for their own website, they convert markdown -> html, then with metadata to TSV, finally loading it into a postgres db. They then use OpenResty to interface with the DB etc. But all the documentation is originally authored in markdown files.

Makefile: https://github.com/openresty/openresty.org/blob/master/v2/Ma...

DanHulton 1 day ago 0 replies      
I use Ansible for deployment and Ansible Vault for storing encrypted config files in the repo. Of course, it's always a bit of a nightmare scenario that you accidentally commit unencrypted files, right?

Well, I have "make encrypt" and "make decrypt" commands that will iterate over the files in an ".encrypted-files" file. Decrypt will also add a pre-commit hook that will reject any commit with a warning.

This is tons easier than trying to remember the ansible-vault commands, and I never have to worry about trying to remember how to permanently delete a commit from GitHub.

unmole 1 day ago 0 replies      
Not mine but here's a Lisp interpreter written in Make: https://github.com/kanaka/mal/tree/master/make
matt4077 1 day ago 1 reply      
I'm using ruby's rake in almost every project, even when it's not ruby otherwise.

It has much of the same functionality, but I already know (and love) ruby, whereas make comes with its own syntax that isn't useful anywhere else.

You can easily create workflows, and get parallelism and caching of intermediate results for free. Even if you're not using ruby and/or rails, it's almost no work to still throw together the data model and use it for data administration as well (although the file-based semantics unfortunately do not extend to the database, something I've been meaning to try to implement).

Lately, I've been using it for machine learning data pipelines: spidering, image resizing, backups, data cleanup etc.

cmcginty 1 day ago 0 replies      
I used a Makefile for managing a large number of SSL certificates, private keys and trust stores. This was for an app that needed certs for IIS, Java, Apache and they all expect certificates to be presented in different formats.

Using a Makefile allowed someone to quickly drop in new keys/certs and have all of the output formats built in a single command. Converting and packaging a single certificate requires one or more intermediate commands and Makefile is setup to directly handle this type of workflow.

leksak 19 hours ago 0 replies      
Nowadays I mostly use Tup. If I use make it is usually for when I'm working with other people on LaTeX documents, and often times it's enough to just call rubber from make x)
gkelly 1 day ago 0 replies      
I use Makefiles that run "git push $branch" and then call a Jenkins API to start a build/deploy of that $branch. This way I never have to leave vim; I use the fugitive plugin for vim to "git add" and "git commit", then run ":make".
natebrennand 1 day ago 0 replies      
We use Makefile "libraries" to reduce the amount of boilerplate each of our microservices have to contain. This then allows us to change our testing practices in bulk throughout all our repos.


stephenr 1 day ago 0 replies      
I guess it depends what you consider creative?

I use one to build my company's Debian Vagrant boxes: https://app.vagrantup.com/koalephant

I use one to build a PHP library into a .phar archive and upload it to BitBucket

My static-ish site generator can create a self-updating Makefile: https://news.ycombinator.com/item?id=14836706

I use them as a standard part of most project setup

dakerfp 22 hours ago 0 replies      
I use it to run Verilog testbenches and start a Riscv simulator.
peterbraden 1 day ago 0 replies      
I have a makefile that sets up a brand new computer with the software I need. It means I can be up and running on a new machine in a few minutes.
haspok 1 day ago 0 replies      
https://erlang.mk/ - need I say more? :)
dvfjsdhgfv 1 day ago 0 replies      
The main question to ask if you really need to use make. If you do, there practically no limit of what you can do with it these days, including deployment to different servers, starting containers/dedicated instances etc. But unless you are already using make or are forced to, it's better to check one of newer build systems. I personally like CMake (it actually generates Makefiles).
Mister_Snuggles 1 day ago 0 replies      
I've used Makefiles to determine what order to run batch jobs in so that dependencies can be met. Instead of describing what order to run things in, you describe what depends on what.

It's pretty cool, but not ideal.

accatyyc 1 day ago 0 replies      
One "creative" use is project setup. Sometimes, less technical colleagues need to run our application, and explaining git and recursive submodules takes a lot of time, so I usually create a Makefile with a "setup" target that checks out submodules and generates some required files to run the project.
Da_Blitz 1 day ago 1 reply      
i use it to solve dependency graphs for me in my program language of choice, at the moment this involves setting up containers and container networking but i throw it at anything graph based

make seems to be easier to install/get running than the myriad of non packaged, github only projects i have found.

rahi374 21 hours ago 0 replies      
I use it to generate my latex CV.In my case I have multiple target countries, so I have pseudo-i18n with pseudo-l10n, and different values like page size, addresses, phone numbers, and then I just make for the target country like make us or make ja.
johnny_1010 1 day ago 0 replies      
I use makefile to gen my static website.Also my CV, latex and make works well together.
tripa 1 day ago 0 replies      
I use make as a poor man's substitute for rsync (well, local rsync. Like cp -r), when I need to add some filtering in between.
tmaly 1 day ago 0 replies      
I use it to build all my Go micro services, run test suite, compile SaSS, minify css, minify js
yabadabadoo 1 day ago 2 replies      
I use make to pre-compile markdown into HTML for a static website.
rurban 1 day ago 0 replies      
I'm creating a config.inc makefile during make to store config settings, analog to the config.hhttps://github.com/perl11/potion/blob/master/config.mak#L275

Instead of bloated autotools I also call a config.sh from make to fill some config.inc or config.h values, which even works fine for cross-compiling.

jmurphyau 1 day ago 0 replies      
I use make to make things
Ask HN: What qualities do you look for in a junior developer?
62 points by kgraves  12 hours ago   60 comments top 44
BlackjackCF 12 hours ago 1 reply      
I'm a little worried you're never going to find a junior developer that's satisfactory enough to qualify for what you want, explicitly because you're looking for a senior developer at junior developer pay.

Junior developers need to be given time to make mistakes and learn. I know a senior developer might seem too expensive for your budget, but hiring a junior developer might ultimately cost more for your project over time. The time that they're going to take to have to ramp up and learn everything is probably going to eat into the time to deliver any sort of product. What I'm saying is that a junior developer is a time and money investment, and sometimes it just pays to hire a senior developer/contractor and have them get the project out.

Anyway... what I would look for in a junior developer isn't whether or not they're amazing at data structures etc. I could really give a rats ass as to whether or not they're able to do something like Codility. What I need to see is that they know at least some basics on how to code, and that they have the aptitude and motivation to learn.

The two most important qualities to me in a software developer is the ability to communicate and the ability to learn. Why is communication necessary, particularly in a junior developer? I need to know that they're willing to swallow their egos and come to someone for help. It's the fastest way to learn.

Hell, I feel like I learned much faster because I was able to swallow my pride and ask someone with seniority for help. It didn't mean that I would run to them at the first sign of a struggle, but if I was burning most of my day doing something that I felt wasn't really going to teach me much, but was causing me to struggle with something - I would go and ask someone senior for help.

hluska 12 hours ago 1 reply      
The interviews were so bad that I ultimately rejected all of the applicants. I also withdrew the position because it was wasting my time.

Maybe you shouldn't hire juniors? Junior devs are an investment and we owe them respect and genuine mentorship. By definition, they will 'waste your time'.

And frankly, if you can't afford seniors, your company's mentorship opportunities will be weak enough that the smart play for truly capable, career minded juniors would be to work elsewhere.

maxehmookau 12 hours ago 0 replies      
When hiring juniors hunger to learn should far outweigh qualifications and raw knowledge in a particular technology imo.

That said, I think there may be a deeper issue here. You want to hire seniors which suggests that your startup _needs_ seniors and the experience that they bring. But you're hiring juniors.

You're going to end up disappointed as you need senior developers at this point.

They're going to end up disappointed as they require senior developers in the team to learn from and grow.

(Perhaps unrelated, I think if you've interviewed 400 people and haven't found someone "good enough", the issue may not be with the candidates...)

seattle_spring 12 hours ago 0 replies      
On the resume, I look for a mix of:

* Technical education (college degree, classes, etc.)

* Hands-on technical experience. This can range from an internship, to just building computers for friends and family. Something that shows initiative.

* Some other work experience, even if it's a cashier at Dominos or a volunteer position at a library.

I avoid resumes of candidates that have degrees but no measurable hands-on experience outside of school. I find students that have gone through high school and college with absolutely no work experience to be entitled and often spoiled. I understand that is not a universal truth, but I've observed it enough to not bother with those candidates.

In the interview itself, I look for candidates who:

* Are excited about the job, learning new stuff.

* Don't have a bad attitude. This can often be evident when talking about your stack. If you have, say, a Java stack, and the candidate makes some offhand comment about how Ruby is so much better, it's a hint about how they'll act on the job.

* Can answer basic questions about the stack they'll be working on. I'm not talking algorithms here. This is mostly to test if they give a shit about the job enough to read up on the details for 20 minutes before coming in for an interview.

lojack 11 hours ago 0 replies      
I would caution you against hiring junior developers.

Typically you hire junior developers for what they will become, and not where they currently are. That means the traits you're looking for is a desire to learn and genuine interest in technology.

If you only have junior developers, they will have a much tougher time learning. They'll never see how software should be built.

There are exceptions. Really simple prototypes is one of them. Some maintenance of existing projects might be another exception, depending on the quality of that project, and the type of work involved. Anything reasonably complicated, I wouldn't expect them to finish, and if they did finish, I'd expect it to need to be rewritten very early on.

If you want to do it right, hire a mid level or senior developer. It's better to have a single senior developer than 5 junior developers. If you're looking to hire multiple developers another choice would be to hire one senior developer and one junior developer. Just don't hire only junior developers.

talmand 12 hours ago 0 replies      
>> Preferably, I would like to hire senior developers instead, but they are too expensive for my budget.

I think you will find you will save money in the long run if you hire senior developers if you actually do require senior-level development skills instead of expecting junior developers to do the same work for lower pay.

8draco8 12 hours ago 1 reply      
First of all I can't believe that there was not even one decent junior dev among 400+. Last year I was in the same position as you but received far less applications (15-20). 3 of them was decent, one of them we employed and he turned out much better than on paper.

Main thing is to give them homework: not more than 2 hours project that they will solve at home and commit to private repo. Make it unique enough to avoid stackoverflow copy-pastes. Do not give them academic problems, ask them to create real world examples. For example: create CRUD that does something specific like file uploads with resize or similar; access unreliable API and do something with it; create calendar that allows multiple tasks per day (UI/UX); scrape data from the website and put it in to DB.

Those are just examples, but they are easy enough to do in under 2 hours and you can test results in under 2 minutes. Out of those 400+ applications, half of them will not even bother spending 2 hours on a task, then in a day or two you will restrict that remaining ones to about 50-60 just by checking results of the task. Rest are just personal interviews. Just remember to write a feedback email even to those unsuccessful applications.

Paul_S 12 hours ago 1 reply      
Why waste time, buy a service like codility and only interview the best couple ones. I don't work for any of those online code tests btw, but they're pretty good for sorting applicants and cheaper than your own time.

Junior developers need to have high IQ and ability to code, everything else you will need to teach them anyway. Keep in mind that if you don't have time to teach them they will not be cheaper than seniors, unless all you need is bums on seats to fool investors or something nefarious like that.

patmcc 12 hours ago 0 replies      
>>Preferably, I would like to hire senior developers instead, but they are too expensive for my budget.

It sounds like you're trying to hire cheap developers, not junior developers.

If you really want junior developers, you have to do a crazy thing; hire people that are actually junior (have very little experience) but have potential. If you'd done that 4 months ago you'd probably have some decent developers right now.

clavalle 12 hours ago 0 replies      
For juniors I look for some background in the area I'm hiring in with some success in that area.

Mainly, though, I look for enthusiasm and eagerness to learn, the ability to communicate clearly, and intelligence. I also look for a balance of self-determination and the willingness to work through a problem on their own but also enough sense to know when and how the to ask the right questions when needed. Finally, honesty. If they've fluffed up their resume that is a red flag.

You are not going to be hiring senior level developers who've misclassified themselves. Juniors are going to take work; there is no avoiding that. Adjust your expectations to that reality and you will have a better chance of pulling in an employee that will do well for you over time.

franciscop 12 hours ago 3 replies      
Maybe you should make the first step a small automated coding challenge? No longer than 1-2h and it's a simple filter.

Finishing the challenge on itself will be the first filter; then you can review the ones who finished it and interview the ones you like most.

BTW if you are looking for a remote web dev (front-end or back-end) drop me a line "public at francisco.io" <= my CV.

baku-fr 12 hours ago 0 replies      
Don't forget that junior developers... are junior. They might not be the best devs in the world yet, but I'm pretty sure they can fit in any mold if you give them the right resources.

In your case, I'd say someone passionate enough to provide good value for the team. Just make sure you don't scare them away by making them feel they might "waste your time" ;-)

lukeqsee 12 hours ago 1 reply      
- A voracious appetite for learning.

- A genuinely nice person.

If I have two things, I'm pretty sure the rest will work out in the end.

rubyn00bie 12 hours ago 1 reply      
I've been in this exact situation and had some real success (and failure)... I think hiring a junior developer who will be great and good for your organization comes down to one thing: how much passion do they have for programming?

If they don't do it on their own, and don't seem interested in programming for their own benefit outside of the job, then don't hire them.

People who are new but enthusiastic and spend a lot of time learning on their own are who you want.

Subsequently, hiring too many junior developers can be a hinderance because there aren't enough people to coach and guide them. It adds technical debt to your organization and makes for a shitty experience for the junior dev. They need help and they need people who have the time to help them. It's easy for junior devs to feel inadequate and suffer in silence.

Finally, ask yourself why don't have the funds to hire a more experienced engineer. It may be a sign of an unhealthy organization or goals which are way too big. I say this from experience and the pain I felt as a result of not listening to my gut and pushing back ferociously. You think firing someone "sucks," try laying off a room of people you know, who you care about, and who have been good to you and your organization... bad goal setting will cause it.

sevensor 8 hours ago 1 reply      
We're a small company in a small town. When we go to hire, we can't afford software developers, period. We can't pay relocation even if they were willing to move here. There's a local university, but we have yet to see a graduate of the C.S. program who was competent, willing to stay in town, and not already hired by one of the area's larger employers. We've made a couple of good hires, none of whom had significant programming experience.

We look for people with analytical backgrounds: engineering or the hard sciences. They have to be capable of independent thought and interested in solving hard problems. That's what we have to offer as an employer: you get to do interesting work and live in a really nice town.

jdavis703 12 hours ago 0 replies      
You need to find an edge. Maybe you can find the no. 3 university in your city and reach out to the top performing students there. You could also try the same strategy with a coding boot camp. What you can't do is just cast a net and expect to find talent. You have to actively recruit the people who fit the profile you need.
abrongersma 12 hours ago 0 replies      
Some of the best engineers(junior/senior) I've found have come from community events. If you're on the hunt for some juniors then I recommend that you get our of your building and go to where the juniors are for the specific area of focus you're looking to hire for. These people have already shown the innovative that they're interested in learning more about that particular field and willing learn outside of the traditional 9-5. You can still run into bad apples, but it will help you look for key traits and behaviors that can increase the odds in your favor for attracting juniors that are coachable, self starters, or show an ability to grow.
kadabra9 12 hours ago 0 replies      
Junior developers are just that - junior developers.

Sounds to me like what you really want are senior developers at a junior developer salary.

dcole2929 11 hours ago 0 replies      
My former company hired interns and junior level engineers regularly. If you are hiring jr devs because you can't afford sr people you are going to have a bad time. Jr Devs require constant attention early on if you want them to ever move pass the junior part. They need the ability to fall on their face occasionally and resources who can't point them in the right direction when they do. But if you can't afford to pay the Sr people your junior people are going to leave right around the point where they start really being a great value(that's 2-3 years in tops).

If you're looking for how to find hidden gems, my best advice is don't bother. Ask them fizz buzz (yes literally fizzbuzz), some basic OO vocab, and have them do an easy design problem. If they have a pulse and can do that, they're probably worth your time. For most devs of any level it's really hard to tell whether they will be valuable additions until you've actually worked with them. For a jr dev it's a pointless exercise. Find someone motivated, who seems like they can learn, and spend time putting in place a framework to make sure they have the tools to succeed.

kagali 8 hours ago 0 replies      
I strongly suggest finding another field more suitable for you.

Perhaps something in the fast food industry.

rovek 11 hours ago 0 replies      
Sounds like your chosen solution (junior developers) doesn't meet your requirement (time- and cost-efficient development).
askz 12 hours ago 0 replies      
* Curiosity

* Take initiatives

* Knows how to learn new things, +/- fast (and loves it)

* Knows when its the wrong way (even if its too late) and turn back

From my little experience, you don't have to do big technical challenges to detect those. But again I have very little experience in the business (5 interns and 1 junior hires)Social habilities are important too, but don't get fooled by those who talk too much

Good luck !

EDIT: formatting

njharman 11 hours ago 0 replies      
Ability to learn. Which means most of: eagerness, humility/humbleness/not believing they are knuths gift to the programming world, communication which at junior level means ability to listen and ask questions, confidence, that they derive Joy from programming/problem solving.
bjpbakker 11 hours ago 0 replies      
What I want to see in junior developers is simply enthusiasm for programming and their ability to learn. Both are easy to spot by having a nice conversation with them and maybe pairing with them for a few hours.

> we had so many applicants (400+) that it was a tough challenge discerning the best candidates

You just want good candidates that fit your company. Then you /make/ them the best by teaching and mentoring them.

> I would like to hire senior developers instead, but they are too expensive for my budget

Sorry to say it but this sounds not like a good place for junior developers. You can't just put them in a senior position and expect results for cheaper payroll costs. They need to learn (experienced developers need to learn too, but juniors even more so).

Danihan 12 hours ago 0 replies      
High SAT / ACT scores lol

With 400 apps you'll need to send them a quickie programming challenge to thin the herd.

agentultra 11 hours ago 0 replies      
You have to realize that hiring a junior developer means you will be spending a good portion of your time and energy on mentorship and compensating for their lack of skill and experience. This is an investment and one well worth making both for the mentee and mentor. You want your senior developers to be spending some portion of their time with the junior developers on your team. If you're not prepared to make this investment don't hire a junior developer: get a competent contractor instead.

If you are willing to proceed the next step is setting up your hiring process. I've used a loose, informal specification for a rather simple program as a take-home exercise. It takes around 3-4 hours to complete for a reasonably-experience programmer and can be completed in any language that the applicant is most comfortable with. When designing this specification I made sure that the language was clear and intentionally left some requirements vague. It is intended to be representative of a typical specification for a low-risk feature or system that you might encounter on the job: a few paragraphs detailing the problem, a description of the API, the inputs, the expected outputs, etc.

What's interesting about using this exercise with junior developers is seeing how they interpret the specification. Most developers out of school aren't trained to think in terms of specifications, requirements, etc. Your junior applicants will typically write some code to start solving the problem. They will skip translating requirements from the specification into tests. They won't think of the bounds on inputs or outputs. Often they will start writing code and implement the first thing that "works" (for some definition of "works").

This is wonderful! It gives you plenty of leading questions when you invite them in for a code review session. A good, naive solution is great. It gives you opportunities to talk about edge cases, tests, assumptions, invariants, performance, etc. The more you can get them to talk the better!

If they seem enthusiastic and are capable of taking a leading question and connecting the dots then you have a great candidate.

baron816 12 hours ago 1 reply      
I really don't know.

But, some advice: if you get 400+ applicants again, just throw out all but ~50 without looking at them at all. That's too many to process, any you're wasting too much time trying for find the "best" ones. Randomly limiting your pool will make it easier to make a decision.

Also, I hope you don't go the traditional interview route (ie white boarding). I think more companies should do a "make your own interview process" where the candidates decide what to show off. Maybe that's walking you through a project, some live coding/pair programming, assessing your product, or a presentation on some aspect of technology (like functional programming, databases, security, etc). The one that impresses you the most wins.

EnderMB 11 hours ago 0 replies      
I agree with the other comments, but in addition, interviewing ten people a day is far too many. Either the interview process was too short to truly gauge a persons ability, or you're stretching yourself so thin that someone would be to be a programming god to stand out.

As others have said, you should create a take-home test for someone to complete on GitHub. Have them fork a repo, pass some coding test, and submit a pull request into your repo. That will reduce the number significantly, and you'll know with some certainty that the person you're speaking to has some basic skill. The interview should purely be an exercise in seeing if they are a good fit, and to gauge where they are in their journey.

alain94040 12 hours ago 0 replies      
You want people who learn fast: you don't have to explain everything three times. It's not easy to detect this during an interview though.

The way I would do it is to focus on side-activities. If a hardware engineer built a website for a side-project, that's a good sign. Anything that shows success outside their expected space. Smart, fast learners tend to pick up random knowledge and apply it quickly and successfully.

People who need hand-holding tend to know their core topic well enough (they spent years in college refining those skills), but are having difficulty learning anything outside those core topics.

torte 3 hours ago 0 replies      
Most comments already get to the point. You can not hire a junior with senior or intermediate level skills.

It seems like you are in the same shoes as me at the moment. What I suggest you to do is to prepare a small test tasks they can do at home. This saves up time for you going through unnecessary extra interview processes and also shows some of their dedication and skills. I am not saying you should not have interviews, but it is hard to filter candidates just by resumes (and you can not have 400+ interviews).

Answering your question, I usually look out for the following:

1. After I sent the candidates the test task, but before they finish it (NOTE: I don't know they progress on it):

- Do they let me know when they have time to do the task (in case they are not able to it immediately) or do they just let time pass by.

- Do they come back with questions if they hit a wall somewhere.

- Do they let me know if they are not able to do the task (for whatever reason). At this point they are obviously out of the process, but they might re-apply at a later time.

- Communication is key at this level of the application process.

2. After I received the results of the test task

- Obviously did they finish the task in a reasonable quality. There are most likely mistakes in it, but this is irrelevant in case the general quality of the result is ok and the solution works as expected.

- The quality also reflects on how much time they spent testing their own solution.

- Did they finish all the sub-tasks (usually I also ask for documentation and tests) or did they just skip those.

- Did they try to find quick and dirty solutions or did they try to implement things properly (and most likely spent more time on it).

The best developer you can hire is somebody who does communicate pro-actively, is dedicated and develops maintainable solutions over "easy" ones. How much time they spent on the task and how proficient they were with the tools at hand (programming languages/frameworks) is not relevant in my opinion. If they were unfamiliar with the programming language for example and they spent the time during that task to learn part of it and delivered a proper solution with it, they got all my respect and I would be very likely to hire them.

You will also have to spent time reviewing the test task results, but I think this is less time-consuming than interviews. More than half of the candidates will probably jump off before you even see the results. For the other half you will learn how to distinguish a good from a bad solution quickly.

sploosh 7 hours ago 0 replies      
You get what you pay for! If you can't afford senior developers, get someone you can train that can listen and has an ability to hone coding chops. Take on an intern, or maybe a contractor... as a matter of fact, why do you look into having a recruiter do this for you??
gargarplex 12 hours ago 0 replies      
Find someone who codes for a hobby and have them show you a portfolio. Prove they can get things done. Who cares if they leveraged the internet for assistance? It's part of getting things done. Who cares if they don't know CS concepts? You're going to review all their code anyway.Most importantly, find someone who you enjoy spending time with and will enjoy investing mentoring hours into.

Another approach: break your backlog into piecemeal tasks and hire senior freelancers to do fixed work for fixed costs.

ditn 11 hours ago 0 replies      
I actually wrote about this fairly recently, although it's aimed squarely at Android developers: https://proandroiddev.com/what-i-look-for-in-a-junior-androi...

tl;dr: I want someone who is excited by the platform and has shown a willingness to learn, as well as some autodidactic tendencies.

cirgue 11 hours ago 0 replies      
Junior devs are a radically different value proposition than senior devs. You have to turn them into good developers, they will all look like garbage on paper if you are expecting someone who can walk in and do the job. Curiosity, tenacity, demonstrable coding experience (even if it's side projects), and interests/hobbies outside of tech seem to be the best predictors for us in hiring juniors.
user5994461 11 hours ago 0 replies      
Use HackerRank. Make a test that require them to write a program to print numbers from 1 to 10 then from 10 to 1.

That should filter 2/3 of the candidates.

tyingq 12 hours ago 0 replies      
>Preferably, I would like to hire senior developers instead, but they are too expensive for my budget.

This feels like a red flag. Do you have existing, more senior, people that can oversee the work? If so, perhaps that's a valid trade-off. It won't reduce the overall cost though, just the monthly burn. More junior means slower delivery, or less quality. There's no free lunch.

allworknoplay 12 hours ago 0 replies      
Smart, curious about code quality, no ego, hungry, and at least moderately experienced with the languages they'll need to use. You can't afford someone you need to spend months training and can't risk someone that has to break bad habits they learned cowboying shit. Vet that they're hungry to get good and smart enough to eventually be good.
vcanales 8 hours ago 0 replies      
TL;DR: Junior Developers != Cheaper Developers.

You have to put time and money into training them; it's a responsibility more than an easy buck.

eksemplar 12 hours ago 0 replies      
I've hired quite a lot of programmers over the years, but I'm Danish, and around 95% of our junior applicants and 100% of the people we interview come with a relevant degree (2.5-5 years) because of our free education system. So it may be a tad different in the US where a lot of people are autodidact.

Basically I look for the following things.

* Do I think the candidate has the capacity to learn. Every hire we've taken straight out of college has been fairly useless for the first 3 months. They typically know how to write software, but they have no idea how to do it in an actual production setting. We've had hires who couldn't publish and deploy a simple asp mvc site to an IIS for instance. I typically judge this by what projects they've done during their education (and their free time) and what sort of roles they've filled in those projects.

* Does the person have the minimum technical skills required to learn. I don't care if you can write a double linked list on a whiteboard, but I do want you to be able to do simple things, know about best practices and preferably things like SOLID. We'll typically ask what people think about test-first-development as an example, and we'll try to provoke an answer that doesn't come from a text book to see whether or not they actually have an opinion and knowledge on the matter or they're just telling us what they think we want to hear.

* Do I think the candidate is capable of failing, accepting responsibility for the mistake and learning from it. It's perfectly fine to screw up, we all do it, but people who don't admit when they do it are dangerous.

* Communication skills. I need candidates to be able to explain what they are doing to their grandmothers without getting angry. Both because the business end won't understand otherwise but mainly because politeness and a well mannered temper is more valuable than gold.

* Do I think the person will be a strategically good fit in the team.

* Does the team think the person will be a good fit.

* Does it seem like the candidate wants to work for us. The best employees are the ones who value and take pride in their work. I don't want people to be blind zealots, but I want them to be able to tell their friends they're making a difference.

Often we end up with a few who are strong technically and a few who are strong in personality and willingness. We always go with the latter. Obviously I can't tell you about what we've missed out on, but I can tell you that we've always had successful hires which is pretty important, because the most expensive you can make as a manager is hiring someone who doesn't work out.

rhodysurf 12 hours ago 0 replies      
Look for applicants who have gotten involved in technical projects and clubs in college. Thats always where we find our best interns.
jononor 9 hours ago 0 replies      
Curiousity, willingness to get hands dirty and ability to be introspective.
hitgeek 12 hours ago 0 replies      
ask them to do a small sample project. something that takes maybe 4 hours, and demonstrates the type of skills you are looking for. give them about a week.
alex_raul 11 hours ago 0 replies      
By far the best quality is being a quick learner.
forgottenacc57 12 hours ago 0 replies      
Find a smaller number of experienced people.
Ask HN: How do you find clients when you have no network and can only do remote?
343 points by penpapersw  1 day ago   114 comments top 35
gk1 1 day ago 2 replies      
I wrote about how I learned to get consulting leads: http://www.gkogan.co/blog/how-i-learned-to-get-consulting-le...

TL;DR - Decide who is your ideal client. Identify their 1) common pain points and 2) which online communities they participate in (may or may not be HN). Write advice that will help them with their pain points, and share it in those communities. This will in effect advertise that you know how to solve their problems. Don't be too modest to say you're available for consulting projects, and make it easy for people to contact you.

PS - As someone else suggested, you may want to add your contact info here. There's a big overlap between people who browse HN and people who need and have the budget/authority to hire contractors.

Brajeshwar 1 day ago 5 replies      
There are pretty good Remote Job sources these days, try them. There are quite a bit of contract works too, which you can start off with. Also, do not forget to walk into your area's agencies, they usually work with freelancers/contractors.

- https://www.workingnomads.co/jobs

- https://remoteworkhub.com/remote-jobs/

- https://www.crossover.com/

- https://remote.com/

- https://weworkremotely.com/

- https://getbetterluck.com/ (one of our own internal tool)

aresant 1 day ago 2 replies      
I would immediately update your posting with a CV, website, git, whatever.

You are on the front page of arguably the PREMIER network of people with access / need for technologists.

wtracy 1 day ago 5 replies      
The problems with Upwork and Freelancer, while significant, are regularly blown out of proportion. I don't recommend them for more than finding short gigs when you're in a pinch, but they are useful for that. Do be prepared to lose a lot of jobs to bidders from the third world. Take advantage of anything that you can use to differentiate yourself.

Also, get a stack of business cards and start going to local business networking events. Look up the local Chamber of Commerce, search meetup.com, and see if your county has any small business development classes or lunches you can attend.

That's my short-term advice. I'm still trying to figure out what to do in the medium- and long-term myself.

Y7ZCQtNo39 1 day ago 0 replies      
I think the biggest thing you can do is establishing credibility with potential clients. The easiest way to do that would to be an existing set of clients, which you don't have. That's fine, everyone has to start from somewhere.

Your clients could or could not know much about the software development life cycle, and how to evaluate if you have the skills to meet whatever needs they may have. Perhaps you could network with existing freelancers who are too busy to take on new clients.

Spitballing here, but maybe working on or creating an OSS project could give you credibility to those freelancers. Or maybe you could work under a successful freelancer to establish yourself in the space. Maybe the site you built will lend you credibility to others.

Alternatively, if you have business ideas you'd like to try out, you could try working for yourself and creating your own income. Also, it doesn't hurt to sign up for LinkedIn. It might not be immediately beneficial, but once you find your first client, maybe they'll write you a glowing review.

> having worked remotely for the past 5 years has really limited my ability to build a network. I don't have LinkedIn and even if I did, it's more meant for building a network than for finding a quick gig.

Yeah, it's hard to build a network. Time to start putting in the effort. I sense a tinge of can't-do attitude here (but obviously, the tone interpreted in written communication is subjective) -- I don't know if it's the case or not, but a can't-do attitude is not what you want to have for freelancing work. Your lack of a network, or having an expansive one, is ultimately the result of your personal decisions. You have to be willing to give it a shot. If networking sounds not fun, or like a chore and otherwise unpleasant, you're probably better off just working for a big tech company. Personal skills are far more important in freelancing and entrepreneurship when compared to standard full-time employment.

Best of luck. Now go out there and kick some ass.

goodroot 1 day ago 1 reply      
While it may not fill an urgent need, have you considered finding a comfortable and stable remote job? Hackernews 'who is hiring' is a great spot; weworkremotely.com, remoteok.io.

You seem to have experiences, which is excellent. In the short term, if you're in the throes of an emergency, perhaps get some help from love ones while you get your feet back on the ground.

Looking for a project under stressful circumstances feels like it might create an uncomfortable environment to do good work and sustainably remedying what you're going through.

Good luck, whatever route you choose!

thibaut_barrere 1 day ago 0 replies      
This will not help the OP immediately, but for anyone to avoid this situation in the first place, there are a number of techniques (some quite easy) that can help, described in this article I wrote:


More short term, I would definitely try to find a single gig, maybe via some subcontracting or via sites like toptal, just to build some runway and to make sure the techniques described above have enough time to bear fruit.

ShirsenduK 21 hours ago 0 replies      
I was a freelancer with no network 10 years back. I used to get cheap projects and some crappy clients. Some 5 years back, I got to work at a startup (luck and my relentless application to jobs did the trick). I had to move away from my hometown. Remote was _not_ an option. We got bought by LinkedIn and I was an engineer at LinkedIn. That blew my network up! I get remote work offers in my hometown.

In my experience, face time matters if you are from place no one knows about. There is a reason most engineering talent is in and around Silicon Valley.

I am not sure about github or other technical profiles as the people who make the decision of hiring you never visit github or understand code. I am taking about the CEO of a small company who will hire you and not the cool SF startup that we read more often.

Companies want to reduce risk, remote increases it because of the unknowns. If I were you, I would again start with upwork and similar freelancing sites. The shady things you hear are distractions and everyone has a different experience. There is a reason the upworks of today still exist and are doing business.

I wish you the best! :)

forgottenacc57 15 hours ago 0 replies      
You need RFC1149 networking https://www.ietf.org/rfc/rfc1149.txt
csomar 18 hours ago 0 replies      
In a short time? Forget about it. No one who doesn't know you first hand will engage you in a $10-20k contract. Let alone the fact that there is such a position available on short notice.

So your options are really limited: Credit card debt? Family debt? Low paying jobs?

In the longer run, there is no way around building a network. If you want high quality work, you have to build a network. It's like some guy coming to a big city and want to hit the high-end clubs, meet with high-quality people and get back home with a 9/10 girl to sleep with. Not gonna happen.

He's probably going to fail at entering the clubs (first step) and then blame it on the clubs having bad policies and stuff. If you want high paid work, you have to establish yourself first.

Establishing yourself in a certain market/niche take years of hard work on establishing yourself. It can happen on different dimensions and will depend on your style (blogging? Forums? Conferences? How about writing a book? Contributing to a popular open source project? How about becoming a main contributor of a popular open source project?).

Good luck. Tough times but I'm pretty sure you'll come out of it and it'll shape your perception down the road.

throwawaybbq1 16 hours ago 0 replies      
If you need to make money right away, I strongly suggest you reconsider upwork (don't know the other sites you mentioned). I know a friend who worked on it as a dev. I use it as a client. The money from initial contracts might be bad, but it has the potential to turn into a more lucrative deal with a particular client (if you prove your value). This is a great way to build up experience as a consultant .. you can then say you worked as a consultant for X, Y, Z big name brand. Here is the thing .. pick your customer carefully. You want to make sure you are working with a customer who is as tech savvy as you. I work in deep tech so was able to communicate very effectively with my upworker, we were able to estimate things similarly, etc. I have seen postings on other free lance sites where someone wants you to build a highly scalable version of twitter for 50 bucks. You want to be able to avoid those people.
Overtonwindow 1 day ago 0 replies      
I am in the same boat, albeit a completely different field, still it might help. Have you considered becoming a news and information resource for nonprofits, trade associations, and small businesses? I am a lobbyist and grassroots advocacy manager. I work from home, have no network, and limited ability to do so. I stumbled on to some schools that were interested in public policy, and laws. I rang one of them up and offered to monitor the law and legislation for them, and let them know when things came up that they might find interesting. Very low price, about a grand a month. That one school told someone else, and now I've got four schools. Just enough to pay the bills and eek by. I focused on keeping the price way down to entice people, make it up in volume.
eldavido 1 day ago 0 replies      
I work with hotels. They face the same problem (how to get customers). There are basically two approaches: either pay someone a commission, or build a brand.

Building a brand is hard, it takes a long time, but it's worth a lot and is monetized over time.

Paying someone means accepting you're going to pay 10-15% or whatever price to someone like 10x consulting or some other sort of agency to find you work. This can be the right option if you aren't in it long-term or just plain don't want the hassle of brand-building.

tomcam 1 day ago 0 replies      
You know how to develop iOS apps. Can you think of any company that has an iOS app you could do better? How about contacting them with suggestions and a gallery showing the apps that you have already written
ssijak 19 hours ago 1 reply      
Try getting into Toptal https://www.toptal.com/#connect-unmatched-coders-now It is good for both clients and freelancers because Toptal screens both for quality. I am there as a freelancer for half a year and am satisfied. It feels like they are looking after you, and you can pick and choose what you want to work on and how much. They will try to match you with the clients, or you can pick jobs, but they will never force you to do anything. And there is nothing like screen recording and tracking like in Crossover. Also, I would never work on Upwork or similar network where everybody can say about them what they want and bid on whatever they want (with low prices).
elektor 1 day ago 1 reply      

I've had a few coding tasks completed by Redditors on this subreddit.

Uptrenda 1 day ago 0 replies      
I don't know how helpful this will be OP: but thinking about problems in your domain and writing about your solutions is a good way to establish competence. It's the difference between organic leads vs active advertising. The former has the client coming to you and the latter has you chasing the client.

Which of these do you think works the best? In my experience its the former by far (all of the people who have sought me out had the most reasonable and interesting project.) But I do understand that in the beginning you're going to have to grind to get anywhere (share your work where ever you can) which means putting in A LOT of unpaid hours doing research and development for new stuff. It's worth it though.

If you keep working on your portfolio and learning new skills then you will never have to look for work again. Just think of the security that would bring: To know that if anything happened to the company you're working for (or you get fired) you can sign a new contract the very same day. Would be amazing for most devs... But in my experience this can only happen if you specialise.

The problem is, there is too much competition for the skills you listed. As an example, if you were to learn some skills in say - big data or AI then you would be much more competitive. I know that's a big ask but one thing I think is true about the tech industry is that anyone can succeed if they put in the effort. In the end its a meritocracy, so the good developers quickly go to the top and the bad ones are weeded out... Remember companies ARE looking for good developers all the time, you just have to make yourself heard and do something worth showing (this doesn't necessarily mean applying to a company. Get creative. There are a lot of ways to stand out)

Good luck OP

lukaszkups 21 hours ago 0 replies      
I had similar problem while ago. I've decided to leave my previous workplace and search for a new one full-time.

I was applying to both remote and office-based offers, but only in my location (which suffers from lack of good job offers currently-most of them are dedicated for students with low payment).

It took me 2months to finally land in a new workplace)and it is remote which was my very dream form of working-I've done some remote freelance in the past and loved it)

I've applied to dozen job offers, most from LinkedIn, some from remote portals mentioned by other users in this thread.

In the end I've got a job from a job offer that was on stackoverflow, so maybe check there because I don't see anyone mentioned this as a source of job offers.

Keep on trying, as You can see it won't magically come to You without any action. Good luck!

stan_hn 5 hours ago 0 replies      
The best alternative to upwork.com is http://www.xbtfreelancer.com/?ref=40081 . There are many jobs there which requires your skills. Check it out.
noufalibrahim 23 hours ago 0 replies      
There are several suggestions on how you can get an immediate gig here.

I have something else to add. Once you do get a gig and start on it, budget some time and money to grow your network. There's no real substitute for a real circle of influential and well connected contacts in my experience. Perhaps attend conferences related to technologies that you're interested in, participate on online fora (mailing lists, stack overflow etc.) to help people with their problems in exchange for visibility, get a linkedIN profile, go to local user group meetups (or atleast attend nearby ones less frequently if you're in a city that doesn't have many such groups).

Good luck!

rrherr 1 day ago 0 replies      
You could be a mentor in an online bootcamp. For example: https://www.thinkful.com/apply/

It's flexible part-time remote work, and you don't have to find clients yourself.

Mz 1 day ago 3 replies      
Potential alternative to Upwork that sounds better:http://gigworks.blogspot.com/2017/04/moonlight-work-for-soft...
kqr 18 hours ago 0 replies      
Not sure what you mean by "network", but have you tried reaching out to businesses you truly believe you could help? Remember that work is a two-way deal. There are millions of small businesses with crappy technology. If you explain to them specifically how their business will improve from employing you to improve their technology, they'll listen.
notfried 1 day ago 1 reply      
Many years ago I did just that on Elance (now Upwork) and RentACoder (now Freelancer.com). I started with a couple of jobs in below the $100, then some below the $1,000, and then some in the low thousands. Striving for excellent ratings is key.
mitchellbryson 1 day ago 0 replies      
I used to search for freelance gigs amongst the remote/full-time job boards. I wrote about it here with some of the list: https://medium.com/webuildevery-com/find-5-freelance-design-...
atemerev 1 day ago 1 reply      
One advice: you promised to make messages on affluentconfidante public at July 17th, but you didn't. I understand that there are still no messages there ;) But you need to do something about it. Maybe postpone the date. [I know the hunger and trying the get-rich-quick ideas; used to do it myself all the time].

Meanwhile -- can you do canvas/d3/realtime charting type of stuff?

jfmandroid 1 day ago 3 replies      
Try https://toptal.com

Once you pass their screening process, you will get jobs in one or two weeks

navya1089 21 hours ago 0 replies      

I would suggest you to have a LinkedIn profile and update it regularly and start building the network now.. It is never too late.Meanwhile, for the job which you cannot wait for, there are many remote job portals like remoteok , weworkremotely , remote.co ,remotive, workingnomads, WFH.IO ,dribble etc which you can try .. But I would suggest you check angellist (angel.co) which offers jobs from mainly startups all over the world.

Another tip : Apply to local companies which are offering full time jobs , attend the interview and try to convince them to offer you a work from home based role ( It might work out, you never know).

Hope you find a suitabLe job real soon.

All the best ! :)

edem 18 hours ago 0 replies      
Maybe you want to try [teamed.io](http://teamed.io).
imnotlost 1 day ago 0 replies      
How about contacting a consulting agency such as http://www.tripleco.com/find-tech-jobs/ or similar agencies?
MarkMc 22 hours ago 1 reply      
What shady things does UpWork do?
forgottenacc57 15 hours ago 1 reply      
Where the heck in the world has NO networking?
bdcravens 1 day ago 0 replies      
Codementor/HackHands seem to be good options.
kevinburke 23 hours ago 0 replies      
I write a lot and post the results to places with lots of visitors, and I watch the job board in a few different Slack channels and reach out to people seeking help.
throwawayxyz709 1 day ago 1 reply      
The internet?
Ask HN: Best-architected open-source business applications worth studying?
289 points by ghosthamlet  1 day ago   87 comments top 32
berns 1 day ago 3 replies      
Meta: So far (23 top level answers) we have: Nginx, Git, Guava, Photoshop (?!), Discourse, OpenBSD (and: other BSDs, Plan9, BSD tools, Linux, LLVM/Clang, WebKit, Chrome, Firefox, Quake 1-3, Doom 3, CPython, TensorFlow), Hashicorp's tools, Redis, Mysql, Postgresql, Apache HTTP server.

Wasn't the question about business applications?

Redeeming answers: ERPNext, Odoo, OpenERP, OpenERM

elorm 1 day ago 4 replies      
Nginx and Git.

Nginx has a lot of respect on the market for handling high concurrency as well as exhibiting high performance and efficiency.

I don't even have to speak about the Git architecture. It speaks plainly for itself.

There's a series of books called The Architecture of Open Source Applications that does justice to this topic


yodon 1 day ago 3 replies      
There's been a good deal of academic work on architectural differences between open source and closed source applications (basically resulting from the differences in the organizational structures that designed/built/grew them ala Conway's Law). Observations for example include reports that closed source applications tend to have more large scale API classes/layers, because there is a management structure in the designing organization that can herd them into existence, while open source projects of the same size and complexity tend to have a less centralized architecture, again reflecting the organizing characteristics of the developers involved[0].

None of this is arguing that one or the other style of architecture is "better" per se, but rather the architectures are different because they were in the end optimized for different kinds of development organizations.

Most business applications remain fundamentally a three-tiered architecture, with the interesting stuff today tending to happen in how you slice that up into microservices, how you manage the front end views (PHP and static web apps are pretty different evolutionary branches), and critically how you orchestrate the release and synchronization/discovery of all those microservices.

(None of which is directly an answer to your question, but is more meant to say that lots of the most interesting stuff is getting harder to spot in a conventional github repository because much of it is moving much closer to the ops side of devOps)

[0] http://www.hbs.edu/faculty/Publication%20Files/08-039_1861e5...

rushabh 1 day ago 0 replies      
Checkout ERPNext (https://GitHub.com/frappe/erpnext). It is based on a metadata framework (Frappe) that lets you build by configuration, so complexity can be handled much better.

Frappe also lets you build extensions (apps), add hooks to standard events, has a built in RESTAPI and more. Here is a quick overview https://www.slideshare.net/mobile/rushabh_mehta/frapp-framew...

Disclaimer: see my bio

jph 1 day ago 1 reply      
Spree is an open source e-commerce solution. IMHO has good architecture for learning.

Spree has a clean API, clear models, front end and back end, extensions, and command line tools.


Especially take a look at the models:


dustingetz 1 day ago 0 replies      
http://www.aosabook.org/ - I actually did not get much out of this book, i felt my time was more efficiently spent studying languages and databases.

But this chapter is great: http://www.aosabook.org/en/500L/an-archaeology-inspired-data...

ctrlrsf 1 day ago 0 replies      
For an OSS business application, Rundeck (http://rundeck.org/) is very polished and has a clean architecture. The concepts for setting up jobs, schedules, ACLs, etc, is clearly thought out and flexible.
taude 1 day ago 0 replies      
By business app, I'm interpreting as something that might be a a basis for writing an enterprise application or an application that might be used by enterprise and not the infrastructure-type of stuff I see posted below like NGINX, Git, etc...

Something that's expandable by multiple departments, expandable business-specific logic, modular, plug-in infrastructure, the ability to work with multiple authentication schemes, etc....

Take a look at Liferay Portal: https://github.com/liferay/liferay-portal/

Edit: fixed all my typos.

nXqd 1 day ago 1 reply      
neves 1 day ago 0 replies      
There is a nice site site about this subject:The Architecture of Open Source Applicationshttp://aosabook.org/en/index.html
Top19 1 day ago 0 replies      
Two I am familiar with are OpenERP and OpenEMR.

OpenERP, now Odoo, is written in Python.

OpenEMR is written in PHP. It dates from a while ago, but has been mostly updated to the latest PSR standards.

Might also try OrangeHCM, but not sure what those guys are doing these days.

pixelmonkey 1 day ago 2 replies      
One of my favorite "open source architecture" essays is on Graphite:


It's part of the book, "Architecture of Open Source Applications", which has many such essays. This one is freely available -- and quite good.

Graphite is used for the business purpose of simple & fast real-time analytics for custom metrics inside an organization. It was built inside Orbitz and is now widely used at many startups, including my own.

Graphite is now a vibrant open source project with a community around it here:


albertzeyer 1 day ago 2 replies      
I'm not exactly sure what is meant by business. Commercial successful?

Anyway, here are some projects which I can recommend by its source code:

* OpenBSD. Also the other BSDs. Plan9. And the BSD tools. Linux is a bit bloated but maybe it has to be. I don't recommend the GNU tools.

* LLVM/Clang.

* WebKit. Also Chrome. Firefox not so much, although maybe it improved.

* Quake 1-3, as well as other earlier id games. Really elegant and clean. Also not that big in total. Doom 3 has become much bigger in comparison but again maybe it has to be.

* CPython. Anyway interesting also for educational purpose.

* TensorFlow. Very much not Theano.

I really enjoy reading the source code of most projects which I used at some point. Some code is nicer, some not so nice, mostly judged by how easy it is to understand and how elegant it seems to be. In any case it really is rewarding to look at it as you will gain a much better understanding of the software and often you will also learn something new.

steedsofwar 1 day ago 0 replies      
Amongst the other great suggestions you could also have a look at Redis (https://redis.io)
bradgnar 1 day ago 1 reply      
Applications dont really need to be well architected until they are hitting scale. Then the parts of their system that need to relieve pressure will need to be re-architected. This is almost like a case study and there are a lot of good talks on youtube from places like dropbox and facebook that explain the problem and solution. Example: https://www.youtube.com/watch?v=PE4gwstWhmc

If you dont want to do youtube case studies there are also books to read about distributed systems. Also reading about cloud architecture can help.

NKCSS 1 day ago 0 replies      
As far as I know sqlite has the reputation of being great (mostly for the test coverage and sheer amount of unit tests).
scarface74 1 day ago 0 replies      
From a usability and installation experience, Hashicorp's tools. One very small executable for each of their products that work as the client or server, a simple command to join them in a cluster, and reasonable defaults and the ones I've used work well together.

The learning curve to go from I've never heard of them to reading about them, to installing them and using them was very small at least for Consul, Nomad, and Vault.

austinl 1 day ago 0 replies      
For iOS engineers, I'd recommend reading over the Kickstarter iOS application (https://github.com/kickstarter/ios-oss).

They use a lot of interesting stuff, like FRP, lenses, etc.

rrmmedia 1 day ago 0 replies      
Check out ERPNext written in python https://erpnext.com
cerisier 1 day ago 0 replies      
I find Apache Spark to be exceptionnaly well written and easy to read. (in Scala). https://github.com/apache/spark
chw9e 1 day ago 0 replies      
Artsy has a bunch of Open Source applications that are interesting to check out, especially for those interested in mobile apps https://github.com/artsy
kfk 1 day ago 0 replies      
Airbnb Superset. It's not mature yet, but it's enterprisey enough and the code is clean.
williape 1 day ago 0 replies      
Photoshop: http://www.computerhistory.org/atchm/adobe-photoshop-source-... Not open source but one of the most commercially successful and one of the best architected. Original source code now available via Computer History Museum.
slackingoff2017 1 day ago 0 replies      
If libraries count, Google Guava has some of the most impressive code quality I've ever seen
kawera 1 day ago 0 replies      
PostgreSQL and Apache HTTP server.
unixhero 1 day ago 0 replies      
I would say:


jackmott 1 day ago 0 replies      
patwalls 1 day ago 0 replies      
marknote 1 day ago 0 replies      
Has anyone mentioned SQLite?
sidcool 1 day ago 0 replies      
Shameless plug, but Bahmni and the Go CD open source projects.
alfiedotwtf 1 day ago 0 replies      

"On January 16, 2008, MySQL AB announced that it had agreed to be acquired by Sun Microsystems for approximately $1 billion"


Edit: sorry, missed the question entirely. I thought OP said "open-source businesses worth studying"

Ask HN: HNers who got their Show HNs on homepage, how is your site doing now?
265 points by superasn  1 day ago   186 comments top 74
bwang29 1 day ago 11 replies      
Submitted my Show HN 1075 days ago (https://photoeditor.polarr.co/), for a WebGL photo editing tool, now has turned into a startup with more than 10M users.
gnicholas 1 day ago 5 replies      
I did a Show HN back when I was still a full-time corporate lawyer, and BeeLine Reader was just my side project. Much to my surprise, my post garnered over 700 points and was at #1 for the better part of a day. A HN-ranking site had it as the 9th-most popular Show HN ever, at the time (2013).

Almost four years later, we've raised a couple hundred thousand in equity and grants (mostly the latter, happily), and I'm working full-time on it. Equity is from Intel Capital and grant awards are from Stanford, The Tech Museum of Innovation, and NewSchools Venture Fund (a nonprofit backed by various SV family offices).

I will say that there is lots of luck in where posts end up. My second post about BeeLine Reader when we released our Chrome extension hardly got any attention. This was a big surprise, given how popular the (very alpha-version) bookmarklet had been.

original post: https://news.ycombinator.com/item?id=6335784

current website: http://www.beelinereader.com


We're looking for a rails dev and a dev with PDF experience, BTW! Email developers@ ..

rwieruch 1 day ago 1 reply      
222 Days Ago - Show HN: The Road to learn React Build a Hacker News App on the Way [0]

The book [1] was downloaded by 9600+ people by now. It is an open source book that gets continuously improved. You build an React.js application along the way and transition smoothly from JavaScript ES5 to JavaScript ES6. It teaches the fundamentals of React without any tooling or Redux. Afterward you are ready to go to build your own React applications.

I must say I never expected this amazing reaction from the community.

- [0] https://news.ycombinator.com/item?id=13170837

- [1] https://www.robinwieruch.de/the-road-to-learn-react/

jastr 1 day ago 2 replies      
CSV Explorer, 4 months ago (https://news.ycombinator.com/item?id=14043527). It's a tool to open CSVs that are too big for Excel. It hit the homepage, but many comments were "I would never trust my data in the cloud" or "Why doesn't everyone use Python/Pandas/SQL".

Paying customers now include consultants, journalists, realtors, insurance companies, and others! There are few developers who use it because it saves them time, but they're the exception.

bbx 1 day ago 6 replies      
I had 3 of my "Show HN" hit the front page. I have stats about 2 of them. They had a huge spike at the start, but the current traffic is more correlated with SEO and backlinks rather than the initial influx of visitors.

My actual most visited website is one that has hit the front page, but not because of my "Show HN".

[1] http://jgthms.com/web-design-in-4-minutes/

[2] http://cssreference.io/

[3] http://htmlreference.io/

[4] http://bulma.io/

jboggan 1 day ago 0 replies      
3 years ago I tried to launch my Bitcoin options trading platform (or at least the paper-trading version of it) with a Show HN post which did briefly reach the front page. I got 0 signups and mostly a lot of comments about how the landing page was so ugly and using an outdated Bootstrap that they wouldn't consider using it. As a backend dev that was a revelatory experience and I appreciated the honest feedback after my hurt feelings recovered.
gkoberger 1 day ago 5 replies      
Great! I launched ReadMe 2.5 years ago as a Show HN (https://news.ycombinator.com/item?id=8422408), then did a Product Hunt launch (https://blog.readme.io/product-hunter-becomes-the-hunted/), and got into YC a few weeks later. Having a good launch was something we could point VCs to.

We got some awesome customers (including some big names) from our HN launch, and it kickstarted out growth. If I remember correctly, we finished out the week at about $4k MRR... nothing compared to now, but at the time it felt awesome to be making money.

We've come a long way since then, but our Show HN was a great way to kick things off!

errozero 1 day ago 2 replies      
I submitted my Acid Machine site in 2015, it's a web based synth and drum machine app. I didn't expect much to happen, just wanted to get a bit of feedback. It ended up featuring on a few high profile music sites and for the next week it got 70,000 users a day. I didn't post it anywhere else so it all originated from HN in some way.

Since then I have released version 2 which has the ability to add fx to the instruments, use MIDI devices and lots more. It gets a few sales a week with traffic still coming from those music sites.


espitia 1 day ago 1 reply      
1124 days ago I submitted my first app - Habit Streaks.

Over time I got 60k+ downloads and sold it for $8.5k :)!

Original link: https://news.ycombinator.com/item?id=7950866Story: http://www.germanespitia.com/habit-streaks

westoncb 1 day ago 3 replies      
I messed up my wrists from typing/mousing too much a number of years ago, so I spent a couple years working at a grocery store while building a new kind of text editor meant for efficiently writing code with motion sensors (e.g. Leap Motion, Kinect). It made it to the front page here, which was an interesting experience, but my end game with the project was basically, "get far enough, post to HN and the world will see how cool this is, and somehow you'll be able to continue working on it"and that did not materialize.

Project: http://symbolflux.com/projects/tiledtext [video]

Original Show HN: https://news.ycombinator.com/item?id=5306155

daveid 1 day ago 0 replies      
Mastodon first got on the frontpage 292 days ago, then a second time 203 days ago (https://joinmastodon.org). Federated network now more than 2,000 servers, 720,000 users, GitHub repository closing in on 10k stars. Pretty happy with that!
sytse 21 hours ago 1 reply      
Did an ask HN in 2012 https://news.ycombinator.com/item?id=4428278 Now GitLab is a 170 people company https://about.gitlab.com/history/
endymi0n 1 day ago 1 reply      
899 days ago - Show HN: JustWatch Choose your favorite streaming providers and see whats new

By now largest streaming search engine in the world at Alexa/Similarweb Top ~#4700 global with around 12 million unique visits per month. Not too shabby all around.

Launch post: https://news.ycombinator.com/item?id=9005641

archildress 1 day ago 0 replies      
A project I'm working on, Gridmaster, hit the frontpage of HN back in November. The traffic and mailing list signups were nice, but the product feedback we got was way more valuable.

It helped us realize that a web-based version of our "CodeAcademy for Excel" product wasn't going to cut it. We built an integrated version that actually lives inside of Excel and won a contest with Microsoft.

I talk a little more about what happened here:


mxstbr 1 day ago 2 replies      
While not technically a "Show HN", 576 days ago @tilt submitted my react-boilerplate to HN. (https://news.ycombinator.com/item?id=10794502) The submission garnered a bunch of votes and was on the frontpage for a good 20 hours.

The project went from 50 to 550 stars overnight, eventually reaching 3,000-something stars when the hype died down. (it's now at ~14,500 stars and growing)

That submission kickstarted my career. Among other things it led to me speaking at over 20 international conferences, to being featured in Forbes Austria and to the privilege of being employed as a full-time open source developer. (which eventually led to the creation of styled-components)

I wrote a bit more about my journey on my blog a while ago too in case you want the longer version: https://mxstbr.blog/2016/12/a-dream-come-true/

It's been an awesome ride and I wouldn't be where I am without HN!

bharani_m 21 hours ago 0 replies      
I did a Show HN for Resumonk back in 2012: https://news.ycombinator.com/item?id=3934370

I was in college then and found making a well formatted resume a huge pain when I was applying for internships. I met my Co-Founder also via that particular post, and went full time on it after passing out of college.

We are bootstrapped, pay ourselves well and work remotely. Not sure if that qualifies as a 'big' success, but we receive these kind of comments from our users that make us super happy - https://www.resumonk.com/testimonials

welder 1 day ago 1 reply      
Project 1: https://wakatime.com/

Show HN Link: https://news.ycombinator.com/item?id=6046227

Status: Still growing, almost 100k users, vibrant leaderboards

Project 2: CLMapper Chrome Extension (https://chrome.google.com/webstore/detail/clmapper/omonmigal...)

Show HN Link: https://news.ycombinator.com/item?id=4324884

Status: Unmaintained. Reached peak of over 4k users, now under 2k and decreasing

oldboyFX 1 day ago 1 reply      
995 Days Ago - Show HN: A database for browsing and discovering movies (https://news.ycombinator.com/item?id=8547351)

It was on the homepage for around 24 hours I think. We had ~500,000 unique sessions during the first month after the launch. Hacker News played a big part in that.

We stopped actively working on the project, but it's still being used by more than 100,000 people every month.

I wrote a little case study about the whole thing here - http://codetree.co/case-studies/movieo

titel 1 day ago 5 replies      
Submitted a Show HN two days ago: https://news.ycombinator.com/item?id=14822897

Not even one upvote though. Do any of these posts get on the homepage organically?

LE: 2nd (and last) try: https://news.ycombinator.com/item?id=14841172

Jack000 1 day ago 1 reply      
(oldest first):






A few of them rank on google and get consistent traffic. There's definitely a lot of randomness in getting to the front page. If I were to do it again I think I'd collect emails or have some kind of plan for the traffic.

Scirra_Tom 1 day ago 1 reply      
Construct 3 - Game editor in the browser:



Subscribers increasing slowly but steadily. ShowHN didn't lead to any direct sales as far as our reporting shows but doing a "ShowHN" is something of an internal milestone for us and the comments have been interesting a good motivational boost. Hopefully have more to Show HN in the future!

michaeloblak 6 hours ago 0 replies      
Submitted https://sheetsu.com 673 days ago (https://news.ycombinator.com/item?id=10251686). Hit home page and stayed in the 2nd position for couple hours.I got 12,715 visitors in a week when it was submitted from HN only. A lot of them being my first users. HN was kind of a perfect audience for the early version of my product. Many great people with awesome feedback.

It was a solo attempt at the beginning. Right now there are 5 of us working on it and building a business around it.

jblok 1 day ago 0 replies      
186 days ago I posted my app Dongle Daddy - https://news.ycombinator.com/item?id=13434787

On this day, it was also featured on Product Hunt and The Next Web leading to around 30k uniques across 2 days. Traffic is now nothing like that unfortunately.

One nice upside is that when I launched, it was picked up by a manager at BT Shop, a fairly large online electronics store in the UK, and I have released a variant of the app which uses their own affiliate scheme and branding. They've integrated this into one of their category pages at https://www.shop.bt.com/category/cables-and-adapters,cables/....

sv123 1 day ago 0 replies      
My show HN was posted 2555 days ago (https://news.ycombinator.com/item?id=1548584), roughly one month after the site was launched.

Led to a large traffic spike, and attention from a company that would acquire it roughly 18 months later. The team has grown from 3 to 100+, with over 1m registered users. Although the domain has changed and it looks like nobody bothered to keep the original registered ()

makaimc 1 day ago 1 reply      
My open source side project Full Stack Python (https://www.fullstackpython.com/) hit front page over July 4th weekend in 2014 (https://news.ycombinator.com/item?id=7985692). I've continued to write and grow the site from ~5k users per month to over 100k/month now.

The traffic bump and feedback was motivating and helpful to know I was on the right track with my content. I also learned there are some comments you just need to ignore and focus on your own vision :)

edit: my traffic was lower than I originally remembered, it was ~5k per month, not 25k in mid-2014

meagher 1 day ago 0 replies      
Notational, a notes app built with Vue.js. (https://news.ycombinator.com/item?id=14409760) 61 days ago

Response was great: lots of sign ups and feedback, but I haven't had time to do anything. Started a new job and moved cities. Everything is open-sourced if anyone wants to take a crack: https://github.com/tmm/notational

jventura 1 day ago 1 reply      
I submitted a Show HN a month and a half ago (https://news.ycombinator.com/item?id=14537247), and altough I got some initial visits (some 500 users), it has dropped to nearly zero lately. Here's how the analytics curve looks like: https://s2.postimg.org/6z9gmo8bt/Captura_de_ecra_2017-07-24_...

Basically, I've built this simple project to see if there was any commercial interest in building rest apis using mock data, and I am almost certain that the answer is no - which is fine by me, i'm waiting for the next idea.. :)

Edit: By the way, besides simple SEO with google, I haven't bothered doing any marketing at all with this project, because I'm being mostly lazy, also because if the idea was any good, it should (hopefully) had success initially, and also because I suck at marketing..

rsoto 1 day ago 0 replies      
Not exactly the home page, but PullToRefresh.js[1] was on HN's front page last december and since we've basically doubled our traffic, altough sales haven't been affected by it, since we are offering a product only for Mexico.

Besides the traffic increase, the repo trended on Github and now we have +1,400 stars.

1: https://www.boxfactura.com/pulltorefresh.js/

taxicabjesus 1 day ago 0 replies      
Show HN: Taxi Wars Stories from the front line - https://news.ycombinator.com/item?id=12193273 (359 days ago - HN submission links directly to http://taxiwars.org/)

tl/dr: HN provided a nice boost, but websites don't grow if you don't feed them.

Backstory: ~5 years ago I started driving a taxi, for fun & adventure & freedom. And to support myself, while trying to figure out how to finish recovering from a head injury [1]. After 8 days I made an account on kuro5hin.org (k5) & started blogging about my experiences.

[1] https://news.ycombinator.com/item?id=13123659

At first I was just trolling k5 user "Zombie Jesus Christ", who had grand ambitions to help people, but was handicapped by a history of mercury poisoning -> mental illness. My point in being 'TaxiCabJesus' on k5 was to show that it's the little things that count. After a 3.5 years I'd learned a lot about what people actually experience (which I hadn't appreciated due to my upper-middle-class upbringing), and was forced into retiring from the taxi driving gig...

One day kuro5hin.org went away. K5's absentee founder Rusty hadn't prepared for a datacenter move, and the site was lost. I posted in HN submission RIP kuro5hin that my story "Electronic Taxi Dispatch, v1.0" was last to post [2], and one of you responded that you appreciated my k5 submissions & encouraged me to re-post them at a site of my own.

[2] https://news.ycombinator.com/item?id=11609802

I still intend to write a Taxi Wars trilogy: A New Hope, The Vultures Strike Back, and Return of the Drivers. I also have some other stories to tell. Retrospectively I realized that I was learning about the various 'predicaments' that people find themselves experiencing. Draft titles include:

The Predicament of 'old people' / Ordinary Rendition: The Public Servants' Quagmire / the predicaments of doctors and patients

I joined Toastmasters several months ago. Recently I gave a speech that's based the 'predicaments of doctors and patients'. It went over pretty well, which was motivation to work on my little site...

wheresvic1 1 day ago 1 reply      
I recently had my Show HN make it to the front page: https://ewolo.fitness/

It was up for a nice 24 hours and while I got a huge amount of traffic (10,000 page views) it resulted in only 100 accounts.

I'm not giving up though - I'm still constantly improving it and it has come quite far since the first Show HN version :)

llamataboot 1 day ago 0 replies      
My very first side project, a real-time API for the World Cup built on a scraper, went to the frontpage. Obviously it hasn't seen as much traffic since then as it was a very time limited thing, but it was fun to have a side project on the front page.


I submitted a Show HN the other day for a natural language chatbot that gives harm reduction info about drugs and it pretty much went nowhere fast. Got way more traffic from being on the front page of reddit r/drugs (and arguably a more useful demographic)


To the people asking, I definitely think there is a high amount of luck getting anything on the front page of HN. Just has to be right time, right place, but it's inspiring to read about people who have seen their businesses launch, in part, from that brief exposure.

mmathias 1 day ago 0 replies      
My project "UrlRoulette" was on the HN homepage for about 24 hours. I received a huge traffic spike at the start. Since then traffic came from other sources such as Reddit, some blog posts and articles that were written - and of course some search engines. After being on HN, UrlRoulette was featured in the german C'T magazine and received a lot of traffic from their website and their print edition. Also, being featured on some more sites certainly helped pushing the site's page rank on Google.

The project: https://urlroulette.net/

I actually wrote a post about being on the HN front page: https://hackernoon.com/urlroulette-24-hours-on-hacker-news-e...

git-pull 1 day ago 0 replies      
The Tao of tmux (https://leanpub.com/the-tao-of-tmux) gained initial exposure and eventually became highly cited throughout the tmux community.

It's also available to read for free online (https://leanpub.com/the-tao-of-tmux/read).

tmuxp (https://tmuxp.git-pull.com), a tmux session manager, gained over 1k stars over the years.

vcspull (https://vcspull.git-pull.com), a repo sync tool, compare to myrepos. Received a lot of valuable feedback on documentation that I ported to other projects.

adzicg 1 day ago 1 reply      
Two things my team announced on Show HN appeared on the home page for a day or so.

MindMup (https://www.mindmup.com), an online mind mapping tool appeared in 2013, and got a nice traffic bump that day, it took about two years to reach that level of regular traffic. the site now gets between 400 and 500k visits monthly during busy school periods (seems to be mostly used by educational users), and grows around 5% per month.

ClaudiaJS (https://claudiajs.com) is an open source tool that helps deploy Node.js projects to AWS Lambda and API Gateway easily. Originally built for MindMup, we decided to spin it off as a separate open source tool. It appeared on HN about a year ago, and according to NPM stats now has roughly 85K downloads.

abhas9 1 day ago 0 replies      
My Show HN (https://news.ycombinator.com/item?id=14782936) made it to the front page 7 days ago and stayed there for a couple of hours. We got 70 downloads and some very good feedback.

We are consistently getting a good rating in Play Store [1] and thanks to HN we now have around 50 daily active users playing 75-100 games. Meanwhile, we are developing the features that were suggested in the comments and we felt are required.

[1] https://play.google.com/store/apps/details?id=com.buildmyvoc... - Two-Player Vocabulary Game

peterburkimsher 22 hours ago 0 replies      
Project: https://pingtype.github.io

Show HN Links: https://news.ycombinator.com/submitted?id=peterburkimsher

Summary: Chinese-English word-for-word translator for education.

Result: 16 points, 4 comments, still no idea how to market it.

prohor 1 day ago 0 replies      
6 years ago I submitted cloud computing comparison - https://www.cloudorado.com/ . It has hit first page with 38 comments. There was a nice spike in traffic that I've never seen later but it faded quickly. Now traffic mostly comes from search and some links that popped up here and there. The site is live and provides revenue (but not spectacular; fraction of what I need for living).
austincheney 1 day ago 0 replies      
Project: http://prettydiff.com/guide/unrelated_diff.xhtml

Show HN Link: https://news.ycombinator.com/item?id=13983085

Summary: A new diff algorithm

Result: About 50,000 visits to the web site, which then averaged about 1000 visits a day. Not much repeat traffic from those visits, but the daily traffic is now about 1200 visits a day.

dmjio 1 day ago 0 replies      
Project: https://haskell-miso.org, https://github.com/dmjio/miso

Synopsis: Elm arch. in Haskell, but supports isomorphic js

Show HN link: https://news.ycombinator.com/item?id=14685677

Status: Still kickin', ~17k views, top 15 repo globally on GH (for a day)

kamranahmed_se 1 day ago 1 reply      
I had about five of my submissions hit the front page. All of them were mostly projects on github and articles on my blog. For how they helped me:

- They got me around ~3000 subscribers for hugobots.com which I have been promoting through my repositories (it would have been much more; unfortunately, I forgot to put the link on the first day while the repository was on the first page. I put it on the third day and the emails that I got were mostly from the traffic from the people sharing the post on twitter/facebook/reddit etc)

- One of the project (developer roadmap) got me two sponsors paying me around ~1000$ each every 6 months for just putting their links in the project readme.

- Follower count on my github profile was around ~100 at that time; now it is about 2.3k

- Had been approached for freelancing gigs and was able to make connections.






stockkid 1 day ago 0 replies      
I have two sites.

I submitted RemoteBase 400 days ago: https://news.ycombinator.com/item?id=11890991

For the first time, someone paid for something I made from scratch. I wrote about what I learned from this launch: https://sung.io/lessons-from-successfully-launching-remoteba.... I have since gotten a job, and the site sort of stopped making money. But I am still iterating on it.

Also submitted Dnote 100 days ago: https://news.ycombinator.com/item?id=14031649

I pitched it to a live audience shortly after: https://sung.io/pitching-dnote. I never got around making an actual sale.

khc 1 day ago 0 replies      
Open source project so not quite a "site": submitted goofys (https://github.com/kahing/goofys/) 644 days ago and had 40 upvotes on HN, and from what I recall I had a couple hundred stars on github right after. Now I am approaching 900 stars, a niche community of users, and occasional drive-by contributions.

Compare to catfs (https://github.com/kahing/catfs/) which I recently posted but did not make to front page, and right now it's at 14 stars. I would say both projects have similar audiences comparable in complexity, which would mean front page on HN gave goofys a 20x or so boost in terms of github stars.

Note that the first time I posted goofys it did not make it to front page. @dang emailed me to re-post it and the second time it was boosted to front page.

dangrossman 1 day ago 0 replies      
1. Show HN: HN Replies Get notified of replies to your comments ( http://hnreplies.com )

933 HN users are signed up and have received 38109 email notifications so far.

Comments: https://news.ycombinator.com/item?id=11080539

Stats: https://www.w3counter.com/stats/98986/dashboard


2. Show HN: A date range picker for Twitter Bootstrap ( http://daterangepicker.com )

5-year-old open source code that averages 3000 visits per day and 750 git clones per day.

Comments: https://news.ycombinator.com/item?id=4408070

Stats: https://www.w3counter.com/stats/90840/dashboard

vivekseth 1 day ago 1 reply      
What kinds of Show HNs are you asking about? What do you mean by how is a site doing?

My Show HN (https://news.ycombinator.com/item?id=14778497) made it to the homepage, but I don't think its what you're asking about. My site is just a personal site with random content so its no different than before my post.

aml183 1 day ago 0 replies      
We closed. Company was called Koalah.
eerikkivistik 21 hours ago 0 replies      
Submitted https://3dc.io (a simple cross-platform 3d design tool) about 2 months ago, got a massive spike in traffic, that lasted for about 2-3 days. In addition we got some good and thorough feedback from the community. https://news.ycombinator.com/item?id=14360921
ThomPete 1 day ago 2 replies      
I submitted 4 which all got on the frontpage.


I still make good money on Ghostnote and is working on new features plus a new SAAS service.


This one is alive but not really active. Around 8K users on a mailing list. If anyone want to take over this project pm me.



This was fun to do but just a project we did for fun.

iambrakes 1 day ago 0 replies      
I released SoundKit (https://soundkit.io), a library of UI sounds a few years back. At the time, there weren't really people marketing sounds for UI, so people were interested in discussing. I learned a lot from the feedback (some good, some bad) and saw a lot of traffic in the first few weeks from it.

I still get a regular stream of traffic now, and there are tons of others making sounds for UI. So, hopefully it helped kickstart that market a little.

I'm in the process of creating a second set of sounds now to try and keep the interest alive.

Original Posthttps://news.ycombinator.com/item?id=8527861

Cogbotter 1 day ago 0 replies      
My attempt at creating realistic images from Gameboy camera pictures[1] got posted by someone else.

I did not notice it, and the traffic brought down my tiny blog with the 25.000 visits I got the next couple of days.

It was a really cool feeling, and I learned what measures to take to keep my self hosted WordPress blog up in these cases. Unfortunately I never needed it afterwards. If someone is interested in a write up, let me know so I can make one.

Since then my blog gets about 40 visits a day. Only a small amount, but it still satisfies me and keeps me writing.


sideshowb 1 day ago 0 replies      
I didn't call it "Show HN" as was unaware of that protocol at the time, but "Help me check my quantum physics game for accuracy" [1] got a lot of helpful comments on the physics.

Also a lot of complaints over my poor choice of language, and "why don't you open source it, we'll do a JS port". I did. They didn't.

Anyway I don't think it's seen much use since that (mostly positive) experience - if you're willing to download and execute a java app you still can:

[1] https://news.ycombinator.com/item?id=11813473

StriverGuy 1 day ago 0 replies      

Posted in November 2016. Got a ton of traffic for about three days (~20k users/day). Now DAU is around 10-15. More a side-project type site, never was intended as a business.

garysieling 1 day ago 0 replies      
My site gets 50-100 users a day (https://www.findlectures.com). I got a ton of great feedback, which I'm slowly working through, e.g. bug reports, requests for more content, and one $20 sponsorship. I've also got a conference talk coming up at a Solr conference in September.

I have just under 900 people signed up for an email list of hand-picked talk recommendations - about 200 of these were from HN, and a couple people sign up every day.

Based on the feedback I got, I'm working on an add-on to send email alerts with talks based on people's interests (if you want in, contact me, I need a few beta users)

cantbecool 1 day ago 0 replies      
I posted http://moviemagnet.co (movie torrent search engine) awhile back, it was removed from Google search results and still receive a steady 2k+ visitors a day.
avisk 1 day ago 0 replies      
I submitted logtrail (https://github.com/sivasamyk/logtrail) 312 days ago (more of a side project of mine) and made it to front page. Got lots of stars :). Helped me boost my confidence and currently has active users and made multiple releases with new features. Happy I did it.
nappy 1 day ago 0 replies      
Made HN when we launched late last Summer- we're doing our first 5k+ unit wholesale orders and have shipped caffeinated toothpaste to thousands of customers.


leandot 1 day ago 0 replies      
463 points, 332 days ago submitted http://hackernewsbooks.com

Got ~1500 active subscribers on the newsletter, some web traffic, some passive income, a lot of interesting contacts, met some cool people in Zurich, where I live. Overall, really glad I did it.

Original post here - https://news.ycombinator.com/item?id=12365693

greenwalls 1 day ago 0 replies      
Submitted GlassWire https://www.glasswire.com for Windows 1064 days ago. Now we have a new Android app! https://play.google.com/store/apps/details?id=com.glasswire....
twoslide 1 day ago 0 replies      
On the front page about 1.5 years ago with 2sli.de, my web app for interactive slides:


I got a few hundred sign-ups but not much else; I am still maintaining the site but have not found as much time as I would like to develop it.

nikivi 1 day ago 0 replies      
We submitted our search engine a few days ago (https://learn-anything.xyz/) and it has been pretty well received. We got quite a bit of valuable feedback on it which we used in turn to improve the engine.

Here is the HN post :


krptos 1 day ago 0 replies      
My Show HN (https://news.ycombinator.com/item?id=13857137) HexoPress earned 200 signups in a span of couple of days.

The traffic spike, remained a spike and didn't continue long. But it gained a few regular users. I run my own blog with HexoPress (http://hexopress.com).

aparks517 1 day ago 0 replies      
Project: https://getmirrorshades.com

Show HN: https://news.ycombinator.com/item?id=13687353

Summary: Simple web analytics

Result: Lots of great feedback, added about 100 active users

monokai_nl 1 day ago 0 replies      
Submitted the new installment of the Monokai syntax highlighting colors for Sublime Text (Monokai Pro) a month ago: https://news.ycombinator.com/item?id=14611823

I got a good spike of traffic from Reddit and Medium, HN a bit less.

ransom1538 1 day ago 1 reply      
Submitted a week ago or so: https://www.opendoctor.io/opioid/highest/

When it was first posted it hit front page, then hit reddit, melted my machine. I started moving to static files, but not in time! HN removed it from the homepage.

kermittd 1 day ago 0 replies      
How meta! I submitted my side project http://www.bookeyes.co/. Though it was simplistic and still is BookEyes was well received. I got feature ideas I'm in the process of implementing.
soheil 1 day ago 0 replies      
We got netin.co on the front page a few months ago. The post was about hiring a team as opposed to individual candidates. We are still doing well, although don't expect the visibility to have a long term effect. Think of it more as a sugar rush without the crash, no pun intended.
Lerc 1 day ago 0 replies      
Mostly when I show things they're just things I made that I put on github. I get github stars.

I think the exchange rate between Github stars and Facebook/Twitter Likes is favourable. Tinder Swipes, not so much.

Not much of a BTC/Github-Star exchange yet.

grimmdude 1 day ago 0 replies      
Submitted MidiWriterJS about a year and a half ago (https://github.com/grimmdude/MidiWriterJS). I think the majority of the stars and usage it gets came because of that.
chuhnk 1 day ago 0 replies      
Project evolved from a small framework with a couple hundred stars to something now used by a number of billion dollar enterprise companies. Still a long road ahead.


herbst 1 day ago 0 replies      
I had a few i think. One for example ascii.li which front paged twice. It's just a stupid content site so traffic died again but for a week or more I got thousands of users and plenty backlinks.
shykes 1 day ago 1 reply      
Docker is doing pretty well. It was a HN-only launch.
mcjiggerlog 1 day ago 1 reply      
Artpip was on the front page for a while 3 weeks ago [1].

I had around a 30% increase in users and around $500 in sales over the following couple of weeks, which was pretty great.

nailer 15 hours ago 0 replies      
Launched CertSimple with a 'Show HN' 862 days ago (https://news.ycombinator.com/item?id=9210908), for a significantly faster and easier way to do the identity checks required EV HTTPS certificates. We got our first customer on that day - I already knew them from previous dev work, but they saw the post on HN, hated their existing EV CA, and signed up.

https://certsimple.com now has clients including Superdry, CrowdCube, The Motley Fool and most of the fintech startups in London.

borski 1 day ago 0 replies      
Tinfoil Security (https://www.tinfoilsecurity.com) originally started as a Show HN, and hit the front page back then: https://news.ycombinator.com/item?id=2291944

We're doing well, and hiring! :)

dang 1 day ago 2 replies      
I've been meaning to publish the tips that we send to people who email us asking for Show HN advice. Anybody want to add anything? or see anything incorrect?


Read https://news.ycombinator.com/showhn.html. Point users to something they can try out for themselves. Don't require signups or permissions that aren't obviously needed. Avoid popups. Avoid overly slick website design and (especially) marketing language: HN users tune all that out and in fact it hurts you. Text and text-based layouts are good. Information density is good. Avoid super-large fonts and excessive pictures, they make you look lightweight. Put intellectually interesting details up front. If you're launching a company, corporate branding is fine; otherwise it's a negative, so tune it down.

Add a first comment to the thread with the backstory of how you came to work on this and explaining what's different about it. This tends to seed better discussion.

Make it easy to tell what the product/project is; otherwise the discussion will consist of "I can't tell what this is". Link to any relevant past threads.

Your primary mission is to engage intellectual curiosity. If you try to sell HN readers on your stuff, you'll evoke objections. Engage their curiosity and they will sell themselves.

Mention areas you'd like feedback about or open questions. Surprising or whimsical things that came up during the work are also good--they are unpredictable and that makes them interesting.

A little humor is ok; more than a little feels presumptuous. Don't be chummy, just answer straightforwardly. Don't address other users by their usernames (it's not the convention on HN and feels out of place). Don't introduce yourself more than once.

Don't say nice things about yourself or your work. It invites comeuppance. Instead, be humble or even mildly self-critical; then readers will look for nice things to say, and even when finding fault, won't make as big a deal about it.

Don't ask for upvotes. Our software ignores most promo-votes, plus HN users notice them and get mad. Especially make sure that your friends don't post booster comments or softball questions. HN users sniff that out a mile away and then we have to kill the thread.

Email us a link to your submission when it's up and we might be able to give you some help or make sure it doesn't get flagged.


This originated as advice for YC startups but I always liked the pg/yc tradition of giving the same advice to everybody.

Ask HN: What programming blogs do you follow?
372 points by in9  1 day ago   68 comments top 52
andythemoron 1 day ago 0 replies      
Julia Evans' blog is one of my favorites! It was a big inspiration for starting my own blog (https://andythemoron.com). I also love High Scalability and Dan Luu's blog which have been mentioned in other comments.

I "follow" several which are mostly defunct, but in terms of blogs that still feature active updates:

Evan Klitze's blog: lots of topics around Linux, C++, etc. https://eklitzke.org/

Sutter's Mill: lots of "state of the world" for C++, but also context, history, etc. https://herbsutter.com/

IT Hare: C++, game programming http://ithare.com/

The Erlangelist: Erlang/Elixir http://theerlangelist.com/

null program: lots of miscellaneous topics http://nullprogram.com/

Fluent C++: the name speaks for itself http://www.fluentcpp.com/

Another Programmer's Blog: Linux, C, C++, C#, MSSQL https://www.stev.org/

tomcam 1 day ago 3 replies      
As a nod to HN I confess its front page acts as a wonderful filter. So while I do not follow blogs, I get a really good stuff from here.
Arcsech 1 day ago 2 replies      
Here's a dump of the "Programming" folder from my RSS reader:

Aphyr's (aka the guy behind the Jepsen distributed system test series): https://aphyr.com/

Fred Herbert, the author of Learn You Some Erlang: http://ferd.ca/

Eevee, who posts a mishmash of stuff about programming in general but these days is mostly focussed on games: https://eev.ee/

Tef/Programming is Terrible, which features strong opinions about programming/programmers: http://programmingisterrible.com

Matt Kline, who posts mainly about low-level stuff and embedded systems: http://bitbashing.io/

Evan Miller, whose blog topics are wide-ranging: http://www.evanmiller.org/

tptacek, who can be seen tirelessly defending common sense in the comments on this very site: https://sockpuppet.org

Sonniesedge, who talks about front-end stuff and the human impact of programming: https://sonniesedge.co.uk/blog/

Carin Meier, who posts most often, but not exclusively, about Clojure: http://gigasquidsoftware.com/

Also Julia Evans, as mentioned in the OP.

Entangled 1 day ago 1 reply      
Not a blog but daily articles from Medium bloggers by language, much better:



lurrr 21 hours ago 0 replies      
I'm actually surprised no one mentioned these two

Eli Bendersky http://eli.thegreenplace.net/Jeff Preshing http://preshing.com/

ryanschneider 1 day ago 0 replies      
Mike Ash has started posting again after a long hiatus:


The URL is very misleading, his blog is about Objective-C (and now Swift) internals, in a very loose way like an "Old New Thing" for Apple's tech stack (w/o the insider knowledge parts, he's not an Apple employee).

acemarke 1 day ago 1 reply      
Wayyyyy too many :)

A few months back I wrote a Reddit comment listing "just" the high-quality React-related blogs that I read : https://www.reddit.com/r/reactjs/comments/5t8loz/what_are_yo... .

I read a lot more besides that. To pick out just a few:

- Scott Hanselman: https://www.hanselman.com/blog/

- Robert O'Callahan: http://robert.ocallahan.org/

- Henrik Warne: https://henrikwarne.com/

- Andrew Wulf ("The Codist"): http://thecodist.com/

- Lin Clark: https://code-cartoons.com/ . (Her actual blog hasn't been updated in a while, but she's also posted many in-depth articles to Mozilla organization blogs over the last few months.)

And while I don't think

zbuttram 1 day ago 0 replies      
Surprised to see http://2ality.com/ missing. First place I go for every new JavaScript lang feature/proposal.
romgrk 1 day ago 0 replies      
av3csr 20 hours ago 0 replies      
When he was updating it, shakes fist


deepakkarki 1 day ago 1 reply      
I have created this as a side project of mine :)


It's a curated and tagged list of company blogposts - published every weekday (or whenever I get 5-10 good links for the day)! As of now it is limited to only engineering blogs.

To know more, visit : https://www.discoverdev.io/about

skibz 1 day ago 0 replies      
Not as frequently updated as it used to be, but: https://rachelbythebay.com/w/
gk1 1 day ago 0 replies      
https://www.highscalability.com - good devops articles and link roundups
briansteffens 1 day ago 0 replies      
toomanybeersies 15 hours ago 0 replies      
Not strictly programming, but Troy Hunt on Security (https://www.troyhunt.com/) is really good.

He's the guy behind Have I Been Pwned (https://haveibeenpwned.com/).

gkelly 1 day ago 0 replies      
Here is a similar question from a few months ago, which resulted in a pretty great list of blogs and twitters:


johnny_reilly 20 hours ago 0 replies      
The Morning Brew: "a daily .NET software development link blog published by Chris Alcock"

It's like a daily readers digest of software development stuff. And the tagline just quoted is a little out of date - it's got a strong .NET leaning but that's not the only thing on there.


psbrandt 1 day ago 0 replies      

There's also an OPML file that you can import into Feedly.

amiralles 15 hours ago 0 replies      
Eric Lippert's blog https://ericlippert.com/He used to write about C#, mostly. Now he is into functional programming. Awesome content.
duykhoa12t 21 hours ago 0 replies      
NwmG 14 hours ago 0 replies      
I am a big fan of the bolt blog.


Its a hardware/hardware startup blog written by what looks like a full(ish) stack hardware VC.

jvns 1 day ago 2 replies      
Dan Luu has a list of programming blogs you might like: https://danluu.com/programming-blogs/. The rest of his blog is good too!

a few of my favorite blogs:

- http://blog.acolyer.org for fantastic daily summaries of CS papers.

- http://stephaniehurlburt.com/blog/ -- she has a business creating a new compression algorithm and I love reading about it

- https://rachelbythebay.com/w/ is pure gold for weird debugging stories

- https://accidentallyquadratic.tumblr.com/ is always a fun read

- http://wingolog.org/ on building compilers

- http://composition.al/blog -- Lindsey Kuper on her programming languages research

- aphyr's blog on distributed systems, of course

- https://charity.wtf/

- http://www.pgbovine.net/writings.htm -- Philip Guo is a CS professor whose blog on his experiences in academia I really like

- http://whilefalse.blogspot.com by Camille Fournier, mostly on engineering management

- http://larahogan.me/blog/ by Lara Hogan, on engineering management

Also I think this comment from Dan's blog (https://danluu.com/about/) is very true and important:

> I view that as a sign theres a desperate shortage of understandable explanation of technical topics. Theres nothing here that most of my co-workers dont know (with the exception of maybe three or four posts where I propose novel ideas). Its just that they dont blog and I do. Im not going to try to convince you to start writing a blog, since that has to be something you want to do, but I will point out that theres a large gap thats waiting to be filled by your knowledge. When I started writing this blog, I figured almost no one would ever read it; sure Joel Spolsky and Steve Yegge created widely read blogs, but that was back when almost no one was blogging. Now that there are millions of blogs, theres just no way to start a new blog and get noticed. Turns out thats not true.

I really think there is a shortage of understandable explanations of technical topics, and I see new people writing great posts clarifying complicated technical topics all the time. And I find people really do notice/appreciate it. So if you're excited about blogging, maybe do it :)

gogopuppygogo 22 hours ago 0 replies      
http://www.catonmat.net is excellent.

I'm also a fan of the comics the author Peter Krumins puts out https://comic.browserling.com/

codeforgeek 21 hours ago 0 replies      
https://codeforgeek.comhttps://scotch.ioHackernoon medium and free code camp. Video courses at plural and Edx.
adyimpulse 16 hours ago 0 replies      
https://reprog.wordpress.com/ is a great one i discovered recently.
turingbook 19 hours ago 0 replies      
If you can read Chinese, Meituan-Dianping Engineering Blog is a must-read: https://tech.meituan.com/
nezo 19 hours ago 0 replies      
Airbnb Engineering & Data Science https://medium.com/airbnb-engineering
executesorder66 17 hours ago 0 replies      

Lots of high quality code examples in a variety of languages.

Entangled 1 day ago 0 replies      
For those who like newsletters delivered to their inbox:


Enough programming news for a lifetime, or two.

atsaloli 23 hours ago 0 replies      
http://codesimplicity.com/ for fundamentals of software design and improving code bases
wizzerking 23 hours ago 0 replies      
Since i do a lot of image stuff with OpenCVpyimagesearch.com
ZedDogX 1 day ago 0 replies      
I listen to a few podcasts but don't religiously follow any one particular person on blogs. I just find blog posts about what i want to do and learn from that, maybe poke around a while after.
philip1209 1 day ago 0 replies      
I've been impressed by the Sourcegraph blog lately:


blojayble 20 hours ago 0 replies      
sidcool 1 day ago 0 replies      
Most of the ones I read are covered here. Would like to add http://dev.to
nikivi 1 day ago 0 replies      
I keep a list of blogs I follow as a GitHub repo :


jrochkind1 1 day ago 0 replies      
I run an aggregator for ruby-related blogs and other news feeds.


xref 1 day ago 0 replies      
If you like Julia Evans style you may also like Charity Majors aka @mipsytipsy on twitter https://charity.wtf/

Also I use the open source Django project Newsblur as my RSS reader, and follow Samuel's blog: http://blog.newsblur.com/

A couple others I like:



gmanolache 17 hours ago 0 replies      
The Practical Devhttps://dev.to/
weishigoname 22 hours ago 0 replies      
some machine learning blog I like to follow is http://karpathy.github.io
purpleidea 22 hours ago 0 replies      
The Technical Blog of Jameshttps://ttboj.wordpress.com/

Source: Author

theknarf 17 hours ago 0 replies      
Let's see. Often when I find something interesting on HN or Reddit I might see if the author writes other interesting posts and subscribe to their blog on Feedly. I currently have a few hundred sources that I subscribe to so it might be a bit hard for me to choose which "blogs" I'd promote. But there are some:

- https://blog.codinghorror.com/

- http://www.pentadact.com/

- http://procworld.blogspot.no/

- https://moviecode.tumblr.com/

- http://hackaday.com/

- https://research.googleblog.com/

- https://gpuofthebrain.com/

- https://xkcd.com/

- http://oglaf.com/

This is an almost random selection of some of the blogs that I subscribe to.

hprotagonist 1 day ago 0 replies      
- aphyr

- scott hansleman

- coding horror

- decyphering glyph

- eric lippert

fapjacks 19 hours ago 0 replies      
Windytan (Oona Risnen), absolutely phenomenal hacker: http://www.windytan.com/
ahamedirshad123 19 hours ago 0 replies      
+1 for Julia Evans blog
karthik_ir 22 hours ago 0 replies      
crispytx 1 day ago 0 replies      
PHP on Acid ;)


naturalgradient 1 day ago 1 reply      
Ah rather thinly veiled blog advertisement?
Ask HN: What do people use to prevent crawlers?
120 points by jongi_ct  2 days ago   118 comments top 32
wrath 2 days ago 8 replies      
I've built crawlers that retrieve billions of web pages every month. We had a whole team working modifying the crawlers to resolve website changes, to reverse engineer ajax requests and solve complex problems like captcha solvers. Bottom line, if someone wants to crawl your website they will.

What you can do, however, is make it hard so that the vast majority of developers can't do it (e.g. My tech crawl billions of pages, but there was a whole team dedicated to keeping it going). If you have money to spend, there's Distill Networks or Incapsula that have good solutions. They block PhantomJS and browsers that use Selenium to navigate websites, as well as rate limit the bots.

What I found really affective that some websites do is tarpit bots. That is, slowly increase the number of seconds it takes to return the http request. So after a certain amount of request to your site it takes 30+ seconds for the bot to get the HTML back. The downside is that your web servers need to accept many more incoming connections but the benefit is you'll throttle the bots to an acceptable level.

I currently run a website that gets crawled a lot, deadheat.ca. I've written a simple algorithm that tarpits bots. I also throw a captcha every now and then when I see an IP address hits too often over a span of a few minutes. The website is not super popular and, in my case, it's pretty simple to differentiate between a human or bot.

Hope this helps...

Rjevski 2 days ago 1 reply      
Don't prevent them. The same data you let humans access for free should be accessible via bots. If you only want to give out a "reasonable" amount of data, that humans wouldn't usually exceed but bots would, then define a rate-limit that wouldn't inconvenience humans and then apply it for everyone - bot or not. That way you're discriminating based on the amount of data instead of whether it's a bot or not. It will thwart people simply paying humans to scrape the data (which would happen if you magically found a way to block bots) while not inconveniencing humans who use a bot to make their job easier while scraping a reasonable amount of data.
monodeldiablo 2 days ago 9 replies      
"How do I stop all these dinner guests from eating this lovely pie I set out on the table?"

I remember working hard on a project for a year, then releasing the data and visualizations online. I was very proud. It was very cool. Almost immediately, we saw grad students and research assistants across the globe scraping our site. I started brainstorming clever ways to fend off the scrapers with a colleague when my boss interrupted.

Him: "WTF are you doing?"

Me: "We're trying to figure out how to prevent people from scraping our data."

Him: "WTF do you want to do that for?"

Me: "Uh... to prevent them from stealing our data."

Him: "But we put it on the public Web..."

Me: "Yeah, but that data took thousands of compute hours to grind out. They're getting a valuable product for free!"

Him: "So then pull it from Web."

Me: "But then we won't get any sales from people who see that we published this new and exciting-- Oh. I see what you mean."

Him: "Yeah, just get a list of the top 20 IP addresses, figure out who's scraping, and hand it off to our sales guys. Scraping ain't free, and our prices aren't high. This is a sales tool, and it's working. Now get back to building shit to make our customers lives easier, not shittier."

Sure enough, most of the scrapers chose to pay rather than babysit web crawlers once we pointed out that our price was lower than their time cost. If your data is valuable enough to scrape, it's valuable enough to sell.

The only technological way to prevent someone crawling your website is to not put it on a publicly-facing property in the first place. If you're concerned about DoS or bandwidth charges, throttle all users. Otherwise, any attempts to restrict bots is just pissing into the wind, IMHO.

Spend your energies on generating real value. Don't engage in an arms racw you're destined to lose.

bmetz 2 days ago 2 replies      
My favorite thing was to identify bots and instead of blocking them, switch to a slightly scrambled data set to make the scrape useless but look good to the developer who stole it. It was a ton of fun as a side project. I'd also suggest you add some innocent fake data to your real site and then set up google alerts of all of the above to catch traffic. About 50% of sites would respond positively to an email when you showed them they were hosting fake data. About 90% would take my data down if that was followed up with a stronger C&D. One key is to catch them fast, while they're still a little nervous about showing off their stolen data online.
ThePhysicist 2 days ago 2 replies      
I assume you are concerned about crawlers that do not respect the robots.txt file (which is the polite way to restrict them from indexing your side, but does not provide any actual protection if crawlers chose to ignore the file). Cloudflare has a tool for doing this (now part of their core service):


There's a nice Github repo with some advice on blocking scrapers:


Finally, you could use a plugin in your Webserver to display a CAPTCHA to visitors from IP addresses that cause a lot of requests to your site.

There are many more strategies available (up to creating fake websites / content to lead crawlers astray), but the CAPTCHA solution is the most robust one. It will not be able to protect you against crawlers that use a large source IP pool to access your site though.

bad_user 2 days ago 3 replies      
The other day I've made a Chrome extension for scrapping a protected website. It worked wonderfully, as it simulated a normal user session, bypassing the JavaScript protections the website has. You can also run such scripts with a headless browser for full automation, PhantomJS being an obvious choice.

You really can't protect against this unless you start making the experience of regular visitors much worse.

mattm 2 days ago 4 replies      
One thing I've thought about but never had the chance to put into practice would be to randomize CSS classes and IDs. Most web scraping relies on these to identify the content they are looking for.

Imagine if everyday they changed? It would make things a lot more difficult.

There would be disadvantages to actual users with this method like caching wouldn't work very well but maybe this alternative site could be displayed only to bots.

The crawler could get smart about it and only use xpaths like the 6th div on the page so maybe in the daily update you could throw in some random useless empty divs and spans in various locations.

It's a lot of work to setup but I think you would make scraping almost impossible.

thinbeige 2 days ago 0 replies      
You can't prevent good crawlers. Captchas might help and what Amazon does: Erratic, unpredictable changes of the HTML structure.
huffmsa 2 days ago 2 replies      
If you're getting a lot of crawler traffic, your site probably has information a lot of people find useful, so you should consider finding a way to monetize it.

Otherwise, your best bet (hardest to get around in my experience) is monitoring for actual user I/O. Like if someone starts typing in an input field, real humans have to click on it beforehand, and most bots won't.

Or if a user clicks next-page without the selector being visible or without scrolling the page at all. Not natural behavior.

Think like a human.

calafrax 2 days ago 0 replies      
There are a variety of methods that can be deployed:

1) request fingerprinting - browser request headers have arbitrary patterns that depend on user agent. matching user agent strings with a database of the request header fingerprints allows you to filter out anyone who is not using a real browser who hasn't taken the time to correctly spoof the headers. this will filter out low skill low energy scrapers and create higher costs.

2) put javascript in the page that tracks mouse movement and pings back. this forces scrapers to simulate mouse movement in a js execution environment or reverse engineer your ping back script. this is a very high hurdle and once again forces much more computationally intensive scraping and also much more sophisticated engineering effort.

3) do access pattern detection. require valid refer headers. don't allow api access without page access, etc. check that assets from page are loaded. etc.

4) use maxmind database and treat as suspicious any access not from a consumer isp. block access from aws, gcp, azure, and other cloud services offering cheap ip rental.

debacle 12 hours ago 0 replies      
For most crawlers, robots.txt will work. For people actually trying, nothing but an IP block and vigilance will help.
okket 2 days ago 0 replies      
A password prompt/captcha? If you do not want to get crawled, do not make it public?
inglor 2 days ago 2 replies      
We've used Incapsula (cheap and works, but awful support and service) and Distil (expensive and works, great support but steep pricing).

Both worked, both worked well with http downloads and selenium (and common techniques). Neither worked against someone dedicated enough - but there are the usual tricks for bypassing them (which we used, to test our own stuff).

We also developed something in-house, but that never helps.

laurieg 1 day ago 1 reply      
Domain specific but if you detect a bot you can start giving it false information.

For example, a dictionary site. Someone tries to crawl your site after triggering your "This is a bot" code, serve bad data to every 20 requests. Mispell a word, Mislabel a noun as a verb, give an incorrect definition.

If you combine this with throttling then the value of scraping your site is greatly reduced. Also, most people won't come up with a super advanced crawler if they never get a "Permission denied, please stop crawling" message.

danielbeeke 2 days ago 0 replies      
The stack (https://github.com/omega8cc/boa/) I am using, uses CSF https://www.configserver.com/cp/csf.html

This is for Drupal sites. It has a strong firewall (csf) and it has a lot of crawler detections on the nginx configurations. It checks the load and when on high load it blocks the crawlers.

twobyfour 2 days ago 0 replies      
For well-bahaved bots, robots.txt.

For ill-behaved ones, it depends on why you're trying to block them. Rate throttling, IP blocking, requiring login, or just gating all access to the site with HTTP Basic Auth can all work.

timbowhite 2 days ago 0 replies      
I wrote a plugin for node.js/express that performs basic bot detection and bans bots by IP address until they pay you some Bitcoin:

project: https://github.com/timbowhite/botbouncer

simple demo: http://botbouncer.xyz/

I ran it for awhile on some medium traffic websites that were being heavily scraped. It blocked thousands of IP addresses, but IIRC only received one Bitcoin payment.

danpalmer 2 days ago 0 replies      
I encourage developers thinking of doing this to check that they aren't required to have their website be scraper-friendly first.

The company I work for does a large amount of scraping of partner websites, with whom we have contracts that allow us to do it and that someone in their company signed off, but we still get blocked and throttled by tech teams who think they are helping by blocking bots. If we can't scrape a site we just turn off the partner, and that means lost business for them.

hollander 2 days ago 1 reply      
If it's about content, SVG and convert all text to curves. /s
jeremyliew 2 days ago 0 replies      
I don't understand why you'd want to stop crawlers. If you didn't want people to see your content, it probably shouldn't be on the public web.
digitalzombie 2 days ago 1 reply      
You can use cloudfare but it's a small roadblock. I can still crawl that.

Also you can do frontend rendering, it's a bit larger roadblock but you can use phantomJS or something to crawl that.

IIRC there is a php framework that mutate your front end code but I'm not sure if it does it enough to stop a generalized xpath...

Also I used to work for company where they employ people full time for crawling. It will even notified the company if crawler stopped working so they can update their crawler...

lazyjones 2 days ago 0 replies      
- permanently block Tor exit nodes and relays (some relays are hidden exit nodes)

- permanently block known anonymizer service IP addresses

- permanently block known server IP address ranges, such as AWS

- temporarily (short intervals, 5-15 mins) block IP addresses with typical scraping access patterns (more than 1-2 hits/sec over 30+ secs)

- add captchas

All of these will cost you a small fraction of legitimate users and are only worth it if scraping puts a strain on your server or kills your business model...

ge0 2 days ago 0 replies      
Can you give a little more context to the question? There are various ways but they would be dependent on the reasons in the first place.
ghola2k5 2 days ago 0 replies      
The best answer is probably an API.
crispytx 2 days ago 0 replies      
I think websites, in general, tend to get a lot of bot traffic. My website doesn't have anything valuable to scrape, but I still get 100 hits from bot traffic every day.
Pica_soO 2 days ago 0 replies      
Add keywords which are likely to get the crawling company involved into a lawsuit (like the names of persons who suit google to be removed from search).
whatnotests 2 days ago 0 replies      
One cannot stop a determined thief.

One technique that bothers me quite a bit is constant random changes in class names or DOM structure, which can make it more difficult. Not impossible but more difficult.

wcummings 1 day ago 0 replies      
Scraping is my birthright, you'll never stop me.
Kenji 2 days ago 1 reply      

then Zip bombs.

owebmaster 2 days ago 0 replies      
They used to use flash, for the good or the bad.
z92 2 days ago 2 replies      
I run a cronjob every 5 minutes that parses httpd access log. If there's an IP with abnormally large request number, it blocks it.

Most crawlers will make hundreds of requests in five minutes, while legitimate viewers will make be bellow 100.

Tell HN: Massive abuse of Google's DMCA process
4 points by throwaway118822  11 hours ago   5 comments top 4
arikr 5 hours ago 0 replies      
Maybe worth including some contact information e.g. an anonymous email so if someone from Google sees they can reach you
blcArmadillo 8 hours ago 1 reply      
Just for clarification are you saying they submit all the pages on a website whether that page contains infringed content or not and leave it up to Google to determine if it actually does?
throwaway1181 4 hours ago 0 replies      
Is this Entrua International? They are scumbags and I hope somebody fights back
nyolfen 8 hours ago 0 replies      
is it a reputation management service, or does it appear to be acting in a way that aligns with one?
Ask HN: How do you monitor your infrastructure?
4 points by deepsy  12 hours ago   1 comment top
misframer 6 hours ago 0 replies      
I work at a monitoring company (VividCortex) so I mostly use that. I look at CloudWatch for some more AWS-specific things.
Ask HN: What's the first thing you ever made?
3 points by Kevin_S  13 hours ago   1 comment top
meric 5 minutes ago 0 replies      
A game made using MS PowerPoint on Mac. I can't remember if it's Mac OS 8.6 or OS X.
Ask HN: How can I view older 'Ask HN' questions?
15 points by CM30  14 hours ago   8 comments top 5
larryfole 13 hours ago 0 replies      
provost 13 hours ago 1 reply      
I wish HN offered a search function, but they don't. Fortunately, the folks at Algolia offer a search tool for HN here: https://hn.algolia.com
traviswingo 13 hours ago 0 replies      
@siddhant's recommendation to use the algolia search is probably the best way for simple searching of what you want. You could also always use the API and build a UI that better suits your needs, should existing ones not suffice.


3into10power5 9 hours ago 0 replies      
Related question, Is there a way to "download"(for machine learning purposes) all posts on HN?
Ask HN: Best books on AI
9 points by forgotmysn  1 day ago   3 comments top 3
ebcode 20 hours ago 0 replies      
My recommendation would be to go back to the original sources. Hardly anyone (on Medium or Techcrunch, that is) would know about Arthur Samuel's checkers playing program. His paper, "Some Studies in Machine Learning Using the Game of Checkers", can be found in the compilation, "Computers and Thought" by Feigenbaum and Feldman.

Another good resource is the three-volume set, "The Handbook of Artificial Intelligence ", also by Feigenbaum. It's a very thorough catalog of programs developed in the 60s and 70s that illustrate various techniques used in AI programs.

In the words of Alan Kay, "the past is vast".

jroth 23 hours ago 0 replies      
I found the first chapter of Deep Learning by Ian Goodfellow et. al. to do a good job going over the basic structure of AI as well as some useful history. The book is published online for free by MIT as well, which is great. www.deeplearningbook.org
brudgers 12 hours ago 0 replies      
Artificial Intelligence: Case Studies in Common Lisp, Peter Norvig. It is also a really good book on programming in general.
Ask HN: Would anyone be interested in a darknet dropbox type thing?
8 points by Kylesan  1 day ago   8 comments top 5
detaro 1 day ago 1 reply      
Set up a website and submit a Show HN instead of asking if people care every few hours please.
bhcc 22 hours ago 1 reply      
I think you could easily start with forks of

ZeroNet (distributed TOR hosting):https://zeronet.iohttps://github.com/HelloZeroNet/ZeroNet

and either:SecureDrop:https://securedrop.orghttps://github.com/freedomofpress/securedrop


Though basically you're just routing .onion at a bucket.

Another thing to look at would be building on https://libcloud.apache.org/https://libcloud.readthedocs.io/en/latest/supported_provider...orhttps://jclouds.apache.org/https://jclouds.apache.org/reference/providers/

And providing a storage target. Though you have to consider the possibility of seizure of the host[s] by the service providers state.



whatnotests 1 day ago 0 replies      
The FBI certainly would be interested!
bromonkey 22 hours ago 1 reply      
What benefit does this service provide over onionshare? https://onionshare.org/
richardknop 16 hours ago 0 replies      
I hope you are using a throwaway account to ask this question.
Ask HN: Machine learning in public sector?
3 points by agilord  15 hours ago   3 comments top 2
itamarst 8 hours ago 0 replies      
http://datafordemocracy.org/ is doing some stuff, part of in partnership with cities. E.g. thing with Boston.
mars4rp 12 hours ago 1 reply      
I am working in public sector and tech that we use today is 15 years old. so ask again in 20 years!
Ask HN: How to get my hands on flight data?
2 points by fwdpropaganda  16 hours ago   3 comments top 2
konart 15 hours ago 1 reply      
What kind of data are we talking about exactly? If be flight you actually mean live air traffic - you can read https://www.flightradar24.com/how-it-works or https://www.kaspersky.com/blog/tracking-airplanes-how-flight... on the topic. Not sure there is a service that provides this aggregated data for free.
itamarst 15 hours ago 0 replies      
Google has an API: https://developers.google.com/qpx-express/

(might be another more detailed API if you search around, QPX was originally a XML format with lots of power.)

Ask HN: What's the best business for a tinkerer?
38 points by cronjobma  2 days ago   21 comments top 9
kamphey 2 days ago 2 replies      
Start a YouTube channel.Either learn filmmaking or find a friend to help.

Upload a video a week. Full complete projects. Post them on reddit.Reply to every comment. Ask for suggestions of next project.

After 3 months or 12 videos. Start posting 3 times a week of projects in progress.

After 3 months start live streaming twice a week.

At the 6 month mark start a Patreon. Even if you don't have any patrons immediately learn the platform and incorporate it into your videos. Set a goal that entices ppl to participate. Maybe one of your projects was a hit.

Hope that helps.

kspaans 2 days ago 1 reply      
Reverse Engineering and security. Every executable you reverse is like a new project!
fest 1 day ago 0 replies      
I have a friend who runs a lifestyle business of:

1) One-off mechatronics projects: museum exhibits, cable-cams for filming companies, puzzles for escape-rooms etc.

2) Regional distribution and support for a particular brand of lasercutters.

From what I see, he spends most of the time on first category but most of the revenue comes from the second.

rad1o 2 days ago 1 reply      
Teaching others how to tinker. My wife and kids started this business: https://makerjunior.com
patrickg_zill 2 days ago 0 replies      
Are you involved in a local hacker or maker space?

Do you think you can make a kit that parents or other hackers would want to buy, like the build your own robots kits that come in pieces but include all the parts needed?

I know of one guy that got certified on shopbot and the laser cutter, and used that knowledge to get clients. He helps them go from idea to something repeatable.

mjfl 2 days ago 1 reply      
You sound like me. If you like writing tutorials for your tinkering, I'm building a platform to support people like you: https://ocalog.com/ I'm currently tinkering with Ethereum.
SirLJ 2 days ago 1 reply      
How about quantitative trading systems? I am really enjoying thinkering, back testing, inventing, I think this is the ultimate location independent lifestyle business...
brudgers 2 days ago 0 replies      
mchannon 2 days ago 0 replies      
1. Make something people want.

2. Learn how to make it for a lot less than people will pay for it.

3. Partner with people who can market your projects.

Ask HN: What is the ONE most important thing you've learnt on HN?
5 points by slice_of_life  17 hours ago   4 comments top 3
harel 16 hours ago 1 reply      
Not necessarily on HN but on the internet as a whole, though this applies heavily on HN:

Like a coin, every story has 3 sides. Hear them all before making judgement, and in general, opt for internalising judgement rather than publicising it.

NicoJuicy 17 hours ago 0 replies      
Read less, do more ( ps. working on it)
amirouche 16 hours ago 0 replies      
Do not market a product that has no content.
Ask HN: What's the gravest lack of professionalism you've witnessed at work?
4 points by Red_Tarsius  19 hours ago   1 comment top
apolymath 14 hours ago 0 replies      
Our project manager constantly complaining out loud about how our female clients are "cunts" & "bitches" on a weekly basis, in our open office of 10+ designers & developers (two of which were female designers). Talk about killing morale...
Ask HN: Is there mandarin speech-to-text API with result confidence per word?
10 points by sammyjiang  2 days ago   2 comments top 2
owens99 1 day ago 0 replies      
aka iFly has the best. Mandarin speech to English text and vice versa.
nolite 1 day ago 0 replies      
Google Speech API is pretty good, and has confidence results
Ask HN: Which cryptocurrencies do you think will succeed and why?
9 points by habosa  1 day ago   9 comments top 8
codemonkeymike 2 hours ago 0 replies      
I would invest in a few storage coins, there are 2-3 major ones depending on who you ask. I wont list them here, do some research put a little into 2 of the ones you think are best. Your guess is as good as mine.

I would note that I have investments in 2 of the largest storage coins.

grover_hartmann 1 day ago 0 replies      
Bitcoin, hands down.

SegWit will activate soon and after that we'll get things like lightning with super fast / cheap transactions and no more waiting for transactions to get confirmed.

I think we'll see a lot more mainstream use after LN and the price will either skyrocket or stabilize as a result.

thecupisblue 17 hours ago 0 replies      

1. Because it was first .

2. Because it's got a strong ecosystem .

3. Because a lot of new ones are scams, pump and dumps or unreliable.

companyhen 1 day ago 0 replies      
Bitcoin because it was first.
ismaelbej 22 hours ago 1 reply      
The first to get 1000 transactions per second at a reasonable fee without consuming the energy of a small country.
jotjotzzz 6 hours ago 0 replies      
Why not Ethereum?
meric 1 day ago 0 replies      
Over what period, 2 years, 5 years, 10 years, 50 years, 100 years, 500 years, 1000 years?
SirLJ 5 hours ago 0 replies      
Unfortunately, I broke my crystal ball already...
Ask HN: What career path is better. Bleeding edge or niche?
9 points by minionslave  1 day ago   12 comments top 3
mswen 1 day ago 0 replies      
In your example I believe that complete mastery of ASP.net and strong competency in the adjacent pieces of the MS stack would probably generate the best job security. This stack is used in many medium size businesses all throughout the US, including many with cheaper cost of living than the Bay area. However, you need to be comfortable knowing that you will work mostly on CRUD type applications that power so many business processes.

The bleeding edge is much more interesting but also carries much higher risk and potential reward. You may find yourself expert in something that was technically very interesting but the timing is wrong or the specific tech fades quickly. So failure mode has you learning and relearning the latest frameworks trying to stay hip and potentially changing jobs frequently. On the other hand, success out on the bleeding edge might but you in an equity position in a start-up that turns into a unicorn.

I gravitated more toward the fringe and have built some cool tech but the start-ups and projects never reached market success and so I often reflect that had I picked more standard problems and tech and become expert in those I would have very high consulting rates today and plenty of work. As it is I have moderately high rates but I don't quite fit into people's mold and it is somewhat harder to stay busy with billable hours.

In the end you also have to live with yourself intellectually and emotionally. So although my more fringe focus hasn't yielded the best economic ROI - I have mostly enjoyed the choices and outcomes for my own life.

seanwilson 22 hours ago 0 replies      
What kind of job are you looking for? It depends what you want to do. If you're applying for existing companies seeking certain skills that's one thing, but if you're contracting for non-technical clients they don't care what technology you use as long as you deliver a solution on time and do it well.

Personally, I think once you have enough experience you should be able to easily pick up new frameworks. I don't understand developers who try to define themselves by a single language or a single framework. You should be trying to pick the best tools available and learn as you go when required. You might be safe for a couple of years sticking to one thing but the industry is constantly changing so you should have a diverse skillset and always be learning.

muzuq 1 day ago 4 replies      
If you ever want to truly be held as an expert, you should be doing what you _enjoy_ most. Not for money, not for job security. Purely enjoyment.

The rest will follow.

Ask HN: What is the most impressive career switch you've ever witnessed?
8 points by bsvalley  1 day ago   11 comments top 9
muzuq 1 day ago 0 replies      
I don't know if "impressive" is the word I'd use, I also don't know if this is the sort of story you're interested in, but...

I graduated Construction Engineering Technology, worked manual labour and moved into an estimating/quantity surveying role at a small construction firm. I was still site foreman at the time, and did just as much physical labour after graduating as I did before.

I decided physical labour was not the life for me. Got hired on at a small oil and gas engineering firm which engineers specialty products for large diameter pipeline construction. What was I doing? Reception. Answering phones. Doing dishes. Booking flights. All the administrative things which were (I thought) far and below me, the educated man.

Fast forward 6 months, I've had two promotions, two raises, and am having my IIBA membership and classes paid for. I still do some reception duties, but rarely.

I think there's a lesson to be had here. I was pretty upset moving into a role at the bottom of the pole, after being fairly "high up" in my old role (well, lots of responsibility even if the pay didn't quite reflect that). But, now I'm making more money than I was, with as much schooling as I (reasonably) want paid for. I showed up with a good attitude every day, and no matter how remedial I felt the work was, I put in 100% effort. It paid off. It's continuing to pay off.

tldr - Started as a receptionist, now am much more

rcarmo 1 day ago 1 reply      
I know irony is dangerous on HN, but there was this millionaire who became politician and presided over a nation.

I think that it qualifies as both unthinkable and impressive (albeit mostly in terms of collateral damage).

8draco8 13 hours ago 0 replies      
I met couple of them:

Soldier in the navy, served enough to fully retired. While being on retirement he learned HTML, CSS, PHP (around 2000s) and he is contractor to this day.

Manager in warehouse. He was working there for 5+ years starting as the lowest paid employee (some other physical jobs before that), decided to start coding. He learned front end dev in 2 years on online courses and landed his first dev job just before he turned 30.

le-mark 20 hours ago 0 replies      
I once knew a guy who was enlisted in the Air Force (US) and assigned to a ROTC unit at some school near Harvard. He some how got into Harvard Business school and got the Air Force to pay for it. When I knew him, he was in my reserve unit, and had finagled a COO role at a prominent local business with the mandate to turn it around. Apparently this was based solely on his MBA from Harvard. Which he did. He finished out his reserve contract and last I heard had moved on to CEO some other company.

TL DR: Air Force enlisted to CEO.

Edit; Now that I think about it, I also worked for another company who's CEO had started of enlisted in the military (army national guard iirc). So two enlisted to CEO stories.

bhchance 9 hours ago 0 replies      
I went from fine dining cook to Marine Corps infantry to developer. Though the GI Bill takes a lot of the impressiveness out of a massive career change helped by a college degree.
HenryTheHorse 12 hours ago 0 replies      
Jeff Baxter, one of the great guitar players who played with Steely Dan and Doobie Brothers, is now a defense consultant and chairs a Congressional Advisory Board on missile defense.

Talk about a radical switch.

mattbgates 1 day ago 0 replies      
Probably nothing crazy but I reflect on my life. I started working as a security officer after high school. I thought: I'm going to move up in the ranks and make good money. I knew everything and I was ready to take on the world.

While my pay wage was something of a joke, although at some sites it was more than others, but 4 years later and a penny raise (boss probably did it as a joke), I realized, I was stuck in a dead end job with no opportunity to grow.

I went back to college, having no idea where I would end up. I continued working security jobs in order to help me pay my way through college. I was interested psychology (which I have my degree in) and eventually wanted to do something with career counseling -- helping college students find their place or helping people who decided to have a career change later in life.

During my latter years in college, I got out of security and worked for student life, which only paid some minimum wage, but I got to do a series of jobs such as orientation leader, secretarial work, and even campus card (I took photos of everyone), and even worked at a liquor store in downtown Chicago for a year.

Anyways, after college, I moved to Israel for a year, where I taught English to elementary and middle school students, and although it was nice, I wasn't very interested in working with kids. This nonprofit organization needed a website so I volunteered to do it for them and loved it. It gave me some insight into web design.

I moved back home and I was desperate for a job with no money and student loans to pay off... so I did the only thing I knew to do: I applied across the boards on Craigslist. I figured I had a college degree now, who wouldn't hire me? Only one company responded, a software company that licensed out their autobody shop software, a program created in Visual Basic 6.0. I had experience in it personally, having taught myself when I was like 11 or 12, but not any experience professionally, but they took a chance on me, and I worked there for a year and a half. I was hired to make the UI more friendly and fix bugs.

After that, tired of a tyrant boss, I moved on to full-time web designer for a Solar Panel company, working in Flash and did the animations for them that displayed on a kiosk for companies in their lobbies. At the same time, I also got hired as a web designer for the media (Solar Panel company on location from 8 AM - 5 PM, media company remotely from 6 PM - 2 AM). I was also freelancing on the side as a web designer. So for almost 2 years, this was my life.

I was eventually laid off from the day job and currently still have a job working for the media, but I am no longer working remotely. They gave me a choice: move across the country or get laid off. So being one of the only employees who chose to move, out of about 20, I negotiated a nice salary rise and they even paid for my move across the country.

If you asked me just a decade ago what I would've been doing today, I probably would have never guessed I'd be working as a web designer / web developer.

dozzie 1 day ago 0 replies      
Any career switch that involves dozens of months of training is veryimpressive. I've seen several career switches. One of them was an architectthat took part-time CS studies to become a programmer. Another was a HR guythat was an electrical engineer before; he was around 40 years old when hetook the same part-time CS studies as the mentioned architect. Yet anotherstarted as a paramedic, then switched to civil engineering, and he still hasenough energy to learn programming (though he's forced to do this, as there'slittle construction work around here).
Ask HN: Why are british obsessed with tea and mate?
2 points by hubatrix  23 hours ago   1 comment top
       cached 26 July 2017 04:05:01 GMT