top | item 44079303

Ask HN: Go deep into AI/LLMs or just use them as tools?

195 points| pella_may | 10 months ago | reply

I'm a software engineer with a solid full-stack background and web development. With all the noise around LLMs and AI, I’m undecided between two paths:

1. Invest time in learning the internals of AI/LLMs, maybe even switching fields and working on them

2. Continue focusing on what I’m good at, like building polished web apps and treat AI as just another tool in my toolbox

I’m mostly trying to cut through the hype. Is this another bubble that might burst or consolidate into fewer jobs long-term? Or is it a shift that’s worth betting a pivot on?

Curious how others are approaching this—especially folks who’ve made a similar decision recently.

133 comments

order
[+] antirez|10 months ago|reply
My 2 centes:

1. Learn basic NNs at a simple level, build from scratch (no frameworks) a feed forward neural network with back propagation to train against MNIST or something as simple. Understand every part of it. Just use your favorite programming language.

2. Learn (without having to implement with the code, or to understand the finer parts of the implementations) how the NN architectures work and why they work. What is an encoder-decoder? Why the first part produces an embedding? How a transformer works? What are the logits in the output of an LLM, and how sampling works? Why is attention of quadratic? What is Reinforcement Learning, Resnets, how do they work? Basically: you need a solid qualitative understanding of all that.

3. Learn the higher level layer, both from the POV of the open source models, so how to interface to llama.cpp / ollama / ..., how to set the context window, what is quantization and how it will affect performances/quality of output, and also, how to use popular provider APIs like DeepSeek, OpenAI, Anthropic, ... and what model is good for what.

4. Learn prompt engineering techniques that influence the qualtily of the output when using LLMs programmatically (as a bag of algorithms). This takes patience and practice.

5. Learn how to use AI effectively for coding. This is absolutely non-trivial, and a lot of good programmers are terrible LLMs users (and end believing LLMs are not useful for coding).

6. Don't get trapped into the idea that the news of the day (RAG, MCP, ...) is what you should spend all your energy. This is just some useful technology surrounded by a lot of hype of all the people that want to get rich with AI and understand they can't compete with the LLMs themselves. So they pump the part that can be kinda "productized". Never forget that the product is the neural network itself, for the most part.

[+] gpjt|10 months ago|reply
This, 100%. A full-stack engineer will likely have at least a solid understanding of the HTTP protocol, HTTPS, WebSockets, the interface layer between the frontend server and their chosen Web webdev stack, and so on. Then a more general understanding of networking protocols, TCP vs UDP, DNS, routing, etc. In general, you need to have a solid understanding of the layer below where you're working, some understanding of the layer below that, and so on, less and less detail needed for each layer down.

