Live data from Hacker News

Learn to Code, It's Harder Than You Think

mikehadlow.blogspot.com

41–50 of 197 posts

Re: Learn to Code, It's Harder Than You Think

#41

There's a big gulf between knowing how to code and working as a professional software developer. I'm a writer for a marketing agency, but I write Google App Scripts, JavaScript, and PHP on a regular basis to automate tasks, try out ideas I have, etc. There's no way I could work as a professional software developer, but I know how to code enough to help make my professional/personal life easier and more fun. Isn't the…

>There's no way I could work as a professional software developer,

I'll hire you.

Re: Learn to Code, It's Harder Than You Think

#42

Hard programming is harder than you think. Coding schools are mostly teaching CRUD web development and a watered-down version of data science aimed at business analysts, which isn't that hard. You're not going to get folks lining up to take an embedded systems, graphics, or compiler bootcamp.

Web development (it's more than just CRUD) is hard. Even with the best web development framework, the state of the art in tooling, you're looking at at least a year of focused study before really being able to take a job.

It doesn't require hard math, but it's still hard in that the sheer number of languages, tools, best practices, technologies is daunting.

And they keep changing. My father is an electrician, after learning the ropes from him, I went into low voltage, which he wouldn't learn how to do because it "keeps changing", meaning you had to take a little bit of time every year to learn some new things. Full stack web developers have to take significant amounts of time every day to learn new things.

I've seen devs who were perfectly comfortable with all the math and "real dev" practically break down when presented with a web project. More than one of them admitted to me after beating their heads against it for a few weeks that it was harder than it looked.

I can understand if you can't appreciate the difficulty. But try taking on a significant project before calling it easy.

Re: Learn to Code, It's Harder Than You Think

#43
This article reflects my experience at University very well. I'm a self taught programmer that ended up pursuing a CompSci degree. I'm in the last semester of my BSc, and in hindsight I should have studied something else, like Physics or Electrical Engineering.

The standards are ridiculously low. Most of my coursemates (final year CS students) are literally unable to write software. They can write a single-file cpp file in Code::Blocks on a good day. In my experience (and having talked to plenty of other CompSci students, their experiences are similar to mine), formal education in programming is generally reduced to teaching students all about recursive functions, bubble sort and those kinds of things. There has been a grand total of 0 lectures or labs about unit testing, version control, API design, interoperability, etc. Let alone trying to communicate the idea of "clear, maintainable" code. Only a very small minority of people can write code, yet most of us will graduate.

I have a module called "Software Quality and Process Management" (formerly known as "Large Scale Software Engineering". Good thing they changed the name, at least now it's not such a blatant lie). In this module, we learn all about COCOMO, and how we should estimate the number of lines of code a project will use, and use that to figure out how many man-hours are required to complete it. WTF. I'm preaching to the choir here, but that's like estimating the amount of effort it will take to design an airplane based on the number of grams of aluminium in it. When someone raises their hand and disagrees about the relationship between SLOC and person-hours (or even about whether person-hours is a reasonable unit - it's not), the lecturer responds with a blanket "you're entitled to your own opinion", but draws blanks when asked about whether they know anyone who actually uses these methods in real world software engineering and finds them useful. It's the same story when they teach about the waterfall development process and other similar outdated practices that are known to be detrimental to healthy software.

The vast majority of what I know about software engineering didn't come from my time at University, and almost all of the software engineers I know have had a similar experience. I know correlation does not imply causation, but it's definitely food for thought.

Re: Learn to Code, It's Harder Than You Think

#44

There's a big gulf between knowing how to code and working as a professional software developer. I'm a writer for a marketing agency, but I write Google App Scripts, JavaScript, and PHP on a regular basis to automate tasks, try out ideas I have, etc. There's no way I could work as a professional software developer, but I know how to code enough to help make my professional/personal life easier and more fun. Isn't the…

>There's no way I could work as a professional software developer, I'll hire you.

Agreed. If you figured out how to automate your job on your own, you would definitely be able to work as a software developer. I'd hire you as well.

Re: Learn to Code, It's Harder Than You Think

#45
post #3

Also, shoveling bootcampers into the industry is bad for real engineers and the quality of their software. Management everywhere is lowering the bar so they can hit their hiring goals and pretending the consequences are natural.

Is it bad? Should we have "real" engineers working on software that a bootcamper could do? It seems like a waste of resources. Some problems only need a solution that your nephew can hack together in a week.

That said, the problem is that many people looking to get software built can't properly identify what should actually be engineered. In the physical world it's a bit more obvious.

Re: Learn to Code, It's Harder Than You Think

#46
[I made a similar reply down below, but I think this belongs here, too.]

I've made my living by teaching beginners to code. I have been doing it for the better part of two decades, and I specialize in teaching students that have little aptitude for it.

In my experience, many students can learn how to code, but it takes a very long time!

For example, I make my students code FizzBuzz. It is literally the 106th project I make them do. That is, they have completed 105 complete computer programs before getting to FizzBuzz. And many of them still struggle with it. The nuance of else/if needing to be ordered in a certain way is something they still don't have a good grip on.

Programming a computer is very very hard for most people, but that doesn't mean they can't do it.

Re: Learn to Code, It's Harder Than You Think

#47

There's a big gulf between knowing how to code and working as a professional software developer. I'm a writer for a marketing agency, but I write Google App Scripts, JavaScript, and PHP on a regular basis to automate tasks, try out ideas I have, etc. There's no way I could work as a professional software developer, but I know how to code enough to help make my professional/personal life easier and more fun. Isn't the…

> There's no way I could work as a professional software developer

Actually given the way our economy is currently structured, it's easier to get a good job as a developer having never written a line of code than it is to get a good job as a marketer even with 5+ years of experience. It might take you a couple tries to pass the interviews, but that doesn't matter because getting interviews is relatively easy. (Albeit if you don't have a GitHub portfolio, getting each interview will probably require you doing some take home assignment that will take a couple days for each company.)

Re: Learn to Code, It's Harder Than You Think

#48
post #5

> There’s another problem with software development that’s the flip side of the low barriers to entry mentioned above, and that is there is no well established entry route into the profession. Try Googling for ‘how to become a doctor’, or ‘how to become a lawyer’ for example: ... and it only takes 10 years to become a doctor.

Like scotty79 says, at least you know what you're doing in those ten years. Perhaps an easier analogy would be a lawyer or engineer (ABET degree + coop)? For programming, you get the following "advice": * Get a degree * Don't get a degree, go to a bootcamp/teach yourself * Do side projects * Get an internship * Network and go to meet ups * Learn algorithms and data structures * Practice brain teaser questions * Learn…

[deleted]

Re: Learn to Code, It's Harder Than You Think

#49

I liken coding to playing a musical instrument. Some people are musically inclined, they can learn easily and fast and they tend to the best. But most people require some level of training complimented by the dedication of what amounts to mostly self-practice. So in a way, you're self taught. The vast majority of people are willing to buy an instrument, just to see if they are musically inclined, but when they find o…

Although I try to be careful with analogies, I do think this is an excellent one, largely because it can help explain why coding can be seen as simultaneously easy and extremely difficult.

I remember reading an interview with Andre 3000 a while back about how he composed "Hey Ya!". It turned out (this is all from memory) that the reason he used the chord pattern he chose was because he was relatively new to the guitar and those were the chords he knew. So in short, Andre 3000 was able to take very limited knowledge of a new instrument and produce something very compelling and interesting. However, this was certainly after a lifetime of building an interest in and understanding of music.

Shortly after reading that interview, I was hanging out in a music store, and a guy was amazing everyone with his acoustic guitar ability. He did some very cool stuff with his fingers while hitting a harmonic and going back down the neck, at a rapid pace, without faltering even slightly. He was available for lessons and corporate events.

Truth is, it actually is possible to do something very interesting with programming with relatively little experience, though you do need to be a creative and technically minded person. At the same time, you know, nobody would have hired Andre 3000 as a session musician. Sometimes I think that those coding tests, where you have to find the least common ancestor of two nodes in a binary tree, handle tricky threading issues while avoiding deadlock or race conditions, or doing complex outer joins, are really done by companies looking for the equivalent of a session musician. They're not saying you aren't creative or incapable of writing novel and useful software if you don't pass. They just can't add you to a band, at least not yet.

Lastly, I am increasingly in agreement with the last paragraph, which is that our "profession" does need to take initiative in determining how basic competence is established.

"If the main point of a professional qualification is filter out people who can’t code, does it really matter if what is being tested for is out of date, or irrelevant to current industry practices? Maybe our tentative qualification would involve the completion of a reasonably serious program in LISP?"

This is insightful. I've been very ambivalent about it, because I am scared of what happens through regulatory capture. But at this point, I do sometimes wish there were an industry-wide, well recognized exam that covered the paces that you go through when you interview at google, amazon, and small companies that are copying them. I've read/heard people say that they'd happily take such an exam formally if it meant they wouldn't have to re-take this exam, in a more capricious way, every time they apply for a new job.

Re: Learn to Code, It's Harder Than You Think

#50

There's a big gulf between knowing how to code and working as a professional software developer. I'm a writer for a marketing agency, but I write Google App Scripts, JavaScript, and PHP on a regular basis to automate tasks, try out ideas I have, etc. There's no way I could work as a professional software developer, but I know how to code enough to help make my professional/personal life easier and more fun. Isn't the…

>There's no way I could work as a professional software developer, I'll hire you.

Of course he knows he could work as a developer. It is just good old humblebragging.
Post reply on HN