Hacker News new | past | comments | ask | show | jobs | submit login

To be accurate, all three of the hosts are programmers.



Two of them are working programmers though and, in my opinion, much stronger programmers. I just think it's clear why he thought this was a valuable app idea.


I've listened to ATP since day one. My impression of Siracusa as a programmer is limited to the few apps he's released. But he could be a fantastic programmer at his "jobby-job." Or he could just be average. We have no way of telling, despite how intelligent both his writing and his speaking on the podcast might convey.

Marco is very successful with Tumblr, Instapaper, and Overcast, yet we don't know how good a programmer he is. He's made great money, and has strong opinions, but again, we don't know how good a programmer he is.

Casey used to have a "jobby-job" before leaving the corporate world. So he too might be a good, bad or excellent programmer. We don't know.

It's kind of like how you don't really know someone until you live with them. For programming, it's until you've worked with them and seen their code. All three of the hosts might be world class; or they might be average. But there's no way to determine who is the strongest programmer of the three.

We can debate who's been more successful selling their code, but we don't know where Siracusa works and code/app sales are a poor metric for code quality.


We obviously can't know, but hearing someone talk about something gives you an idea.

My impression is that Casey is quite weak (as in average), but meticulous.

Siracusa is almost certainly the one with the best understanding of theory, but hard to say how he is practically. He could be very good at what he's doing.

Marco also doesn't seem very strong in raw programming (he resisted Swift for half a decade, complains that it's hard to deal with, says that architecture is only for beginners etc) but obviously he can solve whatever problem he is faced with, even quite complex ones. And this is obviously what matters if you are an indie developer. That and product sense, which he is also very good at. He probably has the perfect skillset for an indie developer, better programming wouldn't make him any more successful.


I think Marco's resistance to Swift doesn't indicate anything about programming skill. Based on his low level audio programming (he hates to rely on code outside of his own), he's quite an accomplished programmer, unafraid of complex problems or reinventing the wheel when an existing library doesn't satisfy his desires. I doubt he would survive well in the world of unit tests, CI/CD, Jira and managers though. And I envy him for being able to avoid that.


Yeah, gotta defend Marco here, though I have my quibbles with him on this show. (He has the most first-worldiest of problems.)

He has gone in deep on performant low-level audio code, and how it integrates with the system APIs. He’s done a lot of interesting stuff with programmatic drawing of icons in his apps. He did a lot of good caching work back in the Instapaper days, when cell connections were almost like dialup.

He seemed to be reluctant to learn Swift, because Swift would have gotten him…what? I think he thought that Objective-C was mature, tested, comprehensible, and battle-tested in production. And it wasn’t going to change out from underneath him…which you sure couldn’t say about Swift for the first few years. You eventually had to adopt it, as Apple is moving to Swift-only, but I think Objective-C let him accomplish his goals, and a lot of the good security stuff in Swift is maybe not super relevant to his app development.

(Ugh, PHP, though…)


I love how Marco just feels like throwing money at one of life's problems is the best solution. I think he would be the first to tell you the role of luck in his success. Yes, he worked long hard hours at Tumblr, and eventually that paid off financially when Tumblr was sold. He was smart to scratch an itch when the iPhone first came out by releasing Instapaper, and smart to realize when it was time to sell it. He was smart to realize his itch for a good podcast player might be universal. So I think he's an incredible businessman who is really only limited by his unwillingness to yoke himself to a corporation.

His use of Obj-C and PHP are just as pragmatic to me. He's an expert at Obj-C and possibly at PHP, and why change? Let Swift mature, see if Obj-C becomes deprecated, and then move on. He can obviously learn new languages since he's dabbled in Rust etc.

I do wish ATP focused more on tech stuff and less on how to live your best life on Fire Island. But I enjoy it every week.


> yet we don't know how good a programmer he is

You know he is good because…

> Marco is very successful with Tumblr, Instapaper, and Overcast,

I don’t need to “see his code” to know whether he is good. He is able to produce software that people pay money to acquire without the sliminess. Software is a means to an end. Not an end onto itself.


You're conflating smart business choices with good programming. His code could be well marketed shit that just barely works under the covers, but he sells it well (Narrator's voice: "It isn't shit...")

Marco is an excellent indie developer because he selects markets he has a good understanding of, finds his niche, then simply outclasses his competition by being ahead on features. He also has a loyal following from his podcasts, and is an aspirational figure for a lot of devs hoping to make money (or break free of corp serfdom).

A well written program/app isn't a necessary requirement for success.


Yes. This.

There are some segments from a few episodes that show that Marco is demonstrably not a super great programmer. I suspect some of his server side code is horrible. But he doesn't matter because he is super strong at other stuff super focussed on solving his own problems at gets it done. You don't need to be super great at programming you just need to be tenacious.


What’s the purpose of programming if it’s not “make the computer do stuff I need it to do to solve my problem”?

Yes I know all about clean code, automated testing, and “sound engineering practices”. But I’ve met a number of theoretical good coders who couldn’t ship a product that met the customer’s needs to save their lives. If I’m working to support my addiction to food and shelter, if I write code that doesn’t further that effort, I’m not being a “good programmer”.


Why do you insist on not understanding what it means to write high quality code? In some contexts, like my previous job, it's important. In others, like if you're making games or non-essential apps in your one man indie shop, much less so. Other qualities are much more important. But it doesn't matter if it's "important" or not, it's a concept that exists, and the only thing we are trying to discuss is that.