(That's not to say that you shouldn't bother with learning more -- more knowledge is always good -- or that the OP specifically only knows that. It's more a sensible minimum.)

My own "curriculum" for that has been Jeremy Howard's Fast AI course and Sebastian Raschka's book "build an LLM from scratch". Still working through it, but once I'm done I think I'll be solid on your point 2 above. My guess is that I'll want to learn more, but that's out of interest more than because I think its necessary.

[+] losvedir|10 months ago|reply
As someone who I both respect a lot and know is really knowledgeable about the latest with AI and LLMs: can you clarify one thing for me? Are all these points based on preparing for a future where LLMs are even better? Or do you think they're good enough now that they will transform the way software is built and software engineers work, with just better tooling?

I've tried to keep up with them somewhat, and dabble with Claude Code and have personal subscriptions to Gemini and ChatGPT as well. They're impressive and almost magical, but I can't help but feel they're not quite there yet. My company is making a big AI push, as are so many companies, and it feels like no one wants to be "left behind" when they "really take off". Or is that people think what we have is already enough for the revolution?

[+] apwell23|10 months ago|reply
> Learn how to use AI effectively for coding. This is absolutely non-trivial, and a lot of good programmers are terrible LLMs users (and end believing LLMs are not useful for coding).

I've been asking this on every AI coding thread. Are there good youtube videos of ppl using AI on complex codebases. I see tons of build tic-tac-to in 5 minutes type videos but not on bigger established codebases.

[+] manmal|10 months ago|reply
My problem with 5. is that there are many unknowns, especially when it comes to agents. They have wildly different system prompts that are optimized on a daily basis. I’ve noticed that Gemini 2.5 Pro seems way dumber when used in the Copilot agent, vs me just running all the required context through OpenRouter in Continue.dev. The former doesn’t produce usable iOS tests, while the latter was almost perfect. On the surface, it looks like those should be doing the same thing; but internally, it seems that they are not. And I guess that means I should just use Continue, but they broke something and my workflow doesn’t work anymore.

And people keep saying you need to make a plan first, and then let the agent implement it. Well I did, and had a few markdown files that described the task well. But Copilot‘s Agent didn’t manage to write this Swift code in a way that actually works - everything was subtly off and wrong, and untangling would have taken longer than rewriting it.

Is Copilot just bad, and I need to use Claude Code and/or Cursor?

[+] prohobo|10 months ago|reply
Agreed with most of this except the last point. You are never going to make a foundational model, although you may contribute to one. Those foundational models are the product, yes, but if I could use an analogy: foundational models are like the state of the art 3D renderers in games. You still need to build the game. Some 3D renderers are used/licensed for many games.

Even the basic chat UI is a structure built around a foundational model; the model itself has no capability to maintain a chat thread. The model takes context and outputs a response, every time.

For more complex processes, you need to carefully curate what context to give the model and when. There are many applications where you can say "oh, chatgpt can analyze your business data and tell you how to optimize different processes", but good luck actually doing that. That requires complex prompts and sequences of LLM calls (or other ML models), mixed with well-defined tools that enable the AI to return a useful result.

This forms the basis of AI engineering - which is different from developing AI models - and this is what most software engineers will be doing in the next 5-10 years. This isn't some kind of hype that will die down as soon as the money gets spent, a la crypto. People will create agents that automate many processes, even within software development itself. This kind of utility is a no-brainer for anyone running a business, and hits deeply in consumer markets as well. Much of what OpenAI is currently working on is building agents around their own models to break into consumer markets.

I recommend anyone interested in this to read this book: https://www.amazon.com/AI-Engineering-Building-Applications-...

[+] mafro|10 months ago|reply
Thanks for this breakdown, I guess I'm largely in the window of points 3-6.

Any suggestion on where to start with point 1? (Also a SWE).

[+] mikedelfino|10 months ago|reply
Thank you for sharing. Do you recommend any courses or books for following that path?
[+] loveparade|10 months ago|reply
I come from a more traditional (PhD) ML/DL background. I wouldn't recommend getting into (1) because the field is incredibly saturated. We have hundreds of new, mostly low quality, papers each day. If you want to get into AI/ML on a more fundamental level now is probably the worst time in terms of competition. There are probably 100x more people in this field than there are jobs, and most of them have a stronger background than you if you are just starting out.
[+] sMarsIntruder|10 months ago|reply
Looks like OP’s curiosity isn’t just about deep diving LLMs —he’s probably itching to dig into adjacent topics like RAG, AI pipelines, and all the other adjacent LLM rabbit holes.

So in that case I don’t see why not?

[+] risyachka|10 months ago|reply
If there indeed were 100x people more than jobs the salaries would tank. And this is not the case at all with AI/ML salaries being much higher than regular devs
[+] NitpickLawyer|10 months ago|reply
> Is this another bubble that might burst

I see this a lot, but I think it's irrelevant. Even if this is a bubble, and even if (when?) it bursts, the underlying tech is not going anywhere. Just like the last dotcom bubble gave us FAANG+, so will this give us the next letters. Sure, agentsdotcom or flowsdotcom or ragdotcom might fail (likely IMO), but the stack is here to stay, and it's only gonna get better, cheaper, more integrated.

What is becoming increasingly clear, IMO, is that you have to spend some time with this. Prompting an LLM is like the old google-fu. You need to gain experience with it, to make the most out of it. Same with coding stacks. There are plenty of ways to use what's available now, as "tools". Play around, see what they can do for you now, see where it might lead. You don't need to buy into the hype, and some skepticism is warranted, but you shouldn't ignore the entire field either.

[+] Nullabillity|10 months ago|reply
This is just survivorship bias speaking. Some bubbles have a useful core somewhere, but that doesn't mean that every (or even most) bubble does.
[+] wmeredith|10 months ago|reply
This is the most reasonable stance, and I see a lot of smart people take it. The bubble will burst and some winners will remain. Those companies will make bank because the tools are useful to those that know how to use them effectively will excel.
[+] jillesvangurp|10 months ago|reply
Depends on what you want to do. But my 2 cents are that like all new technology, LLMs will become a commodity. Which means that everybody uses them but few people are able to develop them from scratch. It's not different from other things like databases, GPU drivers, 3D engines for games, etc. That all involves a lot of hardcore computer science and math. But lots of people use these things without being hindered by such skills.

It probably helps a little to understand some of the internals and math. Just to get a feel for what the limitations are.

But your job as a software engineer is probably to stick things together and bang on them until they work. I sometimes describe what I do as being a glorified plumber. It requires skills but surprisingly few skills related to math and algorithms. That stuff comes in library form mostly.

So, get good at using LLMs and integrating what they do into agentic systems. Figure out APIs, limitations, and learn about different use cases. Because we'll all be doing a lot of work related to that in the next few years.

[+] fxtentacle|10 months ago|reply
LLMs already are a commodity. Google has already kicked off the competitive price wars. Plus I’ve already seen some local companies just buy a beefy GPU server and deploy an open LLM model. While OpenAI is still trying to push quality, their competitors have already positioned themselves to offer the lowest possible prices. And since Nvidia has no easy path for scaling up compute anymore, I also wouldn’t bet on much larger LLMs anytime soon.

That means, if you learn more about the internals of LLMs, your market angle is going to be artisanal customised models. Fashion is commoditised, but people still pay for a custom tailored suit. In the same way companies will continue to pay for finetunes optimised for their business usecase.

If you decide to focus more on the application of LLMs, you should really invest into high-level architectural skills. Good “code completion” models can already do what an outsourced 10 bucks per hour developer used to do. Your job in the future is going to be to decide the structure of which fuse and against the towel and or which type of state is being stored and managed. But the actual coding of the UI forms and the glue code to synchronise from an SQL query to the client state, that part is probably going to be fully outsourced to LLMs.

[+] matt_s|10 months ago|reply
I think this is the key point - LLMs will go through a commoditization phase and I think you left out a key example from a technology and business context: search engines. There was a huge trend where everyone needed search and was building search, etc. and a couple decades later there are lots of companies that evaporated and a few left standing.

There was also a dot com bubble, mostly bursting not because of search but because there were a lot of what today would be "AI startup" but is just a web app calling AI Api's. So there's likely to be some bubble burst but it should be smaller maybe hitting more of these small tools that eventually become features.

[+] roncesvalles|10 months ago|reply
>It's not different from other things like databases, GPU drivers, 3D engines for games, etc.

Not quite the same. E.g. databases are a part of the system itself. It's actually pretty helpful for a SWE to understand them reasonably deeply, especially when they're so leaky as an abstraction (arguably, even the more nuanced characteristics of your database of choice will influence the design of your whole application). AI/LLMs are more like dev tooling. You don't really need to know how a text editor, compiler or IDE works.

[+] Abimelex|10 months ago|reply
That said, I think there is this thing in between of developing LLMs and using LLMs via APIs and the lines are of cause blurry: Training LLMs (or other neural networks). So best I think is to start digging on the surface and going deeper as long as you feel comfortable. Maybe at a certain point you will have the wish for more power full hardware. Thats the point where you need to decide how much to get invested or to rent a cluster.
[+] amelius|10 months ago|reply
But the question is what mindset will allow you to put yourself ahead of the rest. Because I suppose the OP doesn't want to end up as just another mediocre programmer.
[+] joshdavham|10 months ago|reply
I’d recommend you simply follow your curiosity and not take this choice too seriously. If you’re simply doing this for career purposes, then the honest answer is that absolutely no one knows where these fields will go in the next couple years so I wouldn’t take anyone’s advice too seriously.

But as for my 2 cents, knowing machine learning has been valuable to me, but not anywhere near as valuable as knowing software dev. Machine learning problems are much more rare and often don’t have a high return on investment.

[+] janalsncm|10 months ago|reply
As an MLE I get a decent amount of LinkedIn messages. I think I got on someone’s list or something. I would bucket the companies into two groups:

1) Established companies (meta/google/uber) with lots of data and who want MLEs to make 0.1% improvements because each of those is worth millions.

