5 ms·
Another good example of someone learning to program on their own because they wanted to and then leveraging that experience to get a job doing it professionally
by mi100hael 10y ago
Another good example of someone learning to program on their own because they wanted to and then leveraging that experience to get a job doing it professionally. The big secret to learning to program is that there is no big secret. It's basically a glorified trade job and everyone already has the tools in front of them.
- giblaz 10y agoIt certainly is, but like any trade job, it requires motivation to learn it. And it evolves at a rate no other field ever has, so you have to be mentally invested for the long run to succeed long-term. It's a bit harder to be a one-trick pony developer (although it's possible).
- Omnius 10y agoMost trades can be taught to anyone i think programming requires a certain kind of mind set to begin with or but another way an already analytical thought process. It's why a lot of grads that jumped into the field to make tons of money have trouble with the actual work. I am not saying it requires a special snow flake but it does require abstract thinking and that can't be taught to everyone.
- kiba 10y agoThe principle of programming is really trivial, so I am unsure that it can't be taught to everyone. We are able to teach basic math to everyone, if badly at that. I doubt programming is such big of a jump.
- denisenepraunig 10y agoI do believe that the very basics of programming can be taught to everyone, like you said. I think everyone should be able to learn the basics in school (or elsewhere). We are surrounded by software, coding is like a new literacy. But I also think not everyone will like coding. It is kind of abstract but also creative. People have different interests and silks: writing, coding, drawing, taking pictures, sports,... and that's ok!
- rfrey 10y ago"Most trades can be taught to anyone" This makes me suspect you haven't had much exposure to trades. Getting good... really good... at welding, or cabinetry, or stairbuilding, takes at least as much dedication and skill as getting good at programming.
- dozzie 10y agoOmnius didn't say that this anyone will be good. The same applies to welders, woodworkers, and all the rest of craftsmen. Note that there are plenty of programming jobs and tasks that are boring, repetitive, easy to do, and of little impact to the underlying system, that really need to be done by human. Things along the lines of modifying a report, extracting some data on a request from other departments, or adding a button to an Android application. Somebody still needs to do them, because they're often virtually impossible to automate away, but you don't want to waste a really good programmer on something like that, and a really good programmer usually will not want to do them either.
- hash-set 10y agoI disagree. There are crafts people who do awesome woodwork, but woodworking is a hell of a lot easier to learn that software development. Also, my dad was a welder, a very good one, but most of the welders he worked with were drunk fools and did 'acceptable' enough work. If you have half a brain you can learn to weld and even fabricate metals. I've been in that world and I know exactly how smart those people all are (hint: most dropped out of high school).
- lacampbell 10y agoIt's basically a glorified trade job and everyone already has the tools in front of them. That attitude certainly explains a fair few 'legacy' systems I've seen.
- praptak 10y agoI wish it was a trade job. What I see in crappy systems is lack of tradesmanship.
- denisenepraunig 10y agoI heard about 10.000 lines of code in one function at a job interview. I did not accept that job offer and I am quite happy that I don't have to maintain this... This is a serious lack of craftsmanship! A little bit of Clean Code for every programmer please... But I am drifting a bit off topic now.
- genieyclo 10y agoHow is this possible...what language/framework/tool was this in or for?
- lovich 10y agoI've found this pretty frequently at every corporate workplace I've come into. Pretty much every job I've had involved heavy refactoring of the code base for the first month or two. The worst I have ever seen was at my current where I discovered that for every new function the old dev added, he had copied and pasted the entire code from the previous function and then added his new stuff at the end. The last function was over 20k lines if I remember correctly.
- jedmeyers 10y agoHave you looked into any of SAP ABAP legacy repos, by any chance? What is your take on that?
- dom0 10y agoI actually like seeing my job as a craftsmanship, because (at least in my native language) there is a certain "honour of doing good work" connected to it. Also, no shame to work a trade job at all. Not sure where people get that idea?!
- JPKab 10y agoThis. As a guy who went "From Carpenter/Electrician to Software Developer: The Hard Way", there are numerous parallels with the trades. In the trades, there are the general contractors who submitted the lowest bids and hire nothing but the lowest bidders. Everything is rushed, and the poorly crafted McMansions are the result. Then there are the true craftsman. The dudes who stop every few minutes on the way to their job site to point out the sloppy, incorrect work to the younger guys. And you want to talk about "code review"? These dudes would relentlessly hammer the methods you used for any task, to ensure you did it efficiently and cleanly. Most people, for instance, have no idea how to efficiently use a shovel to dig a deep hole. There is a technique to it that makes it much easier, faster, and less tiring. Abstract that up to every single task on a construction site and you can begin to understand what these folks knew. Of course, the majority of construction jobs nowadays will have you working for one of the "quick and dirty" companies. Even if you are a true craftsman, you will be at least somewhat surrounded by sloppy workers who never learn proper technique. It's kind of like looking at code written by the really bad outsourcing companies who hire overly specialized people who only know recipes.
- denisenepraunig 10y agoOh wow, a lot of parallels. Pair programming and code reviews taught me a lot. When pair programming you also learn a couple of new short cuts, new command line tricks, new ways of debugging,... Without the experienced coders our code base would have been a mess. And congratulations to your career switch!
- eng_monkey 10y agoIn the same way that orthopaedic surgery is glorified carpentry?
- sanderjd 10y agoHonest question: What is the difference between a trade job and a profession, and why is software development more similar to the former than the latter?