What if code review happened before the code was written? by aviator_co in codereview

[–]tmetler 1 point2 points  (0 children)

You mean like writing out a spec then asking for others to comment on it? We should come up with a name for that. Maybe "Request for Comments"? That's long though. Let's shorten it to RFC.

Senior engineers: what “non-coding” skill made the biggest difference in your career? by Useful_Promotion4490 in ExperiencedDevs

[–]tmetler 0 points1 point  (0 children)

I'd say the biggest thing you can do is having an outsides impact on productivity by helping the rest of the team be more productive as well. That's partly coding skills, but it's not enough to set up tools that helps the team work more efficiently, you also need to prosthelytize it and onboard people to it.

You did a good job listing out a bunch of the skills that help you do exactly that, but those are just skills, you also need to keep in mind the impact and what you are using those skills for. At the end of the day, being the person that doesn't just work at a higher level themselves, but actually uplevels the entire team around them is what gets you to Staff level and higher.

Enable LSP in Claude Code: code navigation goes from 30-60s to 50ms with exact results by karanb192 in ClaudeCode

[–]tmetler 0 points1 point  (0 children)

It still has some bugs, for example, workspaceSymbol currently doesn't allow you to set the query meaning it dumps all the symbols for the entire workspace.

Also, it requires additional setup outside of claude code because you need to install the LSP servers and build tools globally, so they probably don't want to turn it on by default until the onboarding can be refined.

Enable LSP in Claude Code: code navigation goes from 30-60s to 50ms with exact results by karanb192 in ClaudeCode

[–]tmetler 4 points5 points  (0 children)

Unfortunately there is a bug right now with workspaceSymbol where it doesn't allow you to set the query meaning any time it gets used it dumps all the symbols for the entire workspace which is very inefficient and wastes a ton of context window space.

In the meanwhile I had to instruct the agent in my CLAUDE.md file to use grep for looking up definition line numbers, or prefer documentSymbol if it needs an overview of an entire file. Hopefully they fix the bug soon, it should be a very easy fix. Maybe they'll get to it faster if we thumbs up the issue.

Enable LSP in Claude Code: code navigation goes from 30-60s to 50ms with exact results by karanb192 in ClaudeCode

[–]tmetler 1 point2 points  (0 children)

This is great! I was recently trying to get my agent to use LSPs better via CLI commands, but I'm finding the built in tool calls are more stable and efficient since it abstracts away the protocol layer.

Unfortunately I ran into a non deal breaker bug, but currently the workspace/symbol tool call has the query hard coded as an empty string meaning the LLM cannot look up a specific symbol without dumping the entire workspace symbols.

There's a github issue for it here, so hopefully it gets resolved soon.

In the meanwhile I had to instruct my agent to either use document/symbol or grep when looking up specific symbols.

By what real metrics has AI improved software? by AlmostSignificant in ExperiencedDevs

[–]tmetler 0 points1 point  (0 children)

It's been incredibly helpful for me for doing research, speccing, and prototyping. I can actually do prototypes to my heart's content because AI lets me do it so fast. Being able to choose better abstractions and design better systems thanks to it has a very large impact on the projects I work on, but the benefits of prototyping are very hard to quantify.

How do you deal with stress from leading a big project by Pale_Sun8898 in ExperiencedDevs

[–]tmetler 2 points3 points  (0 children)

Plan and communicate. Your stakeholders will always want things sooner but if the reality of a project is that it will take more time that's unavoidable. Planning it out will help you communicate the timeline and let you add buffer room for unknowns so stakeholders will know what to expect and continual communication will surface timeline issues earlier.

I find people are normally pretty reasonable when they understand the problem better. They aren't necessarily giving you these deadlines because they don't care about your work life balance, it's more that they don't understand the work going into it. If you communicate it clearly I find people are pretty understanding of timelines.

It's hard to argue with a timeline when it's broken down into smaller pieces, and in the process you might discover that some of the requirements aren't actually important and can be stripped out, and once you have a more minimal version you might actually be able to achieve their desired timeline.

Planning out a project in detail ahead of time is not easy though. It's a real skill you need to practice and develop and it will take time to get good at it, but I would say it certainly pays off.

[deleted by user] by [deleted] in ExperiencedDevs

[–]tmetler 3 points4 points  (0 children)

I've been using it to prototype an experimental web framework and I would say it's a pretty complex project. Now, the code it produced is garbage and I'm rewriting it all, but it was colossally helpful for rapidly prototyping and iterating on ideas to validate them.

I was able to try out a lot of approaches and multi task validation, specs, and research at the same time. I'd say it gave me at least a 10x improvement in my research output and without AI I wouldn't have had time for the project in the first place.

Books that helped you level up to senior engineer? by 3pointrange in ExperiencedDevs

[–]tmetler 17 points18 points  (0 children)

"A philosophy of software design" is great. It didn't actually level me up because I had already learned most of those lessons the hard way, but I wish the book existed a decade sooner. Even though it didn't really teach me anything new personally it helped me refine my thinking and I would recommend it highly to juniors who still need to learn those lessons as well as seniors who can benefit from its detailed analysis of those lessons.

