HNHacker News
TopNewBestAskShowJobs

jasonswett

425 karma · joined January 19, 2011

http://www.jasonswett.net
submissionscomments
jasonswett··on My Agent Skill for Test-Driven Development
The reason it works is because there's a difference between the model knowing something and the agent doing something. Claude will happily write giant untested functions even though it "knows" that short functions are easier to understand and then testing enables safe refactoring etc. The model also "knows" many conflicting "facts", such as the fact that testing is smart and that testing is a waste of time. It can't act on both beliefs at the same time. That's why nudging it toward your own preferred behaviors works.
jasonswett··on My Agent Skill for Test-Driven Development
I HATE this. I call it speculative coding. Claude often calls it "defensive" programming. It's easily my #1 LLM pet peeve. I have yet to figure out a reliable way to make this stop happening.
jasonswett··on My Agent Skill for Test-Driven Development
OP here. I don't know, in my experience Claude took "clean the kitchen before we make dinner" to heart in an astonishingly productive way. I haven't tried many other analogies though.
jasonswett··on My Agent Skill for Test-Driven Development
Thanks, I'm glad you like it!
jasonswett··on My Agent Skill for Test-Driven Development
My experience has been that yes, LLMs already know about TDD, OOP, etc., but they won't necessarily BEHAVE according to what they know unless you tell them. And of course, they "know" a lot of things that conflict with each other.
jasonswett··on My Agent Skill for Test-Driven Development
Good point! Will add a date.
jasonswett··on I don’t buy “duplication is cheaper than the wrong abstraction” (2021)
Totally agree, although I'd maybe replace "knowledge" with "knowledge or behavior".
jasonswett··on I don’t buy “duplication is cheaper than the wrong abstraction” (2021)
> Just because a piece of duplication costs something doesn’t automatically mean that the de-duplicated version costs less. It doesn’t happen very often, but sometimes a de-duplication unavoidably results in code that’s so generalized that it’s virtually impossible to understand. In these cases the duplicated version may be the lesser of two evils.
jasonswett··on I don’t buy “duplication is cheaper than the wrong abstraction” (2021)
> One of the biggest benefits of duplication that the author fails to identify the locality of logic

There are a lot of things in the post that I fail to identify. There are also some things I wrote there that I no longer completely agree with.

Here's a newer post in which I go deeper, and in which I do address the locality of logic.

https://www.codewithjason.com/duplication/

jasonswett··on [dead]
I like reading articles about programming but I don't really want to get more emails. I also prefer reading offline over reading on the screen.

I figured there were probably other people like me so I decided to start a snail mail programming newsletter. You can find it here: https://www.codewithjason.com/snail-mail-newsletter/

So far 92 people have signed up from 19 different countries. If you choose to sign up, I look forward to send you letters in the mail (and hopefully getting letters back!).

jasonswett··on Monty Hall Problem
The rule is "after the player has guessed a door, open ALL the other doors except the door that was guessed plus one other door".

I think your confusion is because if there are 100 doors then the rule is self-evident. But when there are only 3 doors, the rule of "open all doors except the door that was guessed plus one other" is indistinguishable from "open just one door".

The key is knowing that the rule is the "open all..." rule.

jasonswett··on When I do TDD and when I don’t
I personally don't see any reason why the type of test matters when doing TDD. As I see it you can do TDD with integration tests just as much as you can do TDD with unit tests. The only difference to me is that the work involved might take on a bit of a different character. But that doesn't make it not TDD to me.
jasonswett··on Ask HN: Where would you start looking for development clients?
Agreed. Although I think the reason why most freelancers sell staff aug work as opposed to what you might call "strategic project work" is that it's about 100X easier (at least in my experience) to find staff aug work.
jasonswett··on Ask HN: Where would you start looking for development clients?
When I used to freelance I divided my marketing activities into two categories: "hunting" and "farming".

Hunting tactics include things like responding to job board ads, reaching out to people you know to see if they can help you find a gig, or going to a conference to try to find a new client. Like real hunting, hunting for clients can be fast, but it’s only successful a fraction of the time, and you don’t always get something good.

Farming tactics include things like writing blog posts, writing books, speaking at local meetups, speaking at conferences, guesting on podcasts, hosting podcasts, and other things that demonstrate your technical competence to a (if done successfully) large number of people. Farming can yield much better results than hunting, but there can be quite a long interval between the time you plant the seed and the time you get to reap the harvest. And just like in real farming, not all the seeds you plant will sprout into plants that bear fruit.

In my experience, farming tends to yield better clients than hunting, although you can't control when the clients are going to come.

I hate to say it but I think your safest bet is for you and your colleagues to each go your separate way (for now) and find contract gigs individually. In my experience it's really hard to find a client who wants to hire multiple people at once. The easiest kind of client to find is a software organization that needs a programmer and is willing to use a contractor rather than a full-time employee.

And BTW, the sad secret I learned about freelancing over the course of ~8 years doing it is that 99% of freelancers are just staff-aug contractors. They're not making great money and they don't have a special lifestyle. The only difference between most freelancers and regular employees is that the freelancers file 1099s instead of W-2s. Not trying to be a downer about it but I think it's helpful to acknowledge the reality of it.

Lastly, I've been asked many times how to get freelance clients, so I wrote a post about it here: https://www.jasonswett.net/my-advice-to-brand-new-freelance-...

Hope that helps.

