General statistics
List of Youtube channels
Youtube commenter search
Distinguished comments
About
Immudzen
ThePrimeTime
comments
Comments by "Immudzen" (@Immudzen) on "ThePrimeTime" channel.
Previous
1
Next
...
All
One of the things I have noticed is how different web stuff is from many other things. I build scientific models and for us a combination of TDD, regression tests, and interleaving tests with development helped enormously. In every way we have measured the development is faster and we have not had a single bug make it through to a released version of the code in about a year. I think one of the difference is with math models you can basically test every function to see if it solved that equation correctly because you know a few cases what the answer must be. It is much faster to build up when you know each piece is working than trying to trace through some complex solver and try to figure out which equation is wrong.
10
This is why high performing teams under up undermining safe in order to make the actual system more agile.
10
When I help Junior programmers that get seriously stuff I have them walk me through their thought process. I will then walk them through where the problem is and why. I don't just correct somewhere, I also explain why. I takes longer but my experience is that it seriously helps. I had someone write some code that ran in parallel and it ran horribly. They kept trying different ways to make it work better and it remained horrible. I ended up explaining how processes are created and how data is handed between them. Their problem was the program was spending almost all the time in IPC and not in the actual work.
6
Honestly, I love programming in Python. I build scientific/engineering models. I have lots of great libraries to work with and I can focus on using them to solve an interesting problem. For what I do typing speed is almost never an issue. I can spend days sometimes just thinking about a problem to try and figure out exactly what I should do to code it. I find with Python I can focus more on the problem and less on the language.
4
I like the dev work I do. It is life critical work. We take the time it takes to do the job. We follow practices to make sure that everything works. Timelines change fairly often but it is mostly driven by devs. We tell our bosses that we ran into a problem, something is not working right, etc. and that it will take longer to do. We just need to make sure we keep them updated on what is happening. We also work reasonable hours. If you work too many hours you make mistakes and that can cost lives.
3
We also need the power to enforce standards. If you have responsibility without the power to enforce the responsiblity you will just be screwed.
3
@Reashu I actually use both types of tests. We use TDD and unit tests for every code path through every function. We then also use these snapshot tests to see if the overall output changes over time and if that change is acceptable. I build scientific models so testing each equation is important and then testing the results of the entire simulation. That way if something changes the output you did not expect you can see the issue immediately.
3
@alessandromorelli5866 I have not seen that in practice ever. This is not something the AI models even claim they can do in any of the research papers they publish. Microsoft found that copilot is about 10%-30% more efficient which seems about right. I did see someone at work have an AI generate a whole bunch of code and it looked like it worked. It turned out it made a math mistake that took a few days to track down and rendered the original answer meaningless.
2
In most professions engineers have legal protections and sign off requirements so that bosses can't force them to do illegal and dangerous things. Programmers don't have that. You can't have responsibility without the power to enforce it.
2
@3borsresistance551 What I find is that agile works fine but SAFE, scrumm, etc. don't. I also find that sprints don't make any actual sense. I do believe in CI/CD, unit testing, mob coding, working meetings where you actually code with the people that need to be involved.
2
@christinaapplesauce2459 oh god you just reminded me of some bad code that someone wrote. We didn't notice that they had mocked some functions in the tests and it meant the tests where worthless. It turns out the code was not working correctly and it was better to just delete it and start over.
2
@mattymattffs when the issue is the overhead of IPC due to the encoding and decoding necessary and crossing process boundaries I think it is better to explain why. The person lacked the knowledge necessary to figure that out on their own without it takes weeks to do. A lot of younger developers have no real idea how a computer actually works.
2
I find this kind of video fascinating. I build computer models used for making medicine. It is a lot of science and engineering stuff. The best tools are Python and almost all of the libraries are open source. If you want to build custom machine learning model then use Pytorch. It has something like 95% of the market. If you want to use some cutting edge additions to that it will be in some repo from a phd student that is open source. Most of the numeric and scientific libraries at this point even have funding from various governments so they are tools that everyone can use. Things like numpy, scipy, sklearn, pandas, etc. When I look around everything I see is opensource and I see it quickly expanding to take over even more areas. Meanwhile in your industry you see the opposite.
2
@josephvictory9536 it is a liability no mater who does it but LLM generate more code. I have not had a junior dev write the same function 10 times across 10 different files. I do see LLM do that. I see LLM embedding code that should be a function into many other functions, even if a function already exists for that problem.
1
@marwin4348 if you look at how LLMs work it is not actually that far off for some of the usage cases. If you are just using things like copilot that are trying to help you code as you write then it is a fancy auto complete. It is looking at the code you code and the code around it to predict the next thing you want to do. It may be predicting multiple lines at a time but it is still an autocomplete.
1
@alessandromorelli5866 I don't do web work. All my work is science and engineering simulations. It makes many mistakes. However, even for web stuff prime and others point out all the security failures.
1
If programmers have consequences for this kind of thing then they also need the authority to enforce doing things the right way. In almost every case I have ever seen it is management that forces corners to be cut, to skip testing, to skip writing better code, to just hack enough to get something to kind of work. If you have consequences without authority then people will quit being programmers.
1
I tend to think of DRY a little differently. I am willing to repeat something 2-3 times because each one needs minor variations so I can see what kind of flexibility is actually required. At that point I will then refactor the code and make it as flexible as necessary to solve the problem. If more cases come up I look at the problem again. Sometimes you just have multiple code blocks that look similarish but the work required to actually unify them is not justified and far more complicated. Now if you are copy and pasting functions and not changing anything at all .... then I am probably going to be annoyed. I don't want multiple copies of an identical function in the codebase without a good reason.
1
@sorcdk2880 Whoa 100+ people on a team. I think we keep ours to about 10 max because otherwise there are just too many interaction points. That would make meetings seriously suck.
1
I have deal with code that was very poor quality code where the focus was on delivering now and not on the code quality. Requirements changed and it took me 9 months to clean up the code to the point it was useful again and that completely destroyed any savings the original authors had for it. I managed to increase the functionality and performance while deleting 60% of the code. Now we are running into other issues and even more changes are needed and all of it is caused by the original poor quality code. Poor quality code has a price and LLMs generate poor quality code.
1
I work in biotech. I require that all the code we generate has 100% unit test coverage, that the code is pretty clean, that we use short functions with reasonable names, that we store some simulations and make sure the answers are not drifting over time, etc. This stuff HAS to be right. If some game crashes or some random website that sells stuff has a problem I am not super concerned. However, anything that could harm or kill someone should have completely different standards. I like that in my work when I run into a problem and I tell my boss it is going to take another month to solve something because we ran into an issue that they just adjust the schedule.
1
Honestly I would say that these AI models can code better than about 5-10% of coders. I had to deal with someone once that was hired as a Python expert. They couldn't even do basic things like dictionaries. Things like adding an entry, checking if an entry was there, etc. kind of stuff. The AI was much better than them.
1
Work from home in Europe is better. Nobody expects you to respond outside of hours. Meetings or calls outside of hours are scheduled in advance.
1
All the software developers I know trade jokes throughout the day. While we are coding together we talk about a number of things. They probably just don't like this manager. I have seen that many times.
1
I have done this kind of thing before with a simulator. It went from being main memory bound to L2 cache bound. The program was MUCH faster and because it did not hit main memory as hard you could run more copies of the program in parallel without them impacting each other. So, on a 196 core server you could run 196 simulations simultaneously and they would run just as fast for each one as what one simulation running by itself would take. The effort to do this SUCKED. The results were amazing.
1
Sometimes I feel like my team must be some weird magical thing. We use agile practices and it has worked well. Our standups are about 15 minutes unless someone has a problem they need help on and then everyone that is not involved drops. We don't have managers in the meetings. If you finish a task early just grab another task to do, the backlog is full of them. If a task is taking longer then just roll it over to the next sprint or look if it really should be broken up into smaller pieces. If a chunk gets too big it is also hard for anyone else to review the changes. All my work is science/engineering stuff and we do demos ever two weeks and they are very helpful. Only people that actually want to demo something do it so people do a demo when something is complete enough for others to do. We also got rid of the retrospective meetings because they just wasted time.
1
For science and engineering my favorite language to use is Python. It has the most mature machine learning libraries, a wide range of science and engineering libraries with tools like numpy, matplotlib, scipy, sklearn, pandas, etc. It is a really hard language to beat for that.
1
At work we use pair programming on some of the more complicated code work. However, we do it a little differently. We use the liveshare feature of vscode so we can work together on something at a time. It really helps if you can have some experts all together as you work on the code. Imagine working on a model and you involve someone that is an expert the model, someone that is an expert on how to access the data, and a good programmer. Productivity is much higher and there is less having to stop and ask questions.
1
I appreciate his work but i don't see the point. You can only get M chips from apple in apple devices. That means this doesn't matter for servers or datacenters. Beyond being cool i don't see what value it has.
1
@SkeltalDelegate that actually seems pretty likely. Most of the companies work together on a lot of the core technology because none of us can do it by ourselves. There is also a lot of sharing of work with academia in order to try and push the technology forward. Even I have worked on making some of the work I do open source so that we have a kind of common language to use with other companies to talk about modeling.
1
With Copilot what I have found is that if I write the function in Python, and I give it a good name, and I give good parameter names with type annotations and I type annotate the return value that it does quite a good job of helping with the function so long as the function is pretty narrow in scope. In general I aim for most functions to be around 5 loc. Something that you can easily read and test. Sure there are some that go up to 30 and some that are only 1-2 but 5 is around my target. However, if you deviate from any of those things the code usefulness that is generates drops FAST.
1
There is nothing that makes you a bit crazy. You are already crazy. Just embrace it and accept who you are. :)
1
So far AI has not really been getting better at programming. It generates a lot of code but the quality and maintenance is much worse.
1
Honestly I like using VSCode. I have tried cursor I was just not impressed. I don't need agent based coding because it doesn't work. I have tried it many times and it just produces garbage that takes me more time to clean up than it saved. I much prefer vscode and using copilot. You can set the AI to ask, edit or agent mode and I find that most of the time I use ask or edit mode and agent mode is also a mess.
1
What I have noticed is that highly functional teams are already pretty agile. However, I see managers try to add agile to non-functional teams and that just fails. I also see many companies use SAFE which is pretty far from agile. It is hard to get anything done with managers twist agile to micromanage. Mostly the way companies use SAFE still looks like waterfall to me.
1
Previous
1
Next
...
All