2) Startups mostly proxying OpenAI calls.

The first group is definitely not hype. Their core business relies on ML and they don’t need hype for that to be true.

For the second group, it depends on the business model. The fact that you can make an API call doesn’t mean anything. What matters is solving a customer problem.

I also (selfishly) believe a lot of the second group will hire folks to train faster and more personalized models once their business models are proven.

[+] ednite|10 months ago|reply
I think about this a lot. If you're early in your career, it must feel like you're staring at a technological fork in the road, with AI standing there ominously, waving both paths like it's the final boss in a RPG game.

Between your two options, I’d lean toward continuing to build what you’re good at and using AI as a powerful tool, unless you genuinely feel pulled toward the internals and research side.

I’ve been lucky to build a fun career in IT, where the biggest threats used to be Y2K, the dot-com bubble, and predictions that mobile phones would kill off PCs. (Spoiler: PCs are still here, and so am I.)

The real question is: what are you passionate enough about to dive into with energy and persistence? That’s what will make the learning worth it. Everything else is noise in my opinion.

If I had to start over today, I'd definitely be in the same uncertain position, but I know I'd still just pick a direction and adapt to the challenges that come with it. That’s the nature of the field.

Definitely learn the fundamentals of how these AI tools work (like understanding how AI tools process context or what transformers actually do). But don’t feel like you need to dive head-first into gradient descent to be part of the future. Focus on building real-world solutions, where AI is a tool, not the objective. And if a cheese grater gets the job done, don’t get bogged down reverse-engineering its rotational torque curves. Just grate the cheese and keep cooking.

