Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Rob_vH's avatar

Training and Education

Jeffrey,

As always, I greatly enjoyed this week's podcasts. I enjoy listening to anything that I can both shout "yes!" at parts and find myself pushing back at others; yet leaves me very happy to have listened and thought through the topic. Seeing a new episode brings a smile to my face for my morning commute from West Palm to Boca.

I have a broad background: music, anthropology, computer science, and programming; and I think this is why I like listening to you and Adam so much. There is a tremendous amount of self-exploration going on in your journeys and we have that in common.

I want to share back a couple things about teaching writing. I worked as an English writing teacher for a while and later built curriculum for practical language training. I am happy to find a place where my weirdly diverse interests give me something to say. That said, you are absolutely right that setting word count minimums on assignments in early writing results in terrible prose. I also think you touched on what I want to say, but maybe the nuance I felt applies to both writing prose and writing software and harks back to your "over doing it is a right of passage" discussion.

Around middle school age, we ask students to hit a minimum expressly to force them to find ways to say more and use more of the language. This is not intended to teach good prose, just as reading the Great Gatsby is not meant to teach students a writing voice. You seem to thirst for these things to be practical training, but by design, they are not. That is why using the yard stick we would use to measure a skills training curriculum leads us to conclude these things as "falling short." In both cases, to purpose is to build the student; both internally (as your "over doing it" podcast already completely described) and by passing our culture to the next generation. Neither takes the student off the hook for developing "taste" "tact" and "style." These things are best when developed through maturity in the art. I think this applies completely in the area of software.

Education and training are not at all the same things. They haven't the same goals nor the same techniques. I hope the takeaway here is that the usefulness of training does not invalidate the importance and value of education.

You are an amazing skills instructor. I think a lot of business programming really can be done with just skill.

What do you see as the value in computer science? Do you think there is still a space in which the problems, not the programming of them, require a more complete comprehension of computation?

All my best, Rob vH

0 likes
30 replies
JeffreyWay's avatar
Level 59

To everyone reading this thread, Rob is referring to:

https://laracasts.simplecast.fm/12

Hey, @Rob_vH - thanks so much for chiming in with your thoughts.

This is not intended to teach good prose, just as reading The Great Gatsby is not meant to teach students a writing voice.

Then what purpose does it serve at that age (16ish)? Rather than assigning relevant books, kids are forced to read the classics. What if I included a variety of service-oriented architecture content in a "PHP for Beginners" course on this site? It serves no purpose. Worse, it might just push the student away from programming (or writing, in this example) entirely.

As a kid, years ago, I could never understand the justification behind assigning such old books. Sure, we must pass on our culture, but - as you said - there's a time and place for that. Sixteen is typically not it for most of us. Or, in other words, why is Harry Potter not worthy of a fifteen year old, in the eyes of most schools? Back then, I remember thinking to myself, "Well there must be a good reason..." There's not. I'd even go as far to say that it demonstrates a fundamental misunderstanding of how people learn. Step one is to get them excited. You don't accomplish that goal with Shakespeare.

Education and training are not at all the same things.

Why?

I can certainly appreciate that asking a student to reach for special verbs or adverbs is useful for their education (I mentioned that in the podcast). But the problem is that students graduate, only to learn the hard way that much of what they were taught is irrelevant. This is what happens when style is ignored, in favor of silly rules.

"Oh - I got a 'C' because I didn't indent this new paragraph, and chose to begin a sentence with "But."

My primary point was that, when you favor rules over style and personality, you pay a price. We see this in the programming world, too: extreme loyalty to concepts like abstraction and SOLID, while very little energy is given to clarity and simplicity.

Most students graduate high school, not understanding that published authors completely ignore most of what they were just taught.

5 likes
puzbie's avatar

The trouble is, without any rules there would be chaos. Nobody objects to the rigidity of an email address format. Indeed, it is because of that rigidity that we are able to identify it programatically as an email address. So why do people object to the rules of grammar? If people have a good grasp of grammar, they produce unambiguous text which is easy to understand. If you have to grammar-check a sentence before being able to understand it then something is wrong. It makes sense to have rules.

It doesn't however make sense to religiously enforce those rules. I have probably made several grammatical errors in the above paragraph. Hopefully though, it is still legible. I think the key is to be grown up about it. I grimace every time I hear a programming technique described as "evil", for instance. To me, it makes the writer look like an idiot. Take HTML Tables. The world and his wife know you don't use tables for layout*, but do they really need to be described as "evil"? And inline Javascript! I laughed when I started watching Jeff's Vue tutorial. Separation of concern has gone full circle. A while ago, it was "evil" though.

So, rules are flexible, and it is ok to break them. But I do think you need them. Besides, lots of authors have a lot of fun deliberately breaking them. If there were no rules, there would be no fun.

  • unless of course, you are working with email templates etc.
jlrdw's avatar

I think laravel is very flexible, recently a question came up on business layer. My reply basically was to view the videos, follow the docs, and just do CRUD like in the examples, and not to dwell on the terminology. Another example are what everyone is calling mutaters now, well what's wrong with the old terms of getters and setters? I really think some folks are getting lost in all the terms. A while back there was a long post on code in repository vs controller. My reply, doesn't matter, the cpu could care less, it's going to process it. One poster talked about smaller controllers, to move some code. Well if you add the moved code to the code left, guess what, the total is the same. I don't mid fat models. I prefer the regular MVC. I did make a Services folder for a custom paginator that @bestmomo helped me with, that code belongs in a service folder.

puzbie's avatar

Mutaters aren't getters and setters. Getters and setters are handled automatically by Laravel. Mutaters physically change the data, not just shuffle it around.

thomaskim's avatar

Well, they are handled automatically because when you do this:

