11 Replies - 1232 Views - Last Post: 04 June 2021 - 07:37 AM

#1 dreaminxna   User is offline

  • D.I.C Head

Reputation: 4
  • View blog
  • Posts: 75
  • Joined: 10-June 13

Should programmers learn from book or by experience(by making mistake)

Posted 19 May 2021 - 03:34 AM

I've had this question on my mind that I'm still not sure how to answer. Working as a programmer we all know that different people code differently as we have different thinking patterns. As a junior programmer we know that we don't know the best practices and so seniors/intermediate tell us to do certain things without explaining why or just saying its best practice. But is it really good for juniors growth? I've often told at least on my work that senior are good at what they do because they learn from experience. Now if we told juniors to just follow orders because its best, are they not being rob of good learning experience? On why do things this way? Books like clean architecture explains things but very different from learning by mistake. Or like explaining that business logic should be this way and that way but did not experience first hand on to why should be that way. We can be good following and reading books but I feel like when it comes to explaining why, we can't answer. I don't know. This might be opinion base but should juniors on our team be let to make mistakes and make them own it instead of dictating what and what should not be done?

Is This A Good Question/Topic? 1
  • +

Replies To: Should programmers learn from book or by experience(by making mistake)

#2 CTphpnwb   User is online

  • D.I.C Lover
  • member icon

Reputation: 3853
  • View blog
  • Posts: 14,099
  • Joined: 08-August 08

Re: Should programmers learn from book or by experience(by making mistake)

Posted 19 May 2021 - 06:31 AM

Think of it like playing a sport: first you learn the fundamentals and then you gain experience. This is why science classes have labs, but the labs come after the class: you learn something, then you apply it. So it is always books first, then gain some experience.
Was This Post Helpful? 1
  • +
  • -

#3 modi123_1   User is online

  • Suitor #2
  • member icon



Reputation: 16254
  • View blog
  • Posts: 64,719
  • Joined: 12-June 08

Re: Should programmers learn from book or by experience(by making mistake)

Posted 19 May 2021 - 07:08 AM

I would agree. It's not an "either/or" situation.

Additionally learning on the job is fine, but also remember different shops do things a bit differently, and there's always a timeline somewhere... so failing a ton may screw up deadlines, delivery milestones, etc, and that isn't really business functional.
Was This Post Helpful? 1
  • +
  • -

#4 jon.kiparsky   User is offline

  • Beginner
  • member icon


Reputation: 12272
  • View blog
  • Posts: 20,797
  • Joined: 19-March 11

Re: Should programmers learn from book or by experience(by making mistake)

Posted 19 May 2021 - 07:59 AM

The way I look at it, you only ever learn anything about programming by writing programs, but you need books (and ideally, people - instructors, mentors, colleagues, etc) to tell you what programs you should write next, and why, and what you should expect to learn from writing them.

Expecting to learn everything by experience seems like a bad case of reinventing the wheel - computer science is a discipline that has developed over decades through the combined work of a great number of very smart people, all of whom were in the business of telling people what they'd found. Similarly, software engineering is a body of practice that has been compiled from the best lessons learned from the best mistakes of a different set of people. You would certainly not want to be the person who invented the idea of quicksort or clean code in 2021!

On the other hand, expecting books to be sufficient to the job is a fool's errand. Writing programs is a practical discipline, and is the hard contact with an unforgiving reality that polishes our knowledge into a useful form.
Was This Post Helpful? 3
  • +
  • -

#5 Skydiver   User is online

  • Code herder
  • member icon

Reputation: 7788
  • View blog
  • Posts: 26,021
  • Joined: 05-May 12

Re: Should programmers learn from book or by experience(by making mistake)

Posted 19 May 2021 - 02:59 PM

And there's is also the hard contact of Computer Science and Software Engineering theories with the realities of the business world that sometimes causes some rethinking to happen. Recall when college teachers used to always say comment your code -- the more the comments the better, but then see what Clean Code has to say about it after several man-years of experience in the industry.
Was This Post Helpful? 0
  • +
  • -

#6 macosxnerd101   User is offline

  • Games, Graphs, and Auctions
  • member icon




Reputation: 12800
  • View blog
  • Posts: 45,992
  • Joined: 27-December 08

Re: Should programmers learn from book or by experience(by making mistake)

Posted 19 May 2021 - 03:20 PM

There is a growing body of research in the CS Education literature on how to teach CS1 (Introduction to Programming) and CS for non-majors courses. The literature more or less reflects jon.kiparsky's comments about needing structure, not reinventing the wheel, and needing practice.

From: https://cacm.acm.org...ucting/fulltext

Quote

I recently discovered Felienne Hermansí blog. In her latest post, she talks about the research around direct instruction and how it relates to programming. The research evidence is growing that students learn better through direct instruction rather than through a discovery-based method, where we expect students to figure things out for themselves.

Was This Post Helpful? 0
  • +
  • -

#7 jon.kiparsky   User is offline

  • Beginner
  • member icon


Reputation: 12272
  • View blog
  • Posts: 20,797
  • Joined: 19-March 11

Re: Should programmers learn from book or by experience(by making mistake)

Posted 20 May 2021 - 07:41 AM

View PostSkydiver, on 19 May 2021 - 04:59 PM, said:

Recall when college teachers used to always say comment your code -- the more the comments the better, but then see what Clean Code has to say about it after several man-years of experience in the industry.


To be fair, the "always comment your code" was a previous best-practice standard, and the Clean Code viewpoint of minimizing comments only really arose, to my knowledge, during the Java era. It does take time for those best practices to filter down to teachers.

