55
So Much for ‘Learn to Code’
(web.archive.org)
A nice place to discuss rumors, happenings, innovations, and challenges in the technology sphere. We also welcome discussions on the intersections of technology and society. If it’s technological news or discussion of technology, it probably belongs here.
Remember the overriding ethos on Beehaw: Be(e) Nice. Each user you encounter here is a person, and should be treated with kindness (even if they’re wrong, or use a Linux distro you don’t like). Personal attacks will not be tolerated.
Subcommunities on Beehaw:
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
Are these competent developers, or the kind who already take 4 or 5 times longer to do a task than their peers?
Part of the problem with telling people "learn to code" is that a lot of them are bad at it. There may be some diamonds in the rough, but there is a lot of rough out there.
Author seems to think that starting salary for developers working for Google is representative as well. The average computer science graduate does not get a job at Google.
People who learn to code because it means job security are not the ones we look to hire. We look for people who are passionate about it, whose interest in the subject is deeper than skin deep.
Not looking for people who live and breathe code, but you need to like to solve problems and like to learn new things.
Doesn't it hurt those people a lot more when their project nearly inevitably gets shut down?
I'm still bitter about the project I worked on that got killed at my company three years ago.
Where I work we haven’t really shut down any projects in the last six years.
We’ve had some smaller projects which got parked due to shifting priorities, but other than that we’ve shipped everything else.
But inevitably, over a career in software there will be projects that don’t make it to production for one reason or another.
Personally I’m very pragmatic about it, but I know people who get very attached to the code they write.
I’m the kind of guy that is passionate about what I’m doing when I’m doing it, not necessarily for all eternity. I’ve written stuff that I’d be more than happy for someone to come and replace, but the thing about revenue generating systems (most people say “legacy”, but I prefer this term) is that they aren’t always easy to replace.
I know we’re not all wired that way, and some people find it harder to see an older system get retired. A consultant I use is more attached to my code than I am, for instance.
I am a very competent developer. Copilot makes me a lot faster with net new code and tests because a lot of that stuff is very close to boilerplate so Copilot can build 95% of it for me. Declarative stuff like HCL is so much faster. Copilot doesn’t necessarily speed me up for things like bug fixes because a lot of that is code reading. Refactoring? Hell yeah. Way faster.
Here’s the study. If you look at the actual prompt (near the end), it’s exactly the kind of thing Copilot kicks ass at: something that’s super fucking common all over GitHub (a toy JavaScript server). I really don’t think my job is in jeopardy yet.
Here's an example - a few minutes ago I wrote this line of code:
... and a split second later copilot auto completed exactly the seven lines of code that I would have typed. I read the code, tested it, and moved on to the next block of code.
Yes, I could have written those seven lines. They were pretty basic - read a value from the database, transform it to a string human form, and send that the user. CoPilot types a lot faster than me (words per second, instead of per minute) and it makes fewer typos.
It's also more familiar than I am with all the major libraries. I find I'm spending a lot less time reading documentation or searching the web these days.
But the real kicker... I work on a small team. My project is full of code that I didn't write and it isn't as well documented as I'd like it to be. It's also not publicly documented, so I can't use Google or Stack Overflow to find answers. CoPilot has indexed the project, and it knows how to read the date from the database. It also knows what human readable date string format has been used elsewhere in the user interface.