$model->name = 'Bob';

You are calling PHP's magic method __set() method rather than directly setting a property. The same goes for __get().

Mutators/accessors are basically fancy getters and setters though.

Rob_vH's avatar

@JeffreyWay firstly, thanks for chatting back! Below are friendly comments I've put down in the spirit of conversation. I don't think you're wrong about anything, I just like the discussion. Drink some wine and read on when you have time.

I believe Harry Potter would be great reading for school, even if it is a bit long. (there, I just wanted to get that out)

I agree with you whole-heartedly on not clinging uncritically to rules and abstractions and this isn't an agreement followed with a "but". I find SOLID useful because it can be simplifying when used in the right context. It can make code complex and over-engineered in the wrong one. I think it definitely takes a bunch of hindsight to know the difference.

So, as a learner, you've got to learn SOLID and over use it. You'll complete that stage and go through the rite of passage to the other side. You'll be a transformed being; not the same stuff as before, and you'll be better for it. At least as long as the stuff you were given to over-do was good stuff; that's where teachers' judgment matters so much.

I took a few years out from programming to go do ethnography; seems like you found a way to do it while programming. :)

You asked why education and skills training are different... These are different because the former means teaching someone to know something, the latter teaching someone how to do something. Think about the contrast between studying the rules of the driver's book and getting out and getting ready for your road test with a lot of daily practice. Knowledge is generally cerebral, involving reason and memory. Skills building involves training until the cerebral can move to the cerebellum (from thinking about what you're doing while you practice to having muscle memory take over; guitar, language, programming -- all perfect examples).

In education the goal isn't a skill but a context of understanding. Often the goal is something not directly taught, but synthesized naturally by the learner as he or she "discovers" relationships by overcoming and working through obstacles.

Both are learning, and both are important, but they are not the same. To build skills like programming, or speaking any language for that matter, requires actually doing it. Try as you might, you just can't get to be a skilled speaker, writer, or programmer without doing lots of it. Knowledge isn't like this. You can read something and know it forever.

You are doing exactly the right thing on Laracasts for what you're trying to accomplish. Any viewers who pause and code with or code ahead of you are going to get better.

I think at 16 we need to be reading literature that is transformative. I think at that age we were reading Grapes of Wrath, A Separate Peace, Anthem, The Awakening, and Things Fall Apart. I think each of those books changed who I was a little bit. If I read them now, I doubt they'd have as profound an effect.

Anyway -- Jeffrey thanks for putting your ideas out there. You do this every day and spend too much time getting affected by people fighting over stupid issues. Don't let it take any wind out of your sails. I felt like you, Adam, Matt, and maybe Taylor were getting bombarded for a bit. Just never read reddit again. You get people excited, learning, and making their lives better. Thanks.

2 likes
imJohnBon's avatar

Completely agree with you @JeffreyWay. I have always felt that, overall, modern education is broken. Broken so bad that only a complete overhaul would fix it.

The success I currently have in my career is almost entirely thanks to me reading on my own, or watching videos on this site, or doing internships. Almost none of it is thanks to my 16 years of education. Which is maddening. Because it's not like I learned the important life stuff either (electrical, plumbing, banking, etc). Most of education is boring filler, "memorize these names and these dates and then forget it after the test". If concepts were stressed over memorizing facts, and efforts were made to make it interesting (like you said, Harry Potter over shakespeare), then maybe the system would be worth a damn.

One of the big reasons I love technology so much is that I think it will eventually be the savior of the education system. It could one day be possible for each student to have their own personal teacher tailored to their learning needs and their interests. I hope I get to be a direct part of that revolution.

puzbie's avatar

If you didn't have any of that boring education, you wouldn't be in any position to continue your education on your own. It is easy to pick out the bits you hated, but they may just as easily be the bits that other people liked. You cannot have an education system that is tailor-made to fit everybody. There has to be a certain amount of give and take. We all have to learn stuff we will probably never use again.

A good education should be the start of your learning, not the end of it.

Anyway, they read Harry Potter at my daughter's school.

jimmck's avatar

Why are the same lessons constantly recycled? Yet another Laravel Intro. Vim again? Whats up next, intro to object oriented programming?

puzbie's avatar

They aren't recycled, they are updated:

'Each year, the Laracasts "Laravel From Scratch" series is refreshed to reflect the latest iteration of the framework. This is the 2016 edition, which uses version 5.2 of the framework.

Are you hoping to level up your toolset? You've come to the right place. This series will take you from installing Laravel, all the way up to mastering the essentials of the framework.'

Presumably Jeff does it to keep them current. Makes perfect sense. I would be annoyed if I was a new starter and spent unnecessary time following an introduction that used Laravel 4.

JeffreyWay's avatar

@jimmck Things have to be updated, man. After a year, they become out-dated. Sorry if you don't like that. Watch a different series.

And what do you mean "Vim again"? This is the first ever series on it...

Thanks for the sarcasm, though. Feels great.

3 likes
puzbie's avatar

Here's an interesting old story. Years ago, I worked as a contractor at HSBC in London. They had recently taken over Midland, who rather surprisingly had a very advanced Lan team with lots of bespoke tools that predated Microsoft NT. Their version of NET USE, for instance (simply USE) was much more powerful.

Anyway, I also noticed they had a fondness for Norse history. I would come across obscure services like Ragnarok, Thor, Odin and Viking.dll. I had always assumed that one of the techs was of Scandinavian descent, but I eventually learned that it was all because the guy who wrote viking.dll was a real Vi master. He was known as the Vi King. All those obscure services became far less romantic once I found that out.

1 like
barbi14's avatar

Hi, my name is Barbi, I am new to this forum.

Please or to participate in this conversation.