Now, I know that Clean Code is not entirely uncontroversial, but it seems to have got pretty broad acceptance. I'd be curious to know if those ideas are making their way into classrooms and bootcamps yet.
Was This Post Helpful? 0
  • +
  • -

#8 Skydiver   User is online

  • Code herder
  • member icon

Reputation: 7788
  • View blog
  • Posts: 26,021
  • Joined: 05-May 12

Re: Should programmers learn from book or by experience(by making mistake)

Posted 26 May 2021 - 06:15 AM

This also came up recently in my Android news:
The way we teach coding is all wrong. Here's how it needs to change
Was This Post Helpful? 2
  • +
  • -

#9 dreaminxna   User is offline

  • D.I.C Head

Reputation: 4
  • View blog
  • Posts: 75
  • Joined: 10-June 13

Re: Should programmers learn from book or by experience(by making mistake)

Posted 29 May 2021 - 07:17 PM

View PostSkydiver, on 26 May 2021 - 06:15 AM, said:

This also came up recently in my Android news:
The way we teach coding is all wrong. Here's how it needs to change


Looks an interesting read. Thanks for this.

View Postmacosxnerd101, on 19 May 2021 - 03:20 PM, said:

There is a growing body of research in the CS Education literature on how to teach CS1 (Introduction to Programming) and CS for non-majors courses. The literature more or less reflects jon.kiparsky's comments about needing structure, not reinventing the wheel, and needing practice.

From: https://cacm.acm.org...ucting/fulltext

Quote

I recently discovered Felienne Hermansí blog. In her latest post, she talks about the research around direct instruction and how it relates to programming. The research evidence is growing that students learn better through direct instruction rather than through a discovery-based method, where we expect students to figure things out for themselves.


Interesting. I always thought that learning through discovery based is the best way to learn.
Was This Post Helpful? 0
  • +
  • -

#10 jon.kiparsky   User is offline

  • Beginner
  • member icon


Reputation: 12272
  • View blog
  • Posts: 20,797
  • Joined: 19-March 11

Re: Should programmers learn from book or by experience(by making mistake)

Posted 29 May 2021 - 07:56 PM

I honestly think that there's a middle ground there. A student who doesn't reinvent some wheels is not going to be any good at inventing wheels, which is sort of the job they're supposed to be training for. The point is finding the right mix of guidance and discovery for a given class and for a given student - but of course no education researcher is ever going to find a general formula for that, nor will they ever admit that, because that would require a little bit more examination of their life choices than most people are willing to do.
Was This Post Helpful? 0
  • +
  • -

#11 dreaminxna   User is offline

  • D.I.C Head

Reputation: 4
  • View blog
  • Posts: 75
  • Joined: 10-June 13

Re: Should programmers learn from book or by experience(by making mistake)

Posted 29 May 2021 - 08:56 PM

View Postjon.kiparsky, on 19 May 2021 - 07:59 AM, said:

The way I look at it, you only ever learn anything about programming by writing programs, but you need books (and ideally, people - instructors, mentors, colleagues, etc) to tell you what programs you should write next, and why, and what you should expect to learn from writing them.

Expecting to learn everything by experience seems like a bad case of reinventing the wheel - computer science is a discipline that has developed over decades through the combined work of a great number of very smart people, all of whom were in the business of telling people what they'd found. Similarly, software engineering is a body of practice that has been compiled from the best lessons learned from the best mistakes of a different set of people. You would certainly not want to be the person who invented the idea of quicksort or clean code in 2021!

On the other hand, expecting books to be sufficient to the job is a fool's errand. Writing programs is a practical discipline, and is the hard contact with an unforgiving reality that polishes our knowledge into a useful form.


Hmm Had not look at it that way.
Was This Post Helpful? 0
  • +
  • -

#12 LvsL   User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 17-May 21

Re: Should programmers learn from book or by experience(by making mistake)

Posted 04 June 2021 - 07:37 AM

This thread reminded me in those years I have spent studying programming in order to graduate from University. It was a great disaster. No one tells you how to do things at all nor there was any concrete example when I used to study OOP. The poor me was totally stuck with something that the lecturer refused to answer, as they expect you to work over the algorithm yourseld (which is fine), but also the way to stretch the OOP concept in a way that is as if, throwing you to the sea and tell you to swim randomly to the shore. Funny even once that students got almost no idea about the project, and had to invent the whole mess themselves, and the lecture said hey what the hell you are all doing.

It took me more than ten years to started to realize what had been going on with my life, and what I had to do in order to pass that project again. Yes I knew I messed up the OOP concept but not exactly the way that the textbook said. The textbook and the lectures wasn't that hard to understand, and having an Animal over a Dog is easy enough to understand. But looking over those lecture notes, and those lessons by memory, I'm afraid that was pretty much IT.

No it was not something like "has" or "is", these two words are way too abstract to understand. They used that too, and I did not get it. I didn't know what I was wishing for, nor how to understand all those seemingly jargon, as if those with talent understand instantly, and those without talent can only look at their educational institution as something that does not exist at all, because you know that no matter how they try to explain, you are simply not going to make it.

I gave up. I just couldn't do it. I did not have the brain, nor the talent to glisp even the baasic.

The point is, what this topic brought up was what I now realized. Me doing many tests and reflection, as to what I should do and how I should learn. I am glad that someone is eventually realizing what had really go wrong with the teachings, and is willing to correct it. Instead for me hacking my way to understand a simple algorithm inside out, hoping I was correct at how I am going to learn any knowledge in general
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1