That’s my 2 cents, shredded, not sliced.

[+] mdp2021|10 months ago|reply
Building AIs has always been there - it's a (fuzzy, continuous to its complement) way to engineer things. Now we have a boom over the development of some technologies (some next-layer NN implementations).

If you are considering whether the future will boost the demand to build AIs (i.e. for clients), we could say: probably so, given regained awareness. It may not be about LLMs - and it should not, at this stage (it can hit reputation - they can hardly be made reliable).

Follow the Classical Artificial Intelligence course, MIT 6.034, from Prof. Patrick Winston - as a first step.

[+] y42|10 months ago|reply
Depends on your goals. :)

If you're good at what you're doing right now and you enjoy it — why change? Some might argue that AI will eventually take your job, but I strongly doubt that.

If you're looking for something new because you are bored, go for it. I tried to wrap my head around the basics of LLMs and how they work under the hood. It’s not that complicated — I managed to understand it, wrote about it, shared it with others, and felt ready to go further in that direction. But the field moves fast. While I grasped the fundamentals, keeping up took a lot of effort. And as a self-taught “expert,” I’d never quite match an experienced data scientist.

So here I am — extensively using AI. It helps me work faster and has broadened my field of operation.

[+] mindcrime|10 months ago|reply
3) go back to school and study something that isn't done entirely on a computer and requires human physical presence (for now). Learning plumbing, electrical wiring, welding, etc. are options. Even if you don't make that your primary path, it never hurts to have a fallback plan JUST IN CASE some of the buzz around AI-fueled job displacement turns out to be valid.

