> We initially built an integrator role for quality control and conflict resolution, but found it created more bottlenecks than it solved
Of course it creates bottlenecks, since code quality takes time and people don’t get it right on the first try when the changes are complex. I could also be faster if I pushed directly to prod!
Don’t get me wrong. I use these tools, and I can see the productivity gains. But I also believe the only way to achieve the results they show is to sacrifice quality, because no software engineer can review the changes at the same speed the agent generates code. They may solve that problem, or maybe the industry will change so only output and LOC matter, but until then I will keep cursing the agent until I get the result I want.
In my experience, spending 20–30 minutes writing a good spec results in code that is about 90% close to what I expected, which reduces the back-and-forth with the tool. It also helps me clarify and define with some level of precision what I actually want. During the specification phase, I can iterate until the design proposed by the tool is close to what I envision, reducing the number of surprises when the tool generates code. It’s not perfect, and there are still details the tool misses that require additional prompts, but overall I can get good results in a single session, whereas before I would exhaust the tokens and need to start a new session again.
If you don’t mind learning another language. I have found Learn Concurrent Programming with Go by James Cutajar to be a very practical book. It includes memory sharing and message passing approaches with plenty of examples. It also explains concepts like mutual exclusion, deadlock-free and starvation-free properties and others. For Java, you can try The Art of Multiprocessor Programming Second Edition. It includes examples in Java but it is more theoretical and it includes a lot of proofs, specially the first half. The second half is more approachable.
An alternative is to start declining meetings. Having so many meetings is not healthy neither sustainable. You can bring the topic to your manager and if your attendance is required in all meetings(highly unlikely) then the deadlines should accommodate for that.
No, I am sure Threads will be less mean and more friendly but it will be probably more censored. I don't like how Facebook/Instagram(and previously Twitter) censored people, specially during elections.
Yes, I have noticed that their coding capabilities have been reduced greatly. Before, whenever I asked a question. ChatGPT sometimes gave me an incorrect answer, but it was able to fix after a follow-up question. Nowadays, whenever the answer is incorrect, no matter how many times I tried to get the correct answer. It will always return a wrong answer. It is becoming so frustrating that I am starting to use google/stackoverflow more frequently again.
Design reviews is one of the things I like most. You learn how to write, how to design systems, how to evaluate tradeoffs. You also get feedback from senior engineers. I will suggest that before having the meeting, the engineer should write a design document so your team can review it and discuss it in the meeting.
There are multiple ways to try to stop this behavior. I will tell you the ways that didn't work for my parents. Turning off the internet, cutting the electricity off, hiding the PC or consoles, knocking the door at night asking if I am playing or studying. They annoyed me so much that I stopped playing for a while, got a job and moved out from my parents house at the first opportunity. Now, I continue to play as before but no longer talk to them. If that is the outcome the op friend is trying to accomplish then ok.
Someone who is 18 is already an adult. Trying to enforce restrictions to an adult will only generate pushback and resentment. At that age, it is too late. You can let him play and live that way or you may try to fix it. The later will only cause discussions and fights.
1.5 years will pass so quickly you won't even notice. It's true that there are a lot of self-taught people that are able to land software engineering jobs without a formal CS education. However, CS degrees are still relevant and they will make your job search easier. Software engineering jobs will still exist in 1.5 years, so there is no harm in completing your master. You can apply for internships in the meantime. If you leave your master and then in the future you decide you want to do it again. It is going to be harder studying a master while having a job.
Sure, you can go to SpaceX and Tesla and work on cool ideas and projects. The downside is that your pay is going to be lower and you will probably work more hours. You can go to a traditional FANG company and earn more money and you may work on cool/boring(depending on the team) ideas but you work life balance may be better. It's all about tradeoffs.
You can try any free online bootcamp. Freecodecamp seems to be good for web development(JavaScript, HTML, CSS, etc). Then, you can try building some side projects(maybe music related). Good luck!
Isolation. If you circle of friends is small and you get most of you human interaction from the office, it is going to be rough the first months. You may feel lonely and even depressed.
Distractions. It is very easy to get distracted at home. It helps to have a separate room for work without distractions. It is also good to have an schedule for work.
Mine seems to be working fine. I usually have Slack, Discord, Chrome and Pycharm opened. However, when I try to play video games I can see the downgrade in performance. It starts to heat and becomes noisy. This combined with the lack of games on Mac is making me consider getting a windows laptop or trying Stadia.
I would say that 6 months of experience is good for someone starting his career. You don't need to provide more details that needed. Just say, you are looking for new challenges or any other standard answer. Don't stress too much about it.
Of course it creates bottlenecks, since code quality takes time and people don’t get it right on the first try when the changes are complex. I could also be faster if I pushed directly to prod!
Don’t get me wrong. I use these tools, and I can see the productivity gains. But I also believe the only way to achieve the results they show is to sacrifice quality, because no software engineer can review the changes at the same speed the agent generates code. They may solve that problem, or maybe the industry will change so only output and LOC matter, but until then I will keep cursing the agent until I get the result I want.