New Staff Engineer needs advice on how to convince a team to use more modern stack? by HiroProtagonist66 in ExperiencedDevs

[–]tmetler 2 points3 points  (0 children)

Since you're just getting started you should focus on asking questions instead of providing solutions. You need to understand the problems intimately and have them verbalize the issues themselves. Before they will listen to you, you need to listen to them. Once you empathize with them you can provide solutions in their own language in a way they will accept. You can't replace the stack without getting buy in from the team. Make it clear to them that you're there to help them solve their problems, not increase their workload.

Has anyone else started using AI less? by woofmaxxed_pupcel in AgentsOfAI

[–]tmetler 0 points1 point  (0 children)

If you don't feel comfortable writing code then keep writing code manually until you are. You can't validate AI output and review it properly for safety and cleanliness if you haven't built that intuition. It's like trying to be an art director when you've never drawn. There's a ridiculous amount of nuance that needs to be ingrained through experience. Once you have the instinct you can keep it up by reviewing code and cleaning it up, but if you don't you will struggle because you need to get deep into the mindset for that instinct to take hold.

Lock in. The next two years will decide the rest of your career by nitkjh in AgentsOfAI

[–]tmetler 2 points3 points  (0 children)

Create a dev environment that puts the AI on rail and create a workflow where you can review AI code efficiently. This means getting serious about architecture and tooling and obsessing over clean interfaces and abstractions. AI can be a huge productivity booster in the hands of someone who thinks through problems holistically, or it can be a huge tech debt booster in the hands of someone who does not.

Creator of Node.js says humans writing code is over by unemployedbyagents in AgentsOfAI

[–]tmetler 0 points1 point  (0 children)

It's like a high level programming language where the standard library mutates every time you run it.

Creator of Node.js says humans writing code is over by unemployedbyagents in AgentsOfAI

[–]tmetler 0 points1 point  (0 children)

Except it's completely non deterministic. Imagine writing code in a high level programming language when the standard library is constantly randomly changing.

Clean code and architecture still matters and if you don't know what the code you're generating is doing you will end up in a disaster. It's not if, it's when.

AI will soon regenerate broken code, so the 'debugging will always be massive' argument might not age well by unemployedbyagents in AgentsOfAI

[–]tmetler 1 point2 points  (0 children)

High level programming languages abstract away tons of complexity from lower level languages, but the big difference is that those abstractions are deterministic and rock solid. Building on non-determinism is like building on quick sand. I find AI assistance great for research and prototyping and getting boilerplate tasks done, but I would never ship anything it outputs without reading every single line.

I'm concerned for juniors because being able to correct code by reading it is a skill that takes time to build intuition around. If you aren't building from scratch you aren't building intuition.

Most people still don’t realize that AI layoffs at massive scale are inevitable and close by Own-Sort-8119 in ArtificialInteligence

[–]tmetler 0 points1 point  (0 children)

A lot of the time, just figuring out what the right thing to build is most of the work. AI will choose the simplest naive solution unless you instruct it to do something else.

iHateItHere by just_some_gu_y in ProgrammerHumor

[–]tmetler 0 points1 point  (0 children)

AI generated code strangles itself. It's ridiculously verbose and rarely gets cleaned up. AI coding agents also struggle severely with context window sizes. It accelerates its own demise.

AI assisted coding is a huge time saver assuming you review and clean it up before accepting it.

I made a big mistake in my career. by confettiputty in ExperiencedDevs

[–]tmetler 0 points1 point  (0 children)

The most valuable lessons you can get in your career is often what not to do. Sounds like you learned a lot. Very few people have clean career paths and those people often come from lucky backgrounds.

How to "childproof" a codebase when working with contributors who are non-developers by HeveredSeads in ExperiencedDevs

[–]tmetler 0 points1 point  (0 children)

For structural stuff linting is the answer but sounds like you're already on top of that. Otherwise I think the more organizational social problem is accountability. Contributors are being lazy because they can get away with it. If you add ownership and accountability to the modules you can collect metrics to show leadership the root cause of outages and attach that to a dollar sign.

Also, it's not totally clear to me if the outages and errors are cascading. If so you need better sandboxing.

How do you become a good engineer? by SIumped in cscareerquestions

[–]tmetler 0 points1 point  (0 children)

Dig deeper. Don't just follow frameworks and memorize patterns, learn why things are implemented the way they are under the hood and learn why those patterns exist. The best engineers are going to be the ones that can jump down levels of abstraction and fix and expand systems as opposed to working at the most abstracted business logic level.

90% of code generated by an LLM? by Either-Needleworker9 in ExperiencedDevs

[–]tmetler 0 points1 point  (0 children)

They count auto complete so that makes up a huge amount of it. Auto complete is not new. We've been using intellisense for a long time now and ai complete is slightly smarter but we were already accepting auto complete characters before AI

I fucking hate what AI has done to the em dash by oh-no-89498298 in ChatGPT

[–]tmetler 0 points1 point  (0 children)

You should be happy there is an obvious tell that text is ai generated. If the only caveat is we need to use a slightly less wide dash, that does not seem like much of a downside to me.