Or, if you believe there may be some merit to "AI is coming for your job" meme, but really don't want to do blue collar / skilled trades work, at least go in with the mindset of "the people who build, operate, and maintain the AI systems will probably stay employed at least a little bit longer than the people don't". And then figure out how to apply that to deciding between one or both of your (1) and (2) options. There may also be some white collar jobs that will be safe longer due to regulatory reasons or whatever. Maybe get your physician's assistant license or something?

And yes, I'm maybe playing "Devil's Advocate" here a little bit. But I will say that I don't consider the idea of a future where AI has meaningful impact on employment for tech professionals to be entirely out of the question, especially as we extend the timeline. Whatever you think of today's AI, consider that it's as bad right now as it will ever be. And ask what it will be like in 1 year. Or 3 years. Or 7 years. Or 10 years. And then try to work out what position you want to be in at those points in the timeline.

[+] risyachka|10 months ago|reply
Going into trades sounds nice on paper but the salaries there were mostly always low because you need only a handful of those to saturate market needs.

Its not IT where you can create value from thin air and thus grow the market and increase need for even more professionals.

As soon as a tiny percent goes into trades (bet tons of new people already doing this) the market will be oversaturated in a few years when they finish apprenticeships.

After that it will be harder to find a job than in IT with AI around the corner.

[+] teleforce|10 months ago|reply
Nobody is expecting you to be able to derive and write automatic differentiation (AD) library from scratch but it's always good to know the fundamentals [1].

Andriy Burkov has written excellent trilogy books series on AI/LLMs namely "The Hundred-Page Machine Learning Book" and "Machine Learning Engineering" and the latest "The Hundred-Page Language Models Book" [2],[3],[4].

Having said that, the capability of providing useful AI/LLMs solutions for intuitive and interactive learning environment, training portal, standards documentation exploration, business and industry rules and regulations checking, etc based on the open-source local-first data repository with AI/LLMs are probably the killer application that're truly useful for end users, for examples here [5],[6].

[1] Automatic differentiation:

https://en.wikipedia.org/wiki/Automatic_differentiation

[2] The Hundred-Page Machine Learning Book:

https://www.themlbook.com/

[3] Machine Learning Engineering:

https://www.mlebook.com/wiki/doku.php

[4] The Hundred-page Language Models Book

https://www.thelmbook.com/

[5] Local-first software: You own your data, in spite of the cloud:

https://www.inkandswitch.com/essay/local-first/

[6] AI-driven chat system designed to support students in the Introduction to Computing course (ECE 120) at UIUC, offering assistance with course content, homework, or troubleshooting common problems. It serves as an educational aid integrated into the course’s learning environment:

https://www.uiuc.chat/ece120/chat

[+] carbocation|10 months ago|reply
When I was in my postdoc (applied human genetics), my advisor's rule was that you needed to understand the tools you were using at a layer of abstraction below your interface with them.

For example, if we wanted to conduct an analysis with a new piece of software, it wasn't enough to run the software: we needed to be able to explain the theory behind it (basically, to be able to rewrite the tool).

From that standpoint, I think that even if you keep with #2, you might benefit from taking steps to gain the understanding from #1. It will help you understand the models' real advantages and disadvantages to help you decide how to incorporate them in #2.

[+] jll29|10 months ago|reply
> my advisor's rule was that you needed to understand the tools you were using at a layer of abstraction below your interface with them.

Very wise advice! And the more complex systems are, the more this is truly needed.

[+] itake|10 months ago|reply
Both are tough.

