← Back to context

Comment by skydhash

3 days ago

What was your previous approach? From what I've seen, a lot of people are very reluctant about picking a book or read through a documentation before they try stuff. And then they got exposed to "cryptic" error message and then throw the towel.

I always used to try doing that. Really putting in the work, thoroughly reading the docs, books, study enough to have all the background information and context. It works but takes a lot of time and focus.

However, for side projects, there may be many situations where the documentation is actually not that great. Especially when it comes to interacting with and contributing to open source projects. Most of the time my best bet would be to directly go read a lot of source code. It could take weeks before I could understand the system I'm interacting with well enough to create the optimal solution to whatever problem I'd be working on.

With AI now, I usually pack an entire code base into a text file, feed it into the AI and generate the first small prototypes by guiding it. And this really is just a proof of concept, a validation that my idea can be done reasonably well with what is given. After that I would read through the code line by line and learn what I need and then write my own proper version.

I will admit that with AI it still takes a long time, because often it takes 4 or 5 prototypes before it generates exactly what you had in mind without cheating, hard coding things or weird workarounds. If you think it doesn't, you probably have lower standards than me. And that is with continuous guidance and feedback. But it still shortens that "idea validation" phase from multiple weeks to just one for me.

So: is it immensely powerful and useful? Yes. Can it save you time? Sometimes. Is it a silver bullet that replaces a programmer completely? Definitely no.

I think an important takeaway here also is that I am talking strictly about side projects. It's great as the stakes are low. But I would caution to wait a little longer before putting it in production though.

The biggest blocker for me would be that I would go through a "Getting Started" guide and that would go well until it doesn't. Either there would be an edge case that the guide didn't take into account or the guide would be out of date. Sometimes I would get an arcane error message that was a little difficult to parse.

There were also cases where the interesting part of what I'm working on (e.g. something with distributed computing) required a fair amount of stuff that I don't find interesting to get started (e.g. spinning up a Kafka and Zookeeper cluster), where I might have to spend hours screwing around with config files and make a bunch of mistakes before I get something more or less working.

If I was sufficiently interested, I would power through the issue, by either more thoroughly reading through documentation or searching through StackOverflow or going onto a project IRC, so it's not like I would never finish a project, but having a lower barrier of entry by being able to directly paste an error message or generate a working starter config helps a lot with getting past the initial hump, especially to get to the parts that I find more interesting.