←back to thread

5 points numcap | 1 comments | | HN request time: 2.534s | source

I am a third year Software Engineering Student, is it still worth it to build projects from scratch or should I just use AI (claude, chatGPT, lovable, etc.) to build them for me? I have built plenty of Projects from scratch, trying to learn the ins and outs of languages and frameworks, but it seems like everyone and their mother uses AI to just build stuff for them. So is it still worth it to learn or should I just become a prompt engineer?
1. SeanAnderson ◴[] No.45618566[source]
I think the answer, like almost everything in software engineering, is, "It depends."

How well defined are your requirements? Do you need/want a prototype to play around with to get a better perspective on your needs? What scale of project are you building? How novel is what you're trying to build - is it a technical play or is it more a marketing/sales play that just needs some software behind it?

Building prototypes with AI is very empowering. Rewriting large, technical codebases is a recipe for frustration. Shipping lots of "micro-SaaS" products using AI seems reasonable as long as you get value quickly and move onto the next one rather than going deep for years. They might also work well for smaller games.

A lot of people will say that you don't internalize what you've built when using AI. This has the potential to be true, but it doesn't necessarily need to be true. I was surprisingly pleased by how much deeper I thought about functional requirements after working with AI to create a functional spec., then a technical spec. from the functional, then an implementation plan from the technical. AI asked me numerous times for clarification in areas that, on first pass, I thought were clear, but had more issues than I realized. I do not think I would have gotten to as good of results had I just had the AI write code without planning, but there's nobody to stop me from attempting that.

Similarly, being able to build a working prototype in hours, not days, let me realize a lot of other issues much more quickly. There was functionality that sounded good on paper, but, once I got to actually play with it, was no good. This could've been achieved with a no-code solution, but building it with AI got me to effectively the same result without having to learn another tool and then translate designs from that tool into code.

All that said, it is practically guaranteed you will reach a point where, despite best efforts, using AI will result in some excess code complexity that might need to be triaged with a learned mind. The bar for when this occurs is certainly being raised as the tooling and methodologies improve, but it's still there. The more strategies you can employ to stave that off the better.