I read a "Teach yourself $language in 10 days" book in a weekend, and was banging code on Monday to create the first v0.1 in a week. Of course the code was absolutely horrendous, but it worked. I still have a copy of that old database that was used, and over the years, I have turned to it as I've learned new things and have even rewritten the UI a couple of times. It has helped me stay up to date with new trends as it was originally written in '99 using frames, then went to full CSS/JS, then used it to learn flex, and so on.
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.
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.
not "at large", but there's very much a segment of smart people who's expertise lies elsewhere, and they just haven't taken the time to learn the basics of programming. as someone who's spent a lot of time programming, I love meeting brilliant people who could program but don't just because they've gone a different way.
Some people forget how easy programming can be when you know nothing and just try stuff to see what works. Working in a procedural manner with everything in a global scope is simple to get stuff working. Not everything has to be extrapolated out into namespaces, functions, classes. It's nightmare code to maintain later, but going from blank page to working code is totally possible.
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 agree with you. In the 2000s, what you describe was normal for Excel/VBA. The trick to learn VBA from nothing, was to use the macro recorder, then slowly modify the code. And, arguably, Excel formulas was/is functional programming.
I learned C by using gcc directly and Python by using IDLE. Both with single file project. The actual software engineering can take time, but simple projects are very easy for beginner to reason about. Everyone can build a shed, it’s building a house that requires professional expertise.
What makes you say that? I learned HTML using Notepad and Netscape. I had a single semester as senior in high school that taught PASCAL, but that was 7 years prior. Not really sure how that helped in the slightest.
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.
What part of "the code was horrendous" did not click with your sentiment? It was horrible. The entire database was one table. Every SQL query was a SELECT *, and filtered everything downstream in the code rather than WHERE. It was absolutely horrible code that I am shocked actually worked with any kind of speed that actually felt responsive. Of course I didn't have millions of records, but the fact that it worked at all was encouraging enough to me that I'm still doing it to this day in the same language. Only now I've been doing it for 20+ years and I'm much less embarrassed about my code, or maybe more. At least back then I could use "I'm a beginner" as an excuse.
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.