News for hackers. Stuff that matters.
Re:“Google” programmers. How one idiot hired a couple more i... by dexwiz on Sunday June 19, 2022 @01:52PM (#31801637)
I have a parallel term I use, jiggle programmers. They can jiggle code around until it works, often working off existing code. They may become obsessed with refactoring because it's the only kind of programming they really understand.

They usually cannot write code from scratch, or when they do it contains a huge amount of plumbing copied from other familiar codebases without any reason for its purpose. It's kind of like they can read a foreign language, but they cannot speak it. Or maybe a parrot who can produce the sounds without the meaning.

I do think Google has caused some of this. But the other secret, I think it's how most people program by default. Animals largely learn by copying. The deconstruction of concepts to primitives, and synthesis of these primitives into new ideas if a very academic way to approach things. Centuries have proven this approach is superior, but it takes a huge amount of effort, and many things are lost in this process. (Ever do a physics problem with spherical cows?) With the rise of self-taught programmers, you will see more take this copying approach than the academic redistillation.

Re:“Google” programmers. How one idiot hired a couple more i... by com2kid on Sunday June 19, 2022 @02:21PM (#31801896)
As someone who has kicked off multiple "from 0" projects, including a startup and been on the initial team doing an entire embedded runtime,

Blank source files are scary yo.

There are a near infinite number of choices that can be made when confronted with a blank file. And the ramifications of those initial choices will live on, possibly for decades! (I spent 10 years at Microsoft where it wasn't uncommon to come across 20+ year old code still in use.)

More than once I've initialized a new project, started at my blank folder structure, and spent a few minutes thinking "here we go again".

Re:“Google” programmers. How one idiot hired a couple more i... by YZF on Sunday June 19, 2022 @04:14PM (#31802997)
As a kid I had a multitude of "from zero" projects. There was no Internet. No SO. There were reference books and manuals but none of those really let you just copy paste your project. Later on I worked in environments with many smaller projects that again I took on from zero and worked on for years.

Boy do I miss those days now that I work for larger companies and with larger teams where the opportunity to do that is pretty rare. Give me a blank slate all day for any project.

Re:“Google” programmers. How one idiot hired a couple more i... by professoretc on Tuesday June 21, 2022 @01:17PM (#31826545)
I remember typing in programs from books and magazines. Although this is theoretically no different from copy-paste, I wonder if the slowness of the process gave me time to think about what I was typing. "Why is this bit here? What happens if I leave it out? Could I replace this with something else?" That's something you don't get today, when moving code from one place to another takes a couple of key-presses.
Re:“Google” programmers. How one idiot hired a couple more i... by bestouff on Monday June 20, 2022 @04:17AM (#31807633)
I feel you. A blank slate is really a joyful playground for me, but it's so rare nowadays.
Re:“Google” programmers. How one idiot hired a couple more i... by fotta on Sunday June 19, 2022 @02:51PM (#31802184)
Sometimes I call this the “tyranny of choice”, tyranny is probably the wrong word but it sounds nice.

It’s pervasive in lots of aspects of my life beyond programming, where I get anxious having to make decisions. I will drag my feet to have to make a final decision, even if it’s a restaurant choice. I’d much rather have the obvious right choice in my face than have to pick between multiple good choices.

I face this same anxiety when staring at a blank source file too.

(Yes, I’m working on finding a therapist, but even picking one gives me the same anxiety)

Re:“Google” programmers. How one idiot hired a couple more i... by galaxyLogic on Sunday June 19, 2022 @04:34PM (#31803213)
It can be experienced in a lot of situations. Buying a burrito from Chipotle means you have to make lot of choices before you get your burrito.

This means you become partly responsible for the quality of the product you pay for. If the burrito is bad, you are to blame because you chose the ingredients. I think that makes me anxious when in Chipotle's.

In programming it does slow your progress if you have to frequently spend time deciding which choice is the best. Not only anxiety but also plain lost time.

Re:“Google” programmers. How one idiot hired a couple more i... by clairity on Sunday June 19, 2022 @03:45PM (#31802684)
that’s usually referred to as the paradox of choice and is an active area of research in psychology and decision theory (economics).
Re:“Google” programmers. How one idiot hired a couple more i... by InitialBP on Sunday June 19, 2022 @06:29PM (#31804143)
Similar term although with a slightly different meaning that I use "analysis paralysis", when you get so caught up in trying to figure out the "correct" answer that you get stuck.
Re:“Google” programmers. How one idiot hired a couple more i... by 99_00 on Monday June 20, 2022 @12:38PM (#31812407)
>Sometimes I call this the “tyranny of choice”, tyranny is probably the wrong word but it sounds nice.

Barry Schwartz, is that you?

Re:“Google” programmers. How one idiot hired a couple more i... by vbezhenar on Sunday June 19, 2022 @03:20PM (#31802487)
Wut.

I so much hate those project generators. First thing I do when I generate some create react app is going through it and delete stuff. Everything. To start from absolute minimum.

I can accept some project generators being an option. But I never understood people who make it default way to go.

Your post was kind of eye opener for me.

Re:“Google” programmers. How one idiot hired a couple more i... by com2kid on Sunday June 19, 2022 @03:38PM (#31802623)
I hate generators that give me too much, but 3 or 4 sample files and a well placed "utils" folder is fine.

I hate deciding where the ubiquitous "utils" folder should go in any given project!

Re:“Google” programmers. How one idiot hired a couple more i... by jbreckmckye on Sunday June 19, 2022 @04:55PM (#31803409)
> Blank files are scary yo

They are. But the more programs you write, the better you get at it.

It also helps to devise a personal architecture or two for different projects. I have some that I lean on, and that means I can bootstrap myself fairly quickly. It took a while to get there though.

Re:“Google” programmers. How one idiot hired a couple more i... by mbrodersen on Sunday June 19, 2022 @10:05PM (#31805557)
I love starting with a blank canvas. So many opportunities to do things better! So many opportunities to learn!
Re:“Google” programmers. How one idiot hired a couple more i... by at-fates-hands on Sunday June 19, 2022 @02:48PM (#31802154)
> They usually cannot write code from scratch

True

> I do think Google has caused some of this.

I think it a lot of it is the frameworks and people constantly trying to shortcut the method of building something with code. We have so many frameworks, tools, plugins and other stuff that it makes it easier NOT to learn anything deeply any more. Pick a JS Framework and I'll give you a dozen plugins or tools that have already been built to write your code for you. All you, as a developer have to do is string them together.

By building all of these shortcuts, no one really needs to learn Angular, you have their site as a reference and tons of material to help you. Developers actually learn in the absence of knowledge where they have to sit down and learn it without knowing there is a crutch or fallback if they get stuck. I think today's developers just get as far as they can and then start googling for a solution because they know that someone has already built a date picker in ten different languages, thousands times already. Why go back and reinvent the wheel when you don't have to?

Because it creates lazy developers.

An entirely other issue is why learn some framework inside and out if its going to be obsolete in a few years? Remember when everybody loved Backbone and Express? You tell someone in the Dev community today you use either of those and you'll get laughed right out of the bar.

I think its just a lot of things that work against developers learning more than then they really need in any given situation.

Re:“Google” programmers. How one idiot hired a couple more i... by anonytrary on Sunday June 19, 2022 @02:34PM (#31802035)
This is a simplistic reduction of what many senior programmers do. In my experience these so-called "jiggle programmers" are ones who actually ship code and meet business needs. Sometimes that's what we're looking for. We don't always want a fresh grad who is keen on implementing a completely useless system from scratch. We need people who ship.
Re:“Google” programmers. How one idiot hired a couple more i... by hedora on Sunday June 19, 2022 @02:41PM (#31802101)
This is why it's important to figure out what your core expertise is.

If you're copying and pasting your core expertise from stack overflow, then, I hate to break it to you, but you'll never successfully differentiate your product.

Re:“Google” programmers. How one idiot hired a couple more i... by anonytrary on Sunday June 19, 2022 @03:24PM (#31802523)
I'd wager that 90%+ of "tech" companies are hiring software engineers to "solve" technical problems that have already been solved in order to solve business problems that have not yet been solved.

Very rarely do you see a startup hiring to solve brand new technical problems. At the end of the day, most engineering work boils down to implementing CRUD apps with textbook architecture.

Re:“Google” programmers. How one idiot hired a couple more i... by q-big on Sunday June 19, 2022 @03:33PM (#31802581)
> Very rarely do you see a startup hiring to solve brand new technical problems. At the end of the day, most engineering work boils down to implementing CRUD apps with textbook architecture.

If this was true, it would bring a significant economic advantage to a startup if it would not use leetcode style questions for job interviews, but instead ask hard questions about these textbook architectures.

Re:“Google” programmers. How one idiot hired a couple more i... by YZF on Sunday June 19, 2022 @04:19PM (#31803040)
But someone might be able to answer the questions but not be able to build stuff. The coding portion of an interview is supposed to answer the question "can they code". If they can't code I don't think they can work in either domains (reapplying an existing technical solution or inventing one that doesn't exist). I'm not a fan of some styles of coding interviews but writing code needs to be part of any interview for a software developer (+ a lot more).
Re:“Google” programmers. How one idiot hired a couple more i... by manigandham on Sunday June 19, 2022 @10:45PM (#31805767)
Writing code in an interview is not the same as the "leetcode" riddle questions that the parent poster was talking about. It's usually esoteric language and computer science concepts that are not very relevant to the job role.
Re:“Google” programmers. How one idiot hired a couple more i... by BossingAround on Sunday June 19, 2022 @02:51PM (#31802189)
Ah yes, because innovative software products invent new coding paradigms, which is exactly how they get to be so popular. That makes sense.
Re:“Google” programmers. How one idiot hired a couple more i... by raxxorraxor on Monday June 20, 2022 @09:04AM (#31809864)
I solve problems with software and I do both. If I can copy something it is most often smarter to do just that. There is not only copying code or writing it yourself.

Find the most readable color of a font for a given background on most displays. You could do extensive research on colors for something that on the first look sounds rather trivial or find a very thoroughly worked out solution on stack exchange.

It is difficult enough to advertise self-made software when many people are looking for off-the-self solutions. So being fast and therefore affordable is quite important.

I mostly develop for embedded systems on custom hardware so ready to use solutions are rare. But if I want to visualize process data in a browser? Please give me all your thousands of dependencies Javascript.

An algorithm I implement from scratch? Very rare. This takes time and thorough testing compared to something that is already solved.

Re:“Google” programmers. How one idiot hired a couple more i... by smsm42 on Sunday June 19, 2022 @06:32PM (#31804164)
May be true, but there is a lot of work for people that know how to cross t's and dot i's and don't need to differentiate anything, just successfully implement known solutions for known problems for N+1'th time without reinventing the wheel and messing anything up. It's not a glamorous work and probably won't make you neither a billionaire nor a CEO of a trillion-dollar unicorn startup, but there's no use denying it exists and somebody has to do it too. And if that someone won't mess up too often, they can earn their living very well.
Re:“Google” programmers. How one idiot hired a couple more i... by mschild on Sunday June 19, 2022 @02:39PM (#31802081)
I think the big differentiating factor will probably be that "jiggle programmers" don't really know what they're copying or why something works. I'd hope senior programmers do.
Re:“Google” programmers. How one idiot hired a couple more i... by paulryanrogers on Sunday June 19, 2022 @06:15PM (#31804062)
We all jiggle a bit as we rarely have time to work through APIs and their dependencies down to the sand used to make the chips.

Though I'd agree that no engineers should be copying code without understanding its intent and interfaces.

Re:“Google” programmers. How one idiot hired a couple more i... by frickinLasers on Sunday June 19, 2022 @02:33PM (#31802022)
I think I would identify as a jiggle programmer. I was raised on a REPL, and in that case I find it pretty efficient, time-wise, to scribble something in the terminal, jiggle things around it until it works, and insert the working prototype into the program I'm working on.

Programming isn't my day job, but I do frequently write code from scratch (and refactor it, heh). I interviewed for one entry-level programming position; they did not appreciate my technique.

Re:“Google” programmers. How one idiot hired a couple more i... by dexwiz on Sunday June 19, 2022 @02:58PM (#31802271)
I think this approach is really common for programmers who aren't programmers first. REPL and Excel both really encourage this style due to their near instant feedback loops.
Re:“Google” programmers. How one idiot hired a couple more i... by sn9 on Sunday June 19, 2022 @07:24PM (#31804517)
On the other hand, a generation of world-class programmers were raised on the REPL and interactivity (e.g., Lisp and Smalltalk programmers from the 70s-80s).

And interactivity can be an extremely effective way of experimenting and learning how things work and fit together so that you can rapidly develop a mental model of your core primitives and how to put them together in different ways.

It's also part of the appeal of TDD. Small iterative loops with rapid feedback.

Re:“Google” programmers. How one idiot hired a couple more i... by soneca on Sunday June 19, 2022 @03:03PM (#31802313)
I jiggle code around until it works. But I am also very smart. If it doesn’t work by jiggling, I learn or invent a way to make it work.

I am a self-taught programmer. I copy, but I also innovate. I don’t follow at all the academic approach (I never studied CS or was very good in school). But I don’t paralyze when I can’t find anything to copy from like a Roomba stuck on a rug.

Do you have a term for me?

Re:“Google” programmers. How one idiot hired a couple more i... by dexwiz on Sunday June 19, 2022 @03:08PM (#31802360)
I don't know you, but solely from this post I am going to go with "likely overconfident."
Re:“Google” programmers. How one idiot hired a couple more i... by soneca on Sunday June 19, 2022 @03:31PM (#31802570)
That’s fair. But I also know a lot about what I can’t do. I don’t have the knowledge (and maybe the capacity to acquire the knowledge) to work on really complex stuff. Like, solutions that work well on the scale of hundreds of millions of user (I work on web development for context). I also wouldn’t be capable of working on embedded systems or any system which just can’t fail.

Also, academic research on computer science, as I lack much of the basics.

I am happy building websites and web apps.

But I am confident enough to know I can innovate and create complex solutions for the kinds of problems I face.

Re:“Google” programmers. How one idiot hired a couple more i... by YZF on Sunday June 19, 2022 @04:31PM (#31803186)
This is maybe gonna be a little harsh but: https://blog.codinghorror.com/the-nonprogramming-programmer/

I'm guessing the reality in your case isn't quite as severe but that's sort of where some "jigglers" sit.

When I hear "I don't follow at all the academic approach" what I'm hearing is you don't even know what is actually taught in a CS degree. Might be wrong but that's what I'm hearing. A lot of it isn't really that academic but sure some of it is. I'm self-taught and I worked as a programmer before I got my CS degree (as a teenager) but my self studies included CS topics (algorithms and data structures etc.) and I never copied any code or "jiggled" anything when I got started, everything was written from zero. What I did occasionally do is implement algorithms (i.e. the algorithm is known, write the code, which I guess is a form of copying).

On the plus side you've obviously acquired some good skills doing all this and you are likely smart. If you're happy with where you are (let's call this a "Software Integrator" maybe) that's fine. If you want to become better you probably should put in the time and learn some of the things you've been avoiding either formally or on your own (unlike when I was a kid there's endless resources now).

Re:“Google” programmers. How one idiot hired a couple more i... by soneca on Sunday June 19, 2022 @05:43PM (#31803824)
> ”what I'm hearing is you don't even know what is actually taught in a CS degree”

This is accurate. I don’t. My impression is “algorithms and data structures”, which is fuzzy for me. I don’t care at all about algorithms. Data structures I think I should know more about at some point.

I considered studying CS after starting working with software development, but decided I don’t want to. Kind of related, but I also decided that I don’t want to study leetcode too, even though there is a financial incentive to do it.

I am happy being someone that some arrogant developers like to call “web developer”, “programmer” or, at most, “software developer” as opposed to what a “software engineer” is. I understand the difference that those people try to point out. And I agree there is a difference and I don’t care to be on the side of line that I am. It does bother me that every time I see someone making a point of showing where the line is, it’s from a point of arrogance, entitlement. This does bother me, and I felt that tone in the comment I replied to.

Re:“Google” programmers. How one idiot hired a couple more i... by goldenkey on Sunday June 19, 2022 @03:16PM (#31802454)
Hmm. I'm smart and innovative too! I flipped my couch cushion over after my dog shit on it. Maybe we are both revolutionaries?!
Re:“Google” programmers. How one idiot hired a couple more i... by soneca on Sunday June 19, 2022 @04:05PM (#31802883)
Sorry, I didn't understand the underlying message that your sarcasm was intended to pass.
Re:“Google” programmers. How one idiot hired a couple more i... by goldenkey on Sunday June 19, 2022 @05:25PM (#31803666)
Maybe we're not as alike as I thought.
Re:“Google” programmers. How one idiot hired a couple more i... by swat535 on Sunday June 19, 2022 @10:49PM (#31805790)
I mean, why on earth would you not use existing infrastructure and always keep writing code from scratch ?

If I see an engineer constantly do this, I would think that they are insecure and are constantly attempting to prove that they are "real" programmers (whatever that means).

The way I see it, we are here to solve business problems and the chances of your problem being so unique that similar solutions don't already exist is rather low.

Let's face it, the majority of software work is pluming work and wiring APIs these days. Very few people are tasked with implementing their own sorting algorithm and even if they are, you can bet that they will scaffold from another algorithm to get started..

Yes, one should not blindly copy and paste from Stackoverflow but researching, refactoring, thinking about the task at hand and using existing tools and libraries are all part of the process.

Re:“Google” programmers. How one idiot hired a couple more i... by smsm42 on Sunday June 19, 2022 @06:25PM (#31804118)
Jiggling is much easier. I could probably jiggle code in any reasonable programming language within a week or two, without knowing it beforehand. Less if it resembles any mainstream language I know. Building a project from scratch requires much more deep experience and understanding.

And yes, I learn most effectively by copying too. Showing me a couple of working project and letting me implement a bunch of simple tasks by jiggling existing ones usually works for me way faster than throwing manuals and tutorials at me. Manuals have its place - when I know enough to know what to look up - and so do tutorials, but "learn by copying" is the most optimal way of getting bootstrapped for many people, including me. There's nothing wrong with that, if you don't stop at that stage but continue learning.

Re:“Google” programmers. How one idiot hired a couple more i... by valand on Tuesday June 21, 2022 @10:29AM (#31824343)
From my observation, we programmers are supposed to have two non-discrete modes of programming: 1.) the trial&error (or jiggle) mode and 2.) the literate mode.

Trial&error mode works well when working with randoms, e.g. exploration, research, acquiring information, identifying unknowns. Literate mode works well when working with exacts. Identifications for example produce exacts from unknowns. Enough facts enables you to build stuffs out of it like Lego. This is where literate mode works well.

Jiggle programmers that does not quite grow out of their jiggling mode is because they stay in trial&error mode and does not slide slowly into the literate end of the spectrum. After acquiring some facts, they don't deduct or intuit from them. They don't attempt to philosophize a bit.

A problem as simple as "how to do X after the window loads" for example, some programmer can find `window.addEventListener("load", X);` in stack overflow, but the main differentiator lies whether after fixing the issue, they care enough to at least wonder about what's the meaning of `window`, `addEventListener`, `load`, "why is the call shaped that way", "what is Event and what is Listener". Those who do slide slowly into their literate mode.

It is also not less dangerous to be stuck in the literate mode. Although this happens rarer, often to more experienced people.

Re:“Google” programmers. How one idiot hired a couple more i... by lkxijlewlf on Wednesday June 22, 2022 @08:40AM (#31835293)
> I have a parallel term I use, jiggle programmers. They can jiggle code around until it works, often working off existing code.

We're all jiggle programmers then. Once the applications architecture is established, we hang new feature on it by following that architecture.

Very very few of us get to only write code from scratch every day. Most of the time, when I'm writing from 0, I'm working on a R&D PoC. If I'm not doing that, I'm jiggle programming a new feature into an existing architecture.

> With the rise of self-taught programmers, you will see more take this copying approach than the academic redistillation.

I was self-taught before university. I learned on a C=64 and then an early x86 back in the day. If you didn't figure it out on your own, you hoped you would see it in a magazine or book some place. I learned a lot about how computers worked at a fundamental level from the C=64. I don't think self-taught is the issue. I think it's how much the person really wants to know about computers and CS.

Re:“Google” programmers. How one idiot hired a couple more i... by potatosalad1 on Sunday June 19, 2022 @05:08PM (#31803528)
I'm a designer who codes in this way. I can mock out a bells and whistles prototype that appears to work splendidly enough to test with users, but in reality I'm just hooking together libraries and pasted code. I have been doing this for 10 years, enough debugging savvy to "learn" React in 2 weeks but do I actually know how any of it works on a deeper level? Heck no.
Re:“Google” programmers. How one idiot hired a couple more i... by orwin on Monday June 20, 2022 @03:54AM (#31807454)
Arg. I think I'm the opposite, but worse. I cannot finish a project. I took a 6 month sabbatical, started 5 projects, didn't finish even one. My last project i tried to use tracking/productivity tools, it doesn't change anything. I have the 'well, good enough' mentality with my own projects, and once i stop having fun coding i just stop. And start another project.

My current project is boring (especially since i finished the code logic like 9 months ago), but since I'm paid to upgrade/deploy the stuff I'm not that disfranchised. (I won't lie and say I'm as productive, I'm clearly not)

I don't think I'm really able to work alone or unpaid. Which is weird, because I really, really enjoyed the two dozen school projects I've done, especially those who took 2+months

Re:“Google” programmers. How one idiot hired a couple more i... by tinco on Sunday June 19, 2022 @02:19PM (#31801874)
Jiggle programmers isn't a type of person, it's a phase juniors go through. There's a lot of stuff to cram into your brain as a junior, and when you don't have a complete model of how things work it can be basically impossible to come up with an approach that has a chance of working on the first try.

In my opinion the way to get them through it is loads of pair programming and stopping them and reminding them they haven't stopped to think about the entire context when you catch them doing it (or when they come to ask for help in the ideal case).

I'm not sure if I ever went through this phase, but not everyone has the luxury of developing their programming skills at a leisurely pace from highschool all the way through college.

Re:“Google” programmers. How one idiot hired a couple more i... by bpodgursky on Sunday June 19, 2022 @02:25PM (#31801936)
I do not think this is true.

Strong junior programmers usually fail by rewriting everything from scratch, having no concept of DRY, libraries, or how to effectively break logic into methods. But inability to generate their own code is not a common failure mode!

It's only weak junior programmers (that is, people who simply are not going to become strong developers) who approach a problem and, in the absence of the ability to write code from scratch, try to find something to copy-paste.

Re:“Google” programmers. How one idiot hired a couple more i... by cwalv on Sunday June 19, 2022 @03:31PM (#31802569)
> But inability to generate their own code is not a common failure mode!

This has been my experience too. It's also common (maybe even nearly universal) for devs to go thru a stage where "rewiting" feels like the path of least resistance. This is usually (not always) wrong, but until you've ramped up in several very different codebases it's difficult to see how something so foreign can end up being as productive as what you're used to.

Re:“Google” programmers. How one idiot hired a couple more i... by Brian_K_White on Sunday June 19, 2022 @10:20PM (#31805645)
I've done it. For me it is when I don't actually understand the thing someone else wrote.

It's messier than simply that too. Even though I may be the inferior coder to them, I am not necessarily without any capacity to reason and improve on something.

So what happens is I pick something up that someone else wrote, and I see things I think should be done differently, and much of that is probably perfectly true and correct, as far as it goes.

But also, even while some of my ideas were correct and better than what's in there, at the same time it's also true (ends up turning out to have been true, but I only recognize it later) that much of what I didn't like and ripped out and re-wrote, was actually just me not actually grasping the thoery of operation of the original code.

My new replacement may still work and may even look more organized or more easy to follow, but turns out not to handle some edge cases the original code not only handled, but did so in some elegant trick way that isn't obvious from reading it, but ends up handling more conditions in fewer lines, fewer cpu ops, fewer memory ops, fewer db/net calls, etc.

I live with myself by deciding it's good enough that I at least recognize this process and am generally improving day by day. That has to be all anyone can really expect.

Re:“Google” programmers. How one idiot hired a couple more i... by tinco on Sunday June 19, 2022 @03:54PM (#31802770)
From my experience that's the "final" phase of being a junior. Where you're perfectly capable of coming up with architectures, considering functional constraints and relationships to hardware. Maybe such a junior is fresh out of university, or has spent 3-5 years working programming jobs after high school. They'll have their head full of fresh strong opinions on what's good, and have had some experience with what happens when things go wrong, and maybe mistake code they don't understand or find hard to follow for bad practices.

I'd also wouldn't frown on just calling them developer. They just need a senior developer to tell them not to rewrite everything.

Re:“Google” programmers. How one idiot hired a couple more i... by orwin on Monday June 20, 2022 @04:14AM (#31807608)
But isn't this stage supposed to be over after school? I mean, i was pushed towards rewriting everything during my school days. We even had a graphic library with 3 functions: create windows, erase windows and paint this pixel. Rewrote printf, malloc and consorts. Once i was allowed to use glibc trees, map and hashtables, i never wrote an already existing function (maybe a ring buffer and a weird linked list)(and rewrote a scikit image filter because I was too dumb at that time to read changelogs and GitHub issues)
Re:“Google” programmers. How one idiot hired a couple more i... by tinco on Sunday June 19, 2022 @03:59PM (#31802830)
Strong/weak is definitely another axis. I'm not sure they could never be strong developers. I'm not saying they couldn't generate code at all, just that the first couple approaches they write miss fundamental constraints causing the code to either not work or have horrendous properties, and they sort of jiggle their way into something that works. Sometimes the initial tries come from a Google result, sometimes they came up with it themselves, the important part is they don't fully understand the code in its context.

Anyway, regardless of whether they're really strong or not, the couple I've mentored have become tremendously valuable to my company, with performance outstripping my own (I think because of the higher tolerance to shitty repetitive frontend work).

Re:“Google” programmers. How one idiot hired a couple more i... by Brian_K_White on Sunday June 19, 2022 @10:06PM (#31805560)
I think you have something there.
Re:“Google” programmers. How one idiot hired a couple more i... by wink on Monday June 20, 2022 @02:43AM (#31807044)
I wouldn't necessarily attribute it to juniors, it's the same if you're using a language you're not familiar with or haven't used in years.

Sure, technically you are a Junior again if you use a new technology, but assuming the MO of the language is not completely unlike one you're familiar with (for example OOP vs functional vs whatever).

I mean, at least that's what I need to do - but maybe "how was this syntax again?" paired with "I don't like these docs" might only superficially be copy/pasting from SO, because you know what you're writing, but you don't have the words of the language...

Re:“Google” programmers. How one idiot hired a couple more i... by usrn on Tuesday June 21, 2022 @11:36AM (#31825142)
Where are these jobs where you can write things from scratch? I do that on the weekends for free to recover from all the "jiggle" tickets I get in Jira.

My impression is that a trend started in the 90s which has taken over the industry where programmers that are capable of building things from scratch and keeping everything in their heads are much less valuable compared to those who are "weaker" but much more capable of communicating and cooperating.

Re:“Google” programmers. How one idiot hired a couple more i... by jmcgough on Sunday June 19, 2022 @02:36PM (#31802045)
Green-field projects help a lot for getting over this mindset. Having to figure out the right patterns and approaches by myself then live with those decisions and have to improve them down the line taught me much more than extending existing patterns in a mature codebase.