8 ms·
This article illustrates quite well what our industry is suffering from. (Apart from being 10x as long as needed and full of rambling that makes it hard to actu
by sooyoo 4y ago
This article illustrates quite well what our industry is suffering from. (Apart from being 10x as long as needed and full of rambling that makes it hard to actually read fully.)
There seems to be the perception that you can just "get into programming" in a few weeks and then you are a competent programmer creating anything of high quality and value. It's not the case for skilled carpenters, neurosurgeons or concert violin players. How come people seem to believe it's true for the art and craft of software engineering? I've been a computer nerd since high school, studied a Comp.Eng. degree for 5 years, went to grad school for another 4 and now I'm in an industry job for 3 years, and I consider myself only marginally competent at my craft. How come my soccer friend thinks he can watch a bunch of Javascript youtube clips and take an easy distance course at a university to score him a high paying job 2 months from now? That's not how it works, neither with carpentry nor with neurosurgery nor with concert violinists nor with software engineering.
- stormdennis 4y agoI knew someone who was hired as a carpenter with no training or experience. It happens in a housing bubble.
- dstick 4y agoTo be trained as a carpenter while being paid, more likely. Like the coding bootcamps that “graduate” you and then rent you out. If there’s no skilled labour. You have to create your own.
- bloqs 4y agoThere is this idea that the initial inertia to "get it" is the main issue, after attempting probably 20 or so MOOCs, had friends run over the basics a few times but not catching the 'spark' of engagement that drives you forward. The concept is presented in a binary because of how spoken languages are presented. you are either "fluent" in a language or you arent. Knowing a few words vs conversational french is a discernable difference, while of course the process of learning is gradual, I believe it's partially referring to the confidence to use something actively. "Learning to program" constitutes being able to interpret nearly any code in that syntax, and to produce your own working code without outside intervention that actually does something useful. This is all that is required for most business programming, so it's the goal. A question could be posed - Can you make a CRUD app in X without someone helping you, or at the very least pseudocode one? People want to be in the yes camp to the above question
- yodsanklai 4y agoTo play devil's advocate 1. Not all CS projects are equally hard. Many successful projects have been written by kids with no formal education. In the same way that some great music have been written by beginners. 2. Some people learn coding at 7, have a formal education up to a PhD and they aren't better engineers than others with only 3-4 years education. A reason is that a lot of time may be spent on things irrelevant for the job. But then I agree that nowadays a few years education seems like a minimum.
- namaria 4y agoThere was a lot of low hanging fruit in the mid 2000s, when Ruby and Python made creating relatively complex software easier. Now most obvious app markets (hotel/travel booking, social media, ordering food, dating, ride hailing/sharing) and everything web is three layers of framework tweaking. I think clueless 'coders' had a window in time where they could actually produce a lot of economic value but now they're producing more harm then good. A lot of people come out of bootcamps now thinking 'programming = editing high level languages in a text box' and don't have the depth of knowledge to design and run sane production environments.
- farmin 4y agoThis was true for me. I made ok money off a simple web service I created in 2013 with no formal education. But I think it still exists to a lesser degree now, probably only if you have some other domain specific specialisation though, contacts etc. e.g I am a farmer than knows how to code a little which is fun.
- cookie_monsta 4y agoI get what you are saying, but the author isn't making any wild claims here, just that he finally made the transition from wanting to learn to having some basic ability. We don't think that people who just learnt to swim are ready for the Olympics, just that they can no longer be classified as non-swimmers. What I found interesting was that part of his "learning journey" was to write a textbook about Rust even though he has never completed a major project with it. I wonder how many "how-to's" out there (not just for programming) are basically notes written as the author was learning that thing themselves. It's a pretty gutsy move and I don't don't think that I would do it
- groffee 4y agoThat's Mediums entire business model. Blog spam by people who can barely switch a computer on.
- deleted 4y ago[deleted]
- DogLover_ 4y agoBecause barrier to entry is much lower now than it was for you when you entered the field. What we do is not that difficult and with the advent of youtube, best practices, and better tools it has become much easier than it used to be. It is also easier because to learn it you only need a computer, internet-connection, and free time. Training to become a carpenter for example, requires space, physical work, and some money.
- ngc248 4y ago>>> What we do is not that difficult Somethings are not, but some are. Just like everything else, software work also ranges from easy to hard.
- Dudeman112 4y agoJust like everything else too, most of the work out there isn't that difficult
- randomdata 4y agoNot difficult to do in some academic way, but often demanding of your attention in boring ways (writing tests, handling errors, etc.) that the developer in it for the money isn't able to commit to.
- 1983054104 4y agoI always have the same reaction when I watch threads on /r/learnprogramming. I believe it's due to "programming" attracting people who want quick money (without having no interest whatsoever in programming languages or computers), the hype of the Web2.0 and the scams created by all the so-called bootcamps who promised all those things. I've been writing C++ on every OS for the past 20 years and still don't consider myself a good programmer. I read every day to improve myself though but I still have a lot to learn.
- donedealomg 4y ago
- BlargMcLarg 4y ago> How come my soccer friend thinks he can watch a bunch of Javascript youtube clips and take an easy distance course at a university to score him a high paying job 2 months from now? That's not how it works That is how it works at most places for anyone starting out. All the formal education is great for seniors and the 3% who do more than push boxes all day. For anything else, it ranges from useful to an active detriment. Given most devs will not be expected to be productive regardless of education and sit 5 years doing mostly the same work, that's a lot of time to train someone into the ideal cargoculter, which will keep them hireable in most of the market. Vice versa, someone who sees inefficiencies, knows things can be better, etc.? Yeah, you get a few "look I did these amazing things and now my company loves me" stories, but the vast majority will struggle balancing their own desires and thoughts with company processes and political walls.
- geocar 4y ago> How come my soccer friend thinks he can watch a bunch of Javascript youtube clips and take an easy distance course at a university to score him a high paying job 2 months from now? That's not how it works Except it's exactly how it works: Your soccer friend can probably job-hop for years before everyone realises they have no idea how to tell a computer what to do, and by that point, they might be ready for management. Why are you so mad? You think hard work should be appreciated or something?
- gonzo41 4y agoCarpentry is the better analogy for programming. There's a spectrum for the work software engineers do. neurosurgery and concert violin are pretty tight on what the end goal is and you don't usually do a decent job from day one without a lot of supervision. Whereas smacking a few bits of wood together (framing) gets you in the door as a carpenter. But there's a whole bunch more to learn if you're going to do fine woodworking. However, you can be productive from day one if you're willing to learn. That's the same as being a developer these days. People will pay for low end skills because they are still a skill. You have a comp engineering degree. What are you working on in your job? Does the education fit the work, or on reflection do you have a little too much qualification for the work you're doing?
- Syzygies 4y agoCarpentry is a great analogy. Half of all woodworkers have no concept of the properties of wood grain; they'll mix up edge and end grains on decorative cutting boards. I wish I understood the "grain" in programming better. It's a lifelong search.
- layer8 4y agoProgramming is harder than carpentry, because the “surface area” is much larger, and also because you need a much greater ability to abstract and to understand abstractions. It would be a bit different if the programming ecosystem (tools, APIs, languages, services, etc.) was stable. Then you could train people to perform useful standard tasks, that they could then do for at least a decade or two. Just like how you build a simple table, bookshelf or cupboard doesn’t change every two years. But look at how much more complex and in constant flux the world of software development is.
- ericmcer 4y agonot to mention all your knowledge of wood won't be completely irrelevant in 5 years.
- 4y ago
- crankysiren 4y agonot sure if appearing competent enough to score a job is really dependent upon actually being a decent software developer
- nkrisc 4y agoYou can't become a skilled carpenter with just a few weeks of training, but you can apprentice with one if you can swing a hammer and are willing to put in the effort to learn, follow instructions, and work hard. I suspect a lot of entry-level programming jobs are like that, even if they don't intent to be apprenticeships.
- skeeter2020 4y agoThose apprentices don't get paid a journeyman salary though, but many of these very new programmers seem to think they should.
- deleted 4y ago[deleted]
- dasil003 4y agoI understand the sentiment, but this is just the inevitable result of "software eating the world" and huge demand for programmers. Rather than hand-wringing over all the clueless attitudes out there, count your blessings!
- randomdata 4y ago> That's not how it works, neither with carpentry nor with neurosurgery nor with concert violinists nor with software engineering. Not quite a violin, but once upon a time I bought my first guitar and literally two weeks later was playing to a paying crowd of ~100 people. I certainly wasn't producing quality, and still can't, but I found something that a small number of people valued. Some goes for software. You can create the most horrible monstrosity imaginable, but it can very much still deliver value. The audience who finds that value may be smaller than a master craftsman can attract, but at software scale a small audience is still huge.
- haswell 4y agoAnd I’d argue the reason these crappy software products often succeed is because they’re made by people who have direct knowledge of the problem. I know a guy who works in the food industry. Not a CS nerd by any stretch, but he started dabbling in Python, and then got a huge raise because he could use Python to autogenerate PowerPoint decks that present a bunch of otherwise tedious-to-assemble information in a fraction of the time. Could a professional developer do a better job? Almost certainly. Did the company need to go find/hire one to achieve a huge efficiency gain? Nope. Will the same guy be able to spearhead some massive greenfield app dev project? Not anytime soon. The same thing is happening across industries. People with iPhones and Davinci Resolve are churning out social media content that previously would have required $100Ks of equipment and specialized training. Will these same people direct the next Oscar winner? Probably not. But that’s beside the point.