News for hackers. Stuff that matters.
Re:Programming is hard by blunte on Tuesday April 06, 2021 @10:27AM (#26712146)
The thing is, much of the skills it takes to be a decent programmer are skills that we should endeavor to teach to and instill within everyone.

These are things like:

- attention to detail

- development of a sense of when attention to detail is very important and when "just about" is reasonable

- ability to communicate a process in words, especially written words

- ability to identify patterns and recognize that one has identified a pattern (pattern recognition is automatic in animals and especially humans, but it is often occurring subconsciously)

- ability or willingness to ask "why?" and follow that answer far enough to understand the basic reason for something

- willingness to challenge status quo when the eventual benefit may be worth doing things differently

- ability to consider multiple factors at once (time, cost, effort, etc. etc.)

I could go on and on. Suffice to say, much of what makes good programmers/developers are attributes and behaviors which make good humans. Sure, if for example you have a huge inheritance, you could probably get along fine doing absolutely nothing difficult or productive or creative, but that's not really living. So human life involves a lot of the skills on this list.

Re:Programming is hard by junon on Tuesday April 06, 2021 @10:30AM (#26712196)
I disagree. These are things everyone can apply to their jobs.

Being a programmer involves understanding how computers work, what makes them interop, how networks work, perhaps some basic understanding of electronic engineering concepts, the ability to keep mental maps of insanely complex callgraphs in their head, etc.

This is not something "everyone" can just pick up and do. To reduce programming to a set of soft-skills is what got us into this mess in the first place.

Re:Programming is hard by halfjoking on Tuesday April 06, 2021 @10:55AM (#26712549)
I think the same thing, but most of the hard skills you listed like understanding computers/engineering/networks are pretty irrelevant. Those all can be abstracted in many situations.

Working through complex mental maps is all you need. Thinking through all possibilities and edge cases, and logically ordering instructions to represent a mental model. It's similar to chess where you have to evaluate every possible and unexpected scenario. If you're good at chess you'll almost certainly be good at programming.

If "programming is easy" for some people it's because this one skill comes naturally, and beginners should be made aware of that before they get unrealistic expectations.

Re:Programming is hard by junon on Wednesday April 07, 2021 @05:08AM (#26722136)
I disagree. Knowing how memory works, how a CPU works, what Multi-Processing is, etc. are all pretty vital in being a decent programmer - yes, even for the web: if you don't know that Javascript contexts run single threaded (in the UI thread) then you run the risk of writing hugely unperformant code.
Re:Programming is hard by tectonicfury on Tuesday April 06, 2021 @11:58AM (#26713474)
They don't tell the audience this otherwise they won't be able to fleece them. "It's so easy to make apps" "Learn X in 40 projects".

I think the problem is also compounded by people who mostly have superficial knowledge of programming (a few frameworks here and there, couple languages etc) and are in the software industry and carry the title of programmers and engineers.

Re:Programming is hard by musingsole on Tuesday April 06, 2021 @12:16PM (#26713733)
Programming as a topic is a iceberg. Pick some flavor, find some tutorials, accomplish some small things and it's easy to think the rest of the industry is just that process * 10 every day.

In reality, it's that process * 1000 plus the addition of a few other processes those tutorials can't expose because they're only needed at the intersection of 50+ different applications. Plus an entirely unaccounted for process in the form of creative problem solving that makes up 90% of the work.

I've had a number of executives plop down at my desk, proudly proclaiming to be a python dev only to see their eyes glaze over and every other word fly above their heads only a few commands into the interpreter.

Re:Programming is hard by tectonicfury on Tuesday April 06, 2021 @12:52PM (#26714235)
When you have websites like hackingwithswift and you see Chris lattner (who is some genius because he made a new language) endorsing it with lavish praises, you tend to believe that it’s easy. But then every time I tried to make a 10% decent app, I had to look up the documentation and used to be confronted with (gatekeeping?) jargon like concurrency and background thread. I even paid for raywenderlich’s annual subscription but now I realise why these websites are so flashy and captivating.

There are also a lot of resources which sound as if they would be great as they have big name authors but they actually make you more depressed. I had many such experiences most notably with Stroustrup’s books. The one called Programming - principles and practice is a hopeless soup of complicated syntax and lousy pedagogy. It’s aimed at beginners but really anyone who’s read chapter 6 of the book where he seeks to teach ‘what programming is actually about” using a calculator program as an illustrative example, he really makes it appear as if recursion is some exotic and esoteric thing, whereas it is a recurrent theme in the domain of programming. I say this because before this chapter he never used recursion and it becomes very unintuitive, unlike SICP, where from the beginning this is identified as one of the central ideas in all programming.

I was fortunate I used to read e-books and didn’t spend too much on purchasing flimsy books, turns out, as far as CS is concerned, the best stuff is actually free (and accessible as pointed above in the link)

Re:Programming is hard by ZephyrBlu on Tuesday April 06, 2021 @06:02PM (#26717929)
For me programming is more like a Mandelbrot set.
Re:Programming is hard by Jtsummers on Tuesday April 06, 2021 @10:39AM (#26712324)
That's something being a good, skilled programmer working on larger systems needs to be able to do. That's not something every programmer needs to be able to do.
Re:Programming is hard by junon on Wednesday April 07, 2021 @05:09AM (#26722140)
Disagree, entirely. Knowing how a computer works is important when programming a computer. Just because you're not writing assembly when making a website doesn't mean you're not employing knowledge about a computer.
Re:Programming is hard by blunte on Tuesday April 06, 2021 @10:46AM (#26712414)
My list wasn't comprehensive, but I think it is a reasonably fundamental set. Without those "soft skills", the developer will not be great.

On the other hand, if someone has most of my list, then they are probably quite capable of learning the more specific things that meet your requirements.

Re:Programming is hard by junon on Wednesday April 07, 2021 @05:19AM (#26722219)
Your list makes a good student. Being a good student doesn't make you a good programmer in and of itself.