1/ There aren't many jobs in this space. There are still far more companies (and roles) that need 'full-stack development' than those focused on 'AI/LLM internals.' With low demand for AI internals and a high supply of talent—many people have earned data science certificates in AI hoping to land lucrative jobs at OpenAI, Anthropic, etc.—the bar for accessing these few roles is very high.

2/ The risk here is AI makes everyone good at full-stack. This means more competition for roles, less demand for roles (now 1 in-experienced engineer with AI, can output 1.5x the code an experience Senior engineer could do in 2020).

In the short/medium term, 2/ has the best risk/reward function. But 1/ is more future proof.

Another important question is where are you in your career? If you're 45 years old, I'd encourage you to switch into leadership roles for 2/. This wont be replaced by AI. If you're early in your career, it could make more sense to switch.

[+] JackDanMeier|10 months ago|reply
From my prespective it's a bubble, very similar to the dot com bubble. All businesses are integrating it into everything, often where it's unnecessary or just confusing.

But I believe that the value will come after the bubble is burst, and the companies which truly create value will survive, same as with webpages after the dot com bubble.

[+] Jabrov|10 months ago|reply
My recommendation would be to use them as a tool to build applications. There's much more potential there, and it will be easier to get started as an engineer.

If you want to switch fields and work on LLM internals/fundamentals in a meaningful way, you'd probably want to become a research scientist at one of the big companies. This is pretty tough because that's almost always gated by a PhD requirement.

[+] bloppe|10 months ago|reply
AI is a scientific discipline. Software development is an engineering discipline.

Do you like science? Then dive deep into LLMs. Be ready for science, though. It involves shooting a thousand shots in the dark until you discover something new. That's how science gets done. I respect it, but I personally don't love doing it.

Do you like engineering? That's when you approach a problem and can reason about a number of potential solutions, weigh the pros and cons of each, and pick one with the appropriate trade-offs. It's pretty different from science.

[+] speakfreely|10 months ago|reply
This makes frontier research sound very similar to gambling. Any correlation in personality types?
[+] rikroots|10 months ago|reply
I posted a recent Show HN[1] detailing why I felt the need to understand the basics of what LLMs do, and how they do it. Even though I've no interest in building or directly training LLMs, I've learned the critical importance of preparing documentation for LLM training to try and stop AI models generating garbage code when working with my canvas library.

[1]https://news.ycombinator.com/item?id=44079296

[+] petesergeant|10 months ago|reply
Focussing on the inner workings of them may well end up being a type of programming you don’t enjoy: endless tweaking of parameters and running experiments.

Learning to work with the outputs of them (which is what I do) can be much more rewarding. Building apps based around generative outputs, working with latency and token costs and rate limits as constraints, writing evals as much as you write tests, RAG systems and embeddings etc.

[+] eric-burel|10 months ago|reply
Hi, I am working in making the term "llm developer" more popular in France and train people to this new job. We will need a bunch of them in the months/years to come to implement advanced AI systems after companies manage to properly pick and set up their AI platforms. Currently people would tend to involve data scientists into this job, but data scientists are often less versed into the software engineering aspect, eg when they work more on notebooks than web apps. The job is akin to being a web developer, so a "normal" developer but specialized in a certain field. Knowing the internals of LLMs is a big bonus, but you can start your journey with treating them as black box tools and still craft relevant solutions. You'll need to learn about running systems with databases (vector, graph, relational and nosql are all useful) and plugging multiple services together (docker, kubernetes, cloud hosting).
[+] qsort|10 months ago|reply
Isn't this what originally data engineers were supposed to be? I get that the role has probably become "clicks buttons in the Azure GUI", but the "good" ones are basically backend developers that specialize on data stacks.

The data scientist roles have had a similar drift in my experience. They used to be "statistician who can code" or "developer who knows some stats", what we got is "clicks buttons in the Azure GUI".

[+] JFingleton|10 months ago|reply
3. Focus on leveraging AI to solve real world problems.

You don't need to deep dive into the maths. You'll need to understand the limitations, the performance bottlenecks, etc. RAGs, Vector DBs, etc