(no title)
theclansman | 2 years ago
There were so many interesting problems and theories in school that you never see as a regular developer, often I think that I have a job that any person could do with a few months of training (does this make me a narcissist? Is the complain here just that my job is unglamorous or is wasting your skills a legit concern?). I guess I haven't matured enough, or maybe I'm not really sold into the impact my company is making.
sokoloff|2 years ago
I wonder if it’s similar to how a musician can’t comprehend how I can barely hear a beat.
johnnyanmac|2 years ago
ozim|2 years ago
Most people only say they want to do something because it is cool or earns money.
But then they fail to put in effort and without putting effort no one can really learn.
JackMorgan|2 years ago
I use TDD, a list of projects that gradually increase in difficulty, multiple languages, and solo practice on tools like CodeWars. After they are comfortable with basics I'll have them build a personal project of their own design. Between CodeWars and TDD they've now gotten used to getting dopamine hits from programming. Add in intrinsic motivation on a personal project with a full stack website and they are glued to the editor. Time flies as they rapidly achieve a decent level of skill at reading and writing code. By the time they are wrapping up that personal project, as long as they've kept up with algorithm practice they're ready to interview.
Some have taken longer, usually about a third take a break and circle back around later. Some do take more like 1000 hours to feel confident. Sometimes I end up hiring them myself for contract work to help them build a resume and help me with a project. But on average it's only about 500 hours to teach the fundamentals of unit testing, algorithms, data structures, functional programming, SQL, Typescript, React, and a backend language like Python or C#. They'll not be a master of any of them, but know enough to build a website with persistence and use tools like Google and ChatGPT to get answers when stuck.
The "simple trick" is just making them write absolute tons of code, every day, for months. Then making them read other's code to learn new tricks. It's not easy, I'll work them like a rented mule but they'll come out way over qualified for an entry level position. By the time they're interviewing most will have written 10-20k lines of logic, often grinding a problem a half dozen ways to really see the pros and cons of various solutions.
I think most people greatly overestimate how much code the average CS graduate actually writes for their degree. I've interviewed hundreds of new grads who've written maybe a few hundred lines of code total. Sure they know the theory of computer science, but aren't prepared at all to be software engineers.
I'm not saying the bootcamp model is better, generally those students only know basics of copy paste. This is entirely the fault of the bootcamp instructors who are just trying to churn out graduates.
There just isn't much effort in actually teaching software engineering. Bootcamps have students do some basics and stop way before they're ready. Universities just have them study theory. Rarely is anyone teaching how to read and write code so fluently the students are dreaming in code. But this is extremely effective.
the_only_law|2 years ago
I occasionally think that too, but then I remember trying to introduce programming to people who couldn't even figure out how to save a text file.