I have yet to see a more effective method of teaching developers, as this encourages understanding and learning about underlying concepts and problems
I have yet to see a more effective method of teaching developers, as this encourages understanding and learning about underlying concepts and problems
When I first started, I was really shit at finding bugs, didn’t understand the total scope of parsing (used in almost every oop method / solution), and general searching how to solve a problem.
I started watching some coders, specifically geohotz, on how they search problem parameters to find solutions, and how they implement solutions. There seemed to be a gap in my investigative research that was filled by watching others investigate and solve sophisticated problems. Ie; implementing ai api in python, really showed me how to take the general knowledge you can learn from documentation ie git or more official places like Microsoft docs and apply it to specific problems that may not have been directly related.
I think, if there is a way to explain and show a junior your thought process and problem solving process while keeping a great mix of allowing the junior to solve themselves as well, there can be great benefit. The hands on approach as described above requires a lot of time and attention, maybe time most senior devs do not have. It can be very beneficial. Maybe some paired programming sessions where the senior works on his sophisticated problems and allows the junior to watch, while also introing the junior to the scope of problem trying to be solved.
This is also part of the reason why Stackoverflow is in such a negative light lately. SO is extremely good at providing answers to narrowly-focused well-defined questions, people forget or aren't aware that this IS NOT a good way to learn subject-matter. It leads to frustration from users because they're expecting someone to give them pointers on how to move forward on general problems and it's frustrating to point-mavens because they aren't empathetic enough to see what the problems are.
Usually, at least for .net, there are explanations not only how to do something, but why do it this way.
I learned quite a bit from SO, it at least pointed me towards right direction in docs. Nowadays i just read the docs instead, but i still google for SO answers for new problems.
Maybe there is an API i have no idea about ,nor my colleagues do? Maybe there is a better way to solve problem XYZ?
Instead of skimming myriad of blogs i can just read the answers on SO and then read up the docs.
SO is as good, or bad, as you make it - if you just copypaste answers, or provide an answer in form of code with minimal explanation why - then that's on you.
The kinds of questions that people ask when they're focused on learning something new, however, are DEFINITELY NOT what SO is intended to handle. It is why SO is actively hostile to people that try to use it to learn by asking questions.
(1) For .net in particular, Jon Skeet's answers are magnificent resources. He even made the content from his answers into a book. The book, of course, has context and coherence. It's not just the answers copy-pasted into a text. Sadly, Skeet is the exception rather than the rule. For everyone putting up nice answers to questions following the example of Skeet, there are dozens of smug, persnickety jerks making people feel like shit in a hundred different ways for daring to ask a question.
Exactly, at this phase of learning go and read other questions and answers related to your topic instead.
Jon Skeet is a goddamn national treasure.
[0]: https://hackernoon.com/the-decline-of-stack-overflow-7cb69fa...
[1]: https://meta.stackexchange.com/questions/333678/was-the-retr...
A couple of years ago I wrote a blog post on "Would Socrates to use Docker today?"[1] which uses Socratic Questioning to help pick a tech choice. If anyone is curious on how to apply it to technology, that post goes into a bit of detail. It could also be directly applied to solving specific programming problems too. I use it to make a lot of decisions.
[0]: https://en.wikipedia.org/wiki/Socratic_questioning
[1]: https://nickjanetakis.com/blog/would-socrates-use-docker-tod...