jasonswett··on List of oldest continuously inhabited cities
What about London?
jasonswett··on How to Make Your Organization Attractive to Engineering Talent
I think my estimate was a little on the high side. I've tempered my opinion since then (and I've edited that part out of the post). I don't think 9 out of 10 developers are incompetent.
jasonswett··on Ask HN: What has been your most rewarding job or project and why?
I'd suggest the Philosophize This podcast.
jasonswett··on Ask HN: How do you scale a one person consultancy to an agency?
If someone were to ask me this question, the first thing I would ask them is: Why do you want to do that?

Some years ago, I thought I wanted to scale from a solo freelancer into an agency. I had two reasons: 1) money and 2) accomplishment. It's now my belief that building an agency is not a good way to achieve either of those two goals.

I went a small ways down the path of building an agency. I worked on a project where I hired two other freelance developers and one designer to help me. It was a lot of mental overhead and at the end of it, I didn't make that much money. Taking into account the stress of managing other people and the risk of being responsible for other people's work (including mistakes), I ended up wishing I hadn't gotten any other people involved at all.

One of the least attractive parts of running an agency I can think of is the boom-and-bust cycle. Almost every freelancer/consultant has a boom-bust cycle. With an agency the symptoms of the boom-bust cycle are amplified and made much more painful and serious. I've seen agencies have to lay people off when times are lean. Then when times are "good", you have to scramble to hire more people to do all the work - or make your employees work overtime, which I think is pretty unfair (I've been in this position at agencies).

So at some point I decided I didn't want to build an agency after all. Instead I decided to make as much money as possible (in as few hours as possible) as a solo consultant. Based on the fact that [Alan Weiss](https://www.amazon.com/Million-Dollar-Consulting-Alan-Weiss/...) claims (in such a way that I believe) to earn over a million dollars a year as a solo consultant, I understand it's possible to earn quite a lot as just a single individual.

My biggest success in increasing my earnings has been to move from development to training. I haven't succeeded in charging more than $100/hr as a developer (except some tiny projects and emergencies) but I've charged as much as $13,000 a week as a trainer. Some trainers I know charge $20,000 a week or more.

I've also had some small successes selling products. I wrote an ebook in 2016 that sold about $8,000 worth. Now I'm working on the next product.

So if someone came to me with this question of how to scale into an agency, my answer would be that I think there are way better ways to get what you think an agency will get you, unless for some reason you really want to start an agency for the sake of starting an agency.

jasonswett··on Ask HN: How do you find freelance work?
Have you done these things?
jasonswett··on The day I accidentally killed a little boy
Steven Pinker's book The Better Angels of Our Nature: Why Violence Has Declined addresses most of this stuff. Super interesting book. Seems like things were super horrible in the past. It seems that most people think the world is getting worse and more dangerous over time but the opposite is true.
jasonswett··on I have no side code projects to show you
I'm not calling a person dumb and lazy, I'm just calling a particular behavior dumb and lazy.
jasonswett··on I have no side code projects to show you
It's a very well-known fact that interviewers will often want to see some code.

Because of this, I at one point spent maybe about 15 hours putting together a small project specifically to use as a code sample. This code sample, which again took maybe about 15 hours to put together, served its purpose for years.

To avoid this tiny amount of easy work that has such a high potential upside is, to be frank, just dumb and lazy.

jasonswett··on Ask HN: How much are you earning as a freelance app developer?
In-person workshops, usually 3-day or 5-day classes for big companies.
jasonswett··on Ask HN: How much are you earning as a freelance app developer?
I wrote about it here: https://www.jasonswett.net/how-i-got-started-in-training/
jasonswett··on Ask HN: How much are you earning as a freelance app developer?
For the last few years I've made a little over $100K/year. This is mostly from doing staff-aug-style Ruby on Rails programming at $100/hr.

This year I've transitioned into a mix of coding and training. From training I've earned between $5,000/week and $13,000/week.

jasonswett··on Ask HN: Building a side project that makes money. Where to start?
This is what I believe to be the formula: 1. Find a group of people who are interested in a subject. 2. Find out what, related to that subject, they want to buy. 3. Sell them that thing.

This is the approach I took with my book/videos at AngularOnRails.com, a "side project that makes money".

Another important thing is to surround yourself with people who have successfully done the thing you're trying to do.

I don't have much time right now but if you (or anybody) wants to talk about building side projects that make money, feel free to email me at jason@angularonrails.com. I'm not an expert but I know a hell of a lot more than I did 9 years ago when I started.

jasonswett··on Ask HN: What are your profitable side projects?
Angular on Rails: https://www.angularonrails.com/

I teach Rails developers how to create Angular + Rails applications.

The site has existed since 2014 as an unmonetized blog. In June 2016 I started writing the book, and to date it has made a little over $5,000.

jasonswett··on Ask HN: What are your profitable side projects?
Sorry, I don't understand. What's UpDog?
jasonswett··on Ask HN: Is the concept of a one-person software shop still viable?
I understand that some people do do this. Affiliate marketing/joint ventures.
jasonswett··on Ask HN: Is the concept of a one-person software shop still viable?
I'm marketing it by writing blog posts, usually long, definitive blog posts that spell out the details of solving problems as opposed to "Top 10 Ways to Wipe Your Ass" or whatever. From there, I get people to subscribe to my email list by offering a free guide as a lead magnet. Most of the sales I've made have been via my email list.
Page 1 of 3Next →