It's like if we were discussing the IQ of tech founders and you kept interrupting, saying "IQ is not all that matters", "You can't pay your bills with IQ points", "Steve Jobs might not have a genius IQ but he was a great entrepreneur and that is more important". It's all true, but irrelevant, since it's specifically IQ levels we are discussing.


My thesis is still code is meant to make the computer stuff. That “stuff” can be “Candy Crush” or “reliable code that doesn’t cause a plane to fall out of the sky”.

But writing the best “Enterprise FizzBuzz” that doesn’t solve a problem no matter how good the code is is meaningless. A great developer that writes code that no one uses is not a great developer.

In other words a great developer that can’t ship is worthless - the whole “smart and gets things done” metric.


You can think whatever you want, but we are still discussing the quality of the code that they write. Not which skill is more important, what life is like at Google, your inferiority complex about not passing the whiteboard test, or anything else.

FWIW, there are plenty of people who shipping great quality code everyday at Apple, Google etc. Not "FizzBuzz", but concise, human readable, robust, maintainable code. My only contention is that Marco probably wouldn't be able to write code to the standard required at some FAANGs. Casey definitely wouldn't. John quite likely. What do you think?

Keep in mind we are only discussing the code aspect. Not putting up with standups, corporate jargon, middle managers, 9-5 etc.


Let’s take the opposite argument. Is an app “well written” if it doesn’t meet anyone’s needs?


As I'm sure you know, it "depends."

Well-written apps can meet a need, but it's like furniture. You can buy some cheap futon that gives you something to sleep on, but doesn't last long. Or you can buy a bespoke bed with handcrafted mortise and tenon joints, perfectly straight grained wood, and French polish finish. Both will give you a place to sleep, but one might last longer.

It's like my code. I have some super ugly python utils I've written that a "real" programmer would cringe when looking at the code. But it works 100% of the time when run (assuming the processes they call don't change their specs). The code is written for Python2, and breaks on Python3. It's not very clear how things work, despite extensive commenting. By your definition, these utilities would be "well written." To me, they're brittle, fragile eggs that I eventually will have to rewrite when Enterprise Security decides we can't have python2 binaries on our servers.


Fair point. No one else could probably maintain it but you.

Marco has already solved that problem. He said if he dies, his app dies with him…


He's undoubtedly a world class indie developer, but we were discussing his abilities as a programmer, in the sense of writing good code. True, it's not necessarily important or valuable in life, but that is what we were talking about.

Most of the people I worked with at my FAANG job were excellent programmers, surely better than Marco, but none of them would have any chance of even coming up with a decent idea for an app, let alone carry it through and launch it. So they are absolutely useless as indie developers. It's just different skill sets.


Our definition of a “well written app” is different.

An app to me is well written if it is meets a need well enough to be successful. I would be much more impressed by an Indy developer who has a successful sustainable business without being slimy than a “FAANG” software engineer that got in because he can reverse a binary tree on the whiteboard while juggling two bowling balls and riding a unicycle on a tightrope.

I also know we are both talking hypothetically. If you listen to him about some of the low level audio processing he does, he’s definitely pretty good.

Before I get the expected replies, no I’m not “jealous of FAANG SWEs”. I work for BigTech myself after a very slight pivot from enterprise development.


The interview is the least demanding part, working as a software developer at an ambitious company has nothing to do with binary trees.

What does it matter which skill is more impressive? Obviously there are way fewer successful indie developers than top tier developers, and obviously life as a successful indie is way better. Yet, there is such a thing as writing high quality code, which is more or less orthogonal to being a successful indie. And that was what we are discussing.

It's a bit like being a fast runner and being a good football player. There's some connection, but it's not like the fastest runners are the best players, or the other way around. Different skills.

As to low level audio, I know what you're referring to, and it doesn't say that much really. My co-founder at my previous startup wrote a bunch of DSP code that worked, and was probably more complex than the pause removal, but he was still a pretty random developer. His code was sometimes surprisingly bad. Marco's strength is to not shy away from anything, even if it sounds scary or complex. DSP sounds complex, but it's not string theory.


You saw the part about I work at BigTech? Trust me, the code is not rocket science that the vast majority of what software engineers do at BigTech. Well at least the code that runs 2/3rds of the cloud infrastructure in existence.

Many of them could never handle the complexity of writing an entire app and maintaining the backend running on 20+ Linode VMs without the support of a trillion dollar corporation.

You really overestimate the skill and complexity of most code written by “FAANG” engineers.

FWIW, I’ve been coding for a long time (the 74 is a hint) and I started at 12 writing assembly language and spent a decade writing C including maintaining a proprietary compiler/VM for Windows CE devices.


> Trust me, the code is not rocket science that the vast majority of what software engineers do at BigTech.

Again, that is not the discussion. Nobody said that you have to write high quality code to make it in tech, or as an indie. You keep coming up with strawmen but all I am saying is that I don't believe Marco Arment writes very high quality code. That's it. No judgement, no conclusions or correlations, no nothing.

As to FAANG, I can only be certain about my own experience, and the dozen or so direct colleagues I had all wrote better code than every other colleague I've had over 10 years. Not saying they are better people, happier, richer or anything else. Just to be clear.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: