← Back to context

Comment by tombert

2 days ago

I think AI has overall helped me learn.

There are lots of personal projects that I have wanted to build for years but have pushed off because the “getting started cost” is too high, I get frustrated and annoyed and don’t get far before giving up. Being able to get the tedious crap out of the way lowers the barrier to entry and I can actually do the real project, and get it past some finish line.

Am I learning as much as I would had I powered through it without AI assistance? Probably not, but I am definitely learning more than I would if I had simply not finished (or even started) the project at all.

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.