Maybe you don't want to pursue a career in software, but anyone can spend a week learning Python or JavaScript. I suspect/hope a lot of these people are just kids who haven't gotten there yet.
Maybe you don't want to pursue a career in software, but anyone can spend a week learning Python or JavaScript. I suspect/hope a lot of these people are just kids who haven't gotten there yet.
So, if you're solo dev'ing, you can get away with making things work with what you've learned in a week. You just wouldn't be hired by anyone else of a serious nature. So it just depends on the individual and projects being worked.
Picking up the second, fifth, or nth language is easy, as long as it isn't the first one.
Agreed on all further ones, however
I don't feel this is any different from someone that might have taken a class that taught HTML/JS/CSS except for that would actually be learning directly applicable to today. If that type of person jumped into a bootcamp, I feel like that would be similar to anything I experienced if not better. The internet is a thing now so there is so much more access to anything I had.
1. You're a person of a particular frame of mind who finds it easy and natural to talk to computers in programming languages
2. You knew a different language before, perhaps one you learnt at a young age
3. You've messed around with computers for years now and have built up a conceptual model of what the hardware and software components are and how things fit together. So if a new thing comes along, you can hang it on your tree of knowledge. Consider the difficulty someone might have making hello_world.py if they don't know what an OS is, or how to edit text, or any of the basics.
None of the above generalizes to the population at large.
I think sometimes we forget not everything has to be written to a git repo with a highly developed structure ready for multiple people to work on. Is it a good habit, hellznaw, but people start somewhere and progress. That was the point that I was trying to make. It is totally possible to have a career as a programmer and have no credentialed degrees in CS or even programming. I know from personal experience.
I am quite sure most people who have only learned programming for one weekend would write much worse code than ChatGPT.
On the other hand, I have a wealth of other general computer and protocol knowledge and have been working circles around most of my coworkers since day one. In the typical tech startup world I _rarely_ encounter coworkers with truly deep knowledge outside of whatever language they work in.
IMO the skill isn't about being able to "write code", it's about being able to model how things work.
Having gobs of time as a kid and in my twenties to experiment greatly enhanced my capabilities. Once I did start landing corporate jobs (which was exceedingly difficult) I was at or above architect level. As I gained more experience working on production systems I was promoted very quickly (created new positions for me etc).
I have had other architects declare I was the best they have ever met. Which sadly, isn't saying much.
Ditto and ditto.
I have had some positive experiences working with fresh grads from places like Waterloo (I'd hire 10 of their grads for any one grad from anywhere else...) but my professional experience very much matches yours.
I dabbled with PCs since I was 8, around 14 I had enough brain to start to understand BASIC and enough free time to get good enough to write half a decent mini OS by the time I was 17 [1] and got my first paying job (sysadmin and PHP dev) at 19. I'm 37 now.
All you need is free time and being interested enough in the subject matter. And kids learn 10x as fast as adults anyway.
Not sure why you are trying to discourage people from learning on their own based on your time line.
(as it turns out, writing code for yourself is a different skillset than writing code for a boss!)
That was exactly the point I was trying to make
Still the most insane thing I've seen, but I know there are a lot of kids out of college who got used to gen AI for code writing who put out a lot of this kind of code. Also, coincidentally, we haven't hired any US college interns in about 3 years or so.
You just don't know how much they actually learned about programming as a discipline in its own right and it very well could be functionally zero. I've seen recent CS grads who didn't know how to use git, didn't know how to split code across multiple files or understand why you would even want to.
I think there's a fairly sound argument for these being different degrees, that a certain kind of researcher doesn't necessarily need these skills. But since it isn't there's just a huge range in how schools reconcile it.
Likewise, I think that any person who is going into the software development industry should either do it as one who gets a deep compsci education along with mandatory training in a modern practitioner skillset, or one who just learns how to practice software dev with just enough theory to handle basic problems. One could also go pure compsci, but the academia+practitioner path I mentioned earlier should have a separate title so that you can trust that the person with this credential has some baseline utility right out the gate.
Right now, "computer science" encompasses all of this, which is a huge problem for employers.
At the very least, it would be nice if we settled on some universal definitions for various job roles, including "computer scientist", "software engineer", "software developer", etc. Right now, all of these are floating signifiers!
I feel like a week isn't anywhere near close enough but depending on what you want to do it gets you to start tinkering. Ironically I do wish that I had started working on embedded with microcontrollers than starting with web purely because there isn't space for absurd abstractions.
On web even the DOM API is a huge abstraction over rendering calls to OpenGL/DirectX/Vulkan and I never could grok what is happening with the DOM API until I played with the underlying tech and learnt about trees and parsers and how that would be stored.
I still use the DOM and love the abstraction, but sometimes I just wish I could use an immediate mode approach instead of the retained mode that the DOM is...
Someone with a week of knowledge, or even someone who has spent 10 years building react may not understand half of that unless they have actively tried to learn it. Thwy might have an idea if they had formal education but a self taught programmer. They have been building houses using lego blocks, I you give them mortar and bricks you are setting them up for failure.
When moved on to writing PC programs, I struggled so much because everything is so heavily abstracted and languages like python have so much ability embedded in them already. I kinda had to toss a lot of intuition and learn things new.
At least computers don't think it's their god-given right to treat you like garbage.
Computers treat people like garbage all the time.
Consider for instance the remote support features that Intel is so keen on advertising these days. Microcode level remote access is a small help for IT departments and a huge help for authoritarian regimes looking to spy on their people. But I don't think that most people are prepared to consider what they're enabling by paying Intel to continue to grow into a telescreen vendor.
Sure, we shouldn't blame the computer's soul for bad behavior. But if it's being used as a weapon, it's not helpful to remove the computer from the conversation and say "well it's actually bad people." Mitigating bad behavior via computer means hacking that computer, and that starts with blaming it for the bad behavior to some degree.
games tend to attract young people (read: beginners) but at the same time game programming's barrier to entry is pretty high with maths & physics, low-level graphical programming, memory management, low level language and dependencies, OOP... It's almost obvious that this should be the case, every kid who's interested to coding I talked to wants to do something with games.
In fact, there are so many beginner-friendly gaming engines out there for most languages, that I am convinced that we should start using games as the entry-point for teaching programming languages. It is a beatifully self-contained domain.
How many arguments have we heard here along the lines of "why teach algorithms universities should be teaching _insert_fad_technology_of_the_day_." Big Oh and time complexity is a special favourite for people to pick on and accuse of being useless or the like. You see it in arguments around SQL vs document databases, people not being willing to recognize that their for loops are in fact the same as performing joins, people unwilling to recognize that yes they have a data schema even if they don't write it down.
So I'm not surprised at all that people would use AI as a substitute for learning. Those same people have likely gotten by with stackoverflow copypasta before gen AI came about.
I mess around in goody and game maker and can write some shitty code there, but I’ve never written a line of code for work. I just like messin around for fun
Do you know how many botnets exist because of shit game-engines that are easily exploited and connected peer-to-peer etc.
Lovely frameworks and engines... but really harmful if you ask me. People are unwitting victims of other peoples hobby projects.
You need to be responsible in this day and age. If you don't want to do the due dilligence, or are stapped for resources (time, knowledge, etc.) then it's best to for example, make a singleplayer game, or LAN only and disallow any IP addresses in your game not defined as internal class ranges.
Do have a hobby, and do have fun, but do so responsibly. You wouldn't want one of your works of love and passion to end up hurting someone would you? Simple steps can be taken to project the consumers of your lovecraft from the vicious world out there. It's sad this is needed, but that's no excuse not to do it. Humans should be better, but they are not.
Before LLMs you'd probably have to reach for learning Python or Javascript sooner, at least if StackOverflow didn't have the right code for you to copy/paste, but I expect anyone who sticks with it will get there eventually either way.
A mere ten or so years ago I only wrote firmware in C and MacOS apps in objective-c. That was my world and it was all I knew, and all I’ve done for a long time.
Then something happened. Small startup. Website needs urgent fix and the web guy is MIA, so what the hell, I can take a stab at it.
Literally had no idea where to start. I didn’t know about npm, minified transpiling, much less actual testing and deployment. Could not make sense of anything anywhere. Hopelessly lost. I even grepped the JavaScript for “void main()” out of desperation. Just ridiculous
The result is people that have no technical background, no real interest in it either, no basic framework to start from learning to use a specific set of tools and a very basic understanding of programming.
I cringe every time they mention using the bots, but luckily it has been controllable.
If you're surprised by reality, that says something about your mental model, not about reality. People don't want to "learn programming", they want to "make a thing". Some people learn programming while making a thing, but why learn about how the sausage is made when all you want is to eat it?
Hahaha, I wish that were true, but it’s not. Lots of people want to learn programming for learning and programming’s sake, or because programming is more lucrative than sausage making. I think I’ve worked with more programmers that care more about programming than the end result, than making something. It’s constantly frustrating and a huge source of over-engineering mistakes that have proliferated through engineering.
> why learn about how the sausage is made when all you want is to eat it?
Then why do sausages get made? It’s because not everyone only wants to eat them. There’s a variety of reasons people make sausages and also like eating them, from making money, to making high quality or interesting variety sausages, to being self-sufficient and not paying others for it, to learning about how it’s done. It’s been my experience that the more someone cares about eating sausages, the more likely they are to dabble in making their own.