It’s funny you say this, because my junior is complaining that I micromanage too much. I prefer to make the critical decisions. Whenever I don’t make them, I end up putting out fires.
I tell them that and they respond, how am I supposed to learn if I can’t make mistakes?
Then I remind them they can fuck up all they want in the dev env.
I try hard not to be an asshole at work. I also produce the most code. When my junior came on I told them that I’m here to help, and I want them to ask dumb questions instead of struggle. I also told them that I make mistakes, and they should call me on my shit—which they looove to do, brat.
Probably my misunderstanding. The way it is written it sounds like juniors use the dev env and seniors get their decisions implemented directly in prod.
Just because code works in dev doesn’t mean it’s going to be the right thing for production. I caught that little bastard making 1000 db queries in a loop one time, instead of taking the time to make it efficient. Technically it worked. And, because dev has no server load, it was relatively quick.
But because everyone is working off a 6TB Nas shared over the LAN at the office. No one really knows who changed the code. So we decided to fire 51% of the team figuring we got em.
I’m not in software development, but this is how the entire company I work for operates.
We’re just kinda going forward with no clear direction, keeping stuff ticking over and constantly coming up with future plans that never come to fruition.
This is how all enterprise companies I worked for operates too. Only when I joined a smaller company with 80 people I realized that it can be really fun to work. We get a lot of stuff done and hardly any meetings. Really enjoying it.
There are answers, they just take a level of experience to reach that most people aren’t cut out for. You gotta be several principal+ IC roles or Dir+ mgr roles in before the patterns congeal into a plan.
Challenge is operating at those levels for extended periods requires a super fucking insane level of competency and dedication. Most people hit that spot and coast till retirement cause you’re at $500k+ at FAANG. Few keep looking for new opportunities unless forced to or they’re those corporate robot sharks with the dead eyes.
There are people who are knowledgeable and good at their job. Knowledgeable enough to be experts. Those are usually subject matter experts, including developers.
The issue is that no one can guarantee an outcome or that they’ve picked the right approach.
But this is really more a product of capitalism than anything else. Under capitalism you just have to keep moving even if you’re just making garbage and debt. There’s no reason to stop and think, because that is seen as a cost (even though it costs more to move without thinking).
Even the best companies that do factor in planning (at least in concept if not actually in practice most of the time) end up with the other problem of “resume driven development” where things that are totally fine and actually working get replaced with things that don’t work because someone needs a new project to get their promotion.
Capitalism produces garbage and puts the people who are least qualified in decision making roles. This still happens in natural systems, but much less. In (healthy) anticapitalist organizing, the people who know the most are generally asked to lead and when they don’t know what to do they stop and figure it out before moving forward.
Aimless wondering can still be a problem, but it’s not forced by the system to continue it’s just people who are learning.
In my experience, Copilot does a fairly good job when you already know what you’re doing, but can’t be bothered to write the code yourself.
For example, basic stuff like read data from that file, use dplyr, remove these columns, do these calculations, plot the result using ggplot2, label the axes this way, use those colors etc. Copilot gives you the code that does roughly what you want, but you usually need to tweak it a bit it to suit your preferences. Copilot also makes absurd mistakes, but fixing them is fairly easy. If this is the sort of stuff you’re doing, copilot can indeed boost your productivity.
However, if you don’t know how to do something a bit more exotic like principal component analysis, and you ask copilot to do the job for you, expect plenty of trouble. You may end up on a wild goose chase, using the wrong tools, doing unnecessary calculations and all sorts of crazy nonsense. When you know what you’re doing, you can ask a very specific thing. When you don’t, you may end up being too ambiguous in your prompt, which will result copilot leading you down the wrong path.
You can do it this way too, but before implementing a single line of that garbage code, you absolutely have to ask copilot a bunch of questions just to make sure you really understand what you’re doing, what the new functions do, where do you really want to go etc. You’re probably going to have to tweak the code before running it, and that’s why you need to know what you’re doing. That’s the one big area you can’t outsource to copilot just yet.
But is it still faster than reading the documentation and building your own experimental tests? If you spend an hour and get a pile of broken garbage, then certainly not. If you spend a bit more, ask plenty of questions, make sure you know what you’re doing, then maybe it is worth it.
I 100% agree. I especially love when copilot literally just starts making up shit that doesn’t work or doesn’t exist. Like it can’t be wrong. It just freaking guesses… God forbid it can’t admit it doesn’t have enough data to answer the question.
Best part is when you say “that command doesn’t exist” it’s like “I apologize. Here is a real command to accomplish your task”
SMH
Again, to your point, I agree that copilot is amazing if you already know how to write the code you want. We’re smart enough to know that the suggestions will work for our task. It’s definitely not smart enough to replace you
Yeah, I was lucky that I snuck into my company’s pilot program for it.
I’m impressed at how often it predicts what I’m about to do. The code almost always needs a slight bit of editing, but it almost always at least shaves a bit of time off of whatever task I was doing.
I no longer go straight to stackoverflow, I always ask the copilot first. Sometimes even just phrasing the question in natural language, something I wouldn’t do it trying to find it via search or stackoverflow, is kind of like rubber duck debugging, and I’ll come up with the answer while writing it out.
It reuses MY OWN CODE STYLE. So if I ignore a suggestion and setup a try catch in my own quriky way it’ll actually reuse it later on when I’m scripting. This works best when you add comments for the sections you write FIRST. So you comment # create array for x data it’ll do that or try catch for query it’ll give you a suggestion for the next block right away.
DEBUGGING. github copilot can see your terminal and script so it’ll give you a detailed breakdown and suggestions. Blew my mind the first time.
Learning arcane bullshit from the 80s can break your computer, but if you’re willing to wade through arcane bullshit from programmers in the 90s and 2000s, you can break everyone else’s computers, too.
I am researching doing the same, but know nothing about running my own yet. Did you train your llm for programming in any way, or just download and run an open source one? If so which model etc do you use?
Lot’s of technical details, but essentially the llamafile is a engine + model + web ui, in a single executable file. You just download it and run it and stuff happens.
Run an open source one. Training requires lots of knowledge and even more hardware resources/time. Fine tuned models are available for free online, there is not much use in training it yourself.
I recommend llavafiles, as this is the easiest option to run. The GitHub has all the stuff you need in the “quick start” section.
Though the default is a bit restricted on windows. Since the llavafiles are bundling the LLM weights with the executable and Windows has a 4GB limit on executables you’re restricted to very small models. Workarounds are available though!
Im gonna give llamafile a go! I want to try to run it at least once with a different set of weights just to see it work and also see different weights handle the same inputs.
The reason I am asking about training is because of my work where fine tuning our own is going to come knocking soon, so I want to stay a bit ahead of the curve. Even though it already feels like I am late to the party.
programmer_humor
Active
This magazine is from a federated server and may be incomplete. Browse more on the original instance.