New Junior Developers Can’t Actually Code.
-
There are at least four links leading to AI tools in this page. Why would you link something when you complain about it?
to play the devil's advocate: this can be done to exemplify what you complain about as opposed to complaining about an abstract concept
-
This post did not contain any content.
To be fair, most never could. I've been hiring junior devs for decades now, and all the ones straight out of university barely had any coding skills .
Its why I stopped looking at where they studied, I always first check their hobbies. if one of the hobbies is something nerdy and useless, tinkering with a raspberry or something, that indicates to me it's someone who loves coding and probably is already reasonably good at it
-
To be fair, most never could. I've been hiring junior devs for decades now, and all the ones straight out of university barely had any coding skills .
Its why I stopped looking at where they studied, I always first check their hobbies. if one of the hobbies is something nerdy and useless, tinkering with a raspberry or something, that indicates to me it's someone who loves coding and probably is already reasonably good at it
Nevermind how cybersecurity is a niche field that can vary by use case and environment.
At some level, you'll need to learn the security system of your company (or the lack there of) and the tools used by your department.
There is no class you can take that's going to give you more than broad theory.
-
What are you guys working on where chatgpt can figure it out? Honestly, I haven't been able to get a scrap of working code beyond a trivial example out of that thing or any other LLM.
Lately I have been using it for react code. It seems to be fairly decent at that. As a consequence when it does not work I get completely lost but despite this I think I have learned more with it then I would have without.
-
I’m just getting started on my third attempt at changing careers from sys-admining over to coding (starting with the Odin project this time). I’m not sure the questions you ask, while interesting, will be covered. Can you point to some resources or subject matter to research to get exposure to these questions? The non coding, coding questions are interesting to me and I’m curious if my experience will help or if it’s something I need to account for while learning.
We stay away from riddles, and instead focus on CS concepts. We'll rephrase to avoid jargon if you don't have a formal education, or it has been a while. Here are a few categories:
- OOP concepts like SOLID
- concurrency vs parallelism, approaches for each (generators, threads, async,' etc), and tradeoffs
- typing (e.g. is a Python strongly or weakly typed? Java? JavaScript?), and practical implications
- functional programming concepts like closures, partial application, etc
- SQL knowledge
- types of tests, and approaches/goals for each
And some practical details like:
- major implementation details of our stack (Python's GIL, browser features like service workers, etc)
- git and docker experience
- build systems and other dev tools
That covers most of it. We don't expect every candidate to know everything, we just want to get an idea of the breadth and depth of their knowledge.
-
I am not a professional coder, just a hobbyist, but I am increasingly digging into Cybersecurity concepts.
And even as an "amature Cybersecurity" person, everything about what you describe, and LLM coders, terrifies me, because that shit is never going to have any proper security methodology implemented.
On the bright side, you might be able to cash in on some bug bounties.
-
I have seen this too much. My current gripe isn't fresh devs, as long as they are teachable and care.
My main pain over the last several years has been the bulk of 'give-no-shit' perms/contractors who don't want to think or try when they can avoid it.
They run a web of lies until it is no longer sustainable (or the project is done for contractors) and then again its someone else's problem.
There are plenty of 10/20 year plus and devs who don't know what they are doing and don't care whose problem it will be as long as it isnt theirs.
I'm sick of writing coding 101 standards for 1k+ a day 'experts'. More sick of PR feedback where it's a battle to get things done in a maintainable manner from said 'experts'.
that is your leaderships fault
-
Agreed. I wanted to test a new config in my router yesterday, which is configured using scripts. So I thought it would be a good idea for ChatGPT to figure it out for me, instead of 3 hours of me reading documentation and trying tutorials. It was a test scenario, so I thought it might do well.
It did not do well at all. The scripts were mostly correct but often in the wrong order (referencing a thing before actually defining it). Sometimes the syntax would be totally wrong and it kept mixing version 6 syntax with version 7 syntax (I'm on 7). It will also make mistakes and when I point out the mistake it says Oh you are totally right, I made a mistake. Then goes on to explain what mistake it did and output new code. However more often than not the new code contained the exact same mistake. This is probably because of a lack of training data, where it is referencing only one example and that example just had a mistake in it.
In the end I gave up on ChatGPT, searched for my testscenario and it turned out a friendly dude on a forum put together a tutorial. So I followed that and it almost worked right away. A couple of minutes of tweaking and testing and I got it working.
I'm afraid for a future where forums and such don't exist and sources like Reddit get fucked and nuked. In an AI driven world the incentive for creating new original content is way lower. So when AI doesn't know the answer, you are just hooped and have to re-invent the wheel yourself. In the long run this will destroy productivity and not give the gains people are hoping for at the moment.
This is probably because of a lack of training data, where it is referencing only one example and that example just had a mistake in it.
The one example could be flawless, but the output of an LLM is influenced by all of its input. 99.999% of that input is irrelevant to your situation, so of course it's going to degenerate the output.
What you (and everyone else) needs is a good search engine to find the needle in the haystack of human knowledge, you don't need that haystack ground down to dust to give you a needle-shaped piece of crap with slightly more iron than average.
-
We stay away from riddles, and instead focus on CS concepts. We'll rephrase to avoid jargon if you don't have a formal education, or it has been a while. Here are a few categories:
- OOP concepts like SOLID
- concurrency vs parallelism, approaches for each (generators, threads, async,' etc), and tradeoffs
- typing (e.g. is a Python strongly or weakly typed? Java? JavaScript?), and practical implications
- functional programming concepts like closures, partial application, etc
- SQL knowledge
- types of tests, and approaches/goals for each
And some practical details like:
- major implementation details of our stack (Python's GIL, browser features like service workers, etc)
- git and docker experience
- build systems and other dev tools
That covers most of it. We don't expect every candidate to know everything, we just want to get an idea of the breadth and depth of their knowledge.
Love it. So much to look into. Appreciate your time.
-
ChatGPT is extremely useful if you already know what you're doing. It's garbage if you're relying on it to write code for you. There are nearly always bugs and edge cases and hallucinations and version mismatches.
It's also probably useful for looking like you kinda know what you're doing as a junior in a new project. I've seen some shit in code reviews that was clearly AI slop. Usually from exactly the developers you expect.
Yeah, I'm not even that down on using LLMs to search through and organize text that it was trained on. But in it's current iteration? It's fancy stack overflow, but stack overflow runs on like 6 servers. I'll be setting up some LLM stuff self hosted to play around with it, but I'm not ditching my brain's ability to write software any time soon.
-
But how do you find those people solely based on a short interview, where they can use AI tools to perform better if the interview is not held in person?
And mind you the SO was better because you needed to read a lot of answers there and try to understand what would work in your particular case. Learn how to ask smartly. Do your homework and explain the question properly so as not to get gaslit, etc. this is all now gone.
That's simple. They use an LLM to find the right people for the job /s
-
I'm a little defeatist about it. I saw with my own 3 eyes how a junior asked ChatGPT how to insert something into an
std::unordered_map
. I tell them about cppreference. The little shit tells me "Sorry unc, ChatGPT is objectively more efficient". I almost blew a fucking gasket, mainly cuz I'm not that god damn old. I don't care how much you try to convince me that LLMs are efficient, there is no shot they are more efficient than opening a static page with all the info you would ever need. Not even considering energy efficiency. Utility aside, the damage we have dealt to developing minds is irreversible. We have convinced them that thought is optional. This is gonna bite us in the ass. Hard.Might sound a bit unrelated, but have you been noticing an apparent rise on ageism too? The social media seem to be fueling it for some reason.
-