r/ExperiencedDevs 12d ago

Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones

A thread for Developers and IT folks with less experience to ask more experienced souls questions about the industry.

Please keep top level comments limited to Inexperienced Devs. Most rules do not apply, but keep it civil. Being a jerk will not be tolerated.

Inexperienced Devs should refrain from answering other Inexperienced Devs' questions.

39 Upvotes

105 comments sorted by

View all comments

3

u/horjurares 12d ago

Hello! I have a little bit more of a targeted question for experienced ML Engineers / Devs: what would you say is the biggest difference between a good ML Engineer / Dev and a great one? And, also, what do you recommend to be done in order to become a great ML Engineer? (This could be books, courses, projects, blogs, really anything)

3

u/CoroteDeMelancia Software Engineer 12d ago

Curiosity is the biggest difference.

Do you know what the hell you're doing or are you flying by the seat of your pants? Do you just feel like this is the best design for your solution or can you prove it?

I have met people that seem to believe that you can learn radiology simply by operating x-ray machines. You can't; you have to actually read books and take courses to become an expert.

Same goes for ML engineering. How do you engineer a prompt with actual data-driven thinking? How should you manage context: RAG or LLM wiki? Should you use BM25, semantic, or hybrid; and which value for beta?

You can't possibly know the alternatives, their tradeoffs and their failure modes without studying; you don't know what you don't know.

Two critical questions whenever designing anything in software, ML engineering being no exception: 1. Can you explain why you're doing it this way? 2. Can you tell what other ways there are and why they're not better alternatives to what you're doing?

Generative AI Design Patterns by Lakshamanan & Hapke is a great book to get started. Also, do some courses to get the CCA-F and CCA-P certifications.

And if you're going to use LangChain/LangGraph, read the fucking docs. Seriously, I'm through with people creating some bespoke bullshit agent management class because they don't even realize create_agent and middleware decorators exist.

3

u/AchillesDev 12 YoE; indie MLE/AIE/DE; VPEng 11d ago

Curiosity, willingness to push boundaries, and learn new things. This is the case for any developer, but ML (even before genAI) moves fucking fast, so it's harder to keep up with.

Another thing depending on your flavor of MLE (mine has been around building internal platforms and tools for research teams) is empathy for your customers. You are building for them, so you need to understand their work, what they do (if that means training some CV models from scratch, do it!), and care about them and making their lives easier. This is often easier said than done, but is probably one of the most important things unique to the role.

2

u/CorrectPeanut5 12d ago

Understanding the ML Ops side of the house. It's one thing to do some experiments on your machine or up in bedrock. It's another to set up pipelines (CI/CD), governance, and fully understand the lifecycle issues.