7 ms·
I'm always a little surprised at how many people out there want to develop software yet haven't put in the effort to gain even the most basic computer nerd prog
by TillE 2y ago
I'm always a little surprised at how many people out there want to develop software yet haven't put in the effort to gain even the most basic computer nerd programming chops. You see this all the time in the more newbie-friendly game engine communities.
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.
- jprete 2y agoCoding requires a willingness to understand and manipulate systems made of unbreakable rules. Most people don't want to deal with such an uncompromising method of communication.
- busterarm 2y agoAnd then there are those of us who find computers to be more bearable than people... At least computers don't think it's their god-given right to treat you like garbage.
- Mistletoe 2y agoDid you not use Windows 95?
- __MatrixMan__ 2y agoWhat percentage of web traffic today would you say is composed of bits that the user--if they bothered to inspect it--would prefer to not have anything to do with? I'd say it's more than half. Computers treat people like garbage all the time.
- fragmede 2y agoyou're right, but I have a hard time picturing the computer as having emotions to be able to treat me like garbage in the first place. you won't rm the file? sudo rm file! the computer could fight back and say access denied still because of extended attributes, but for some reason I don't equate poorly written software as being treated like garbage. I always imagine some hapless programmer is doing the best they could with the resources they have in the system they're under, it's just not very good but that's not their fault.
- __MatrixMan__ 2y agoI'm similarly sympathetic when I come across a buggy implementation. It's malicious design that I'm objecting to. But I suppose it's a bit silly to say that it's the computer that's treating me like garbage. It's just that someone else is in control of my computer, and they're treating me like garbage.
- sim7c00 2y agosadly these days, it seems a keen mind is only a machine's mind. People spend far to little time to understand what they are telling their poor computers to do. And look what happens, people start turning against them. Blaming them for their misdoing. It's like Blaming god, the government, a nation, family or a tribe. These are all made of humans. Human bad behavior is at the core of our suffering. Nothing else.
- __MatrixMan__ 2y agoI don't disagree substantively, but I do think there are uniquely modern aspects to the question of "am I enabling bad behavior right now?". It's not just ethics, it's education. 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.
- sim7c00 2y agoits not computers who treat people like garbage. they do as they are instructed by humans, in all cases.
- foobarchu 2y agoCounterintuitively, it also requires a willingness to break what appear at first to be unbreakable rules. Most of the worst programmers I know seem to see their work as "how can I accomplish a task without breaking what I see as the rules", without having fully understood the system. That quickly turns into copypasta, extra layers of abstraction, over configurability, and many of the other plagues of programming.
- jprete 2y agoI think the two errors - imagining non-existent rules, and ignoring rules that exist - are related errors. The foundational skill is accepting that the machine is never wrong because the machine is also never "right", the machine doesn't actually make decisions, it's a construct of physics following a pile of physical laws and not a person to be negotiated with.
- hamandcheese 2y agoI think you overestimate the amount of skill a newb can quickly gain on their own. I taught myself to code, but it took a whole summer (aka free time that adults don't get) and I had access to my dad (who was a software engineer himself) to answer lots of questions.
- dylan604 2y agoI 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.
- malfist 2y agoBut you're building on the context of knowing a different language. Picking up the second, fifth, or nth language is easy, as long as it isn't the first one.
- kloop 2y agoThe second one actually seems to be harder for some people. It requires separating the syntax from the semantics Agreed on all further ones, however
- dylan604 2y agoWhat 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.
- mrbombastic 2y agoA week is not anywhere close to enough to learn programming in any meaningful way for someone with no experience.
- tourmalinetaco 2y agoIt is, however, enough to make small programs and extend from there. Especially following a book like K&R.
- wuming2 2y agoTime to expertise is down to zero in “Fake until you make it” circles. 260 week-long iterations later, having survived the “hype curve” and the “Valley of Death”, they declare themselves “battle-proven”. A.k.a. experts.
- sergiotapia 2y agothe worst is when someone knows all the keywords to make it seem like they are technical but after talking for a few days you realize wait they really don't know wtf they're talking about!
- whatshisface 2y agoThis is one of the rewards for paying full attention to people, even when you aren't forced to by the situation: small misalignments slip out long before you hear something that jars you into a critical frame of mind.
- hinkley 2y agoExpert beginners.
- jpc0 2y agoUntil I decided to start "reinventing the wheel" and just not using abstractions from popular libraries and frameworks I really struggled to actually understand what is happening. 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.
- nsonha 2y ago> You see this all the time in the more newbie-friendly game engine 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.
- elzbardico 2y agoThis is not the case any more and have not been for a very long time. There are plenty of game engines, and some of them are specifically targeting beginning game devs and abstract a lot of that stuff in really high level concepts that require no much more from the developer than some really basic arithmetics and geometry intuition. 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.
- soared 2y agoGame dev is a fun hobby some people like to mess around with, just like any other hobby. Doesn’t mean they’ll be experts or know what they’re doing, but they’ll try and probably ask some basic questions online. 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
- sim7c00 2y agoits nice to have a hobby. I make Operating systems as a hobby. But because I am not an Army of dilligent engineers with a knowledge based in all history of computing and computer science, i would not dare to ship my code to an unwitting user and allow them to connect to the internet. Thats dangerous in these times. 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.
- dylan604 2y agoThere's a common phrase that founders should code, but not all founders are coders. So when the start up is small and the founders want to contribute by testing PoCs, the chatbots are getting used by those founders that can't code. Lucky for me, the PoC is just that and allowed to be implemented without shimming the PoC directly. I cringe every time they mention using the bots, but luckily it has been controllable.
- triyambakam 2y agoI think people often don't know where to begin.
- fingerlocks 2y agoAgreed. I’ve experienced this in different programming domains. 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
- viccis 2y agoOne of my favorite intern stories was a kid who was a compsci senior, very good university, and who was assigned to write some Python code for my team. He had the very immature "Python is a baby's language" attitude. He wasn't working on my stuff so I don't really keep track of what he's doing, but a few weeks later I look at what he has written. Almost all of his Python functions have one parameter with an asterisk, and he does a len() check on it, printing and return an integer if it's not the right length of function arguments. Turns out this guy learned this behavior from Perl, used an asterisk because why not he always does in C, and was just manually unpacking every function argument and using a C style return error handling process. 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.
- fragmede 2y agoA friend of mine says LLMs are good at producing bad pandas code because there's just so much of it out there to train off of.
- giraffe_lady 2y agoThis sort of thing is a weird relic of CS programs doing double duty as "professional school for software development" and "undergrad prep for an academic math career." 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.
- viccis 2y agoIMO it could be closer to a doctor/nurse dichotomy. Doctors learn medicine. From top to bottom, then insanely deep into their specialty, if they aren't a generalist. Then they spend the rest of their lives keeping up with new medical research and often doing much of it themselves, teaching others, etc., along with practicing medicine. To do that last part, the act of which justifies all of the research, they do residencies. Nurses have their own training pipeline that often centers much more patient management and practical application of medical research. It's an easier training pipeline and they are paid much less, but the fact is that most people don't have what it takes to be a doctor, and the world doesn't need that many of them, it needs more practitioners. 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!
- creesch 2y agoI am not, I see it happening even within companies. They figure that for some junior tech related roles they don't need to hire people with the education and just teach them in house. Often not developing itself, but things like automated tests in a QA role. 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.
- stavros 2y ago> I'm always a little surprised at how many people out there want to develop software yet haven't put in the effort to gain even the most basic computer nerd programming chops. 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?
- sfn42 2y agoI like learning how to do stuff. It's strange to me that people think they can do stuff without learning how
- dahart 2y ago> People don’t want to “learn programming”, they want to “make a thing”. 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.
- _xiaz 2y agoAnyone who already programs for a couple of years can spend a week learning $lang. Learning programming for the first time takes a long while and a lot of effort. I'd say a couple of months if you're bright and motivated. Possibly a year or two if you're not.
- rurp 2y agoI agree with the part that someone who wants to build something technical should gain at least some related knowledge, but a week is underselling the effort needed to learn how to code by a lot. After one week of teaching myself Python I couldn't code my way out of a paper bag, and I'm someone who enjoyed it enough to stick with it. The average person would need at least 10x that amount of time to be able to start building something interesting.
- tensor 2y agoI'm not surprised at all. Honestly the "I don't need to learn that" mentality is common in tech even in people who call themselves senior developers. It's especially noticeable in the hostility of many towards the sorts of information you learn in a good computer science degree. 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.
- randomdata 2y agoSeems like the natural progression from end goal to breaking it down into the smaller and smaller pieces required to see the goal through, as people have always done. 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.