DEV Community

edA‑qa mort‑ora‑y
edA‑qa mort‑ora‑y

Posted on

Response to 25 Tips for New Developers

The source article:

Top comments (3)

_bigblind profile image
Frederik 👨‍💻➡️🌐 Creemers

Regarding the clean coding patterns and teaching them early, I agree it's not that important to teach specific clean coding styles and techniques early, but I do think it's important to understand that code is meant to communicate with people, especially your future self.

Also, the point about the reason makes me feel a bit weird, because I didn't have a particular reason to get into programming. I originally got into it by making silly little games, and now I just enjoy it as a problem solving tool.

mortoray profile image
edA‑qa mort‑ora‑y

Yes, indicating that code needs to communicate with people is a good lesson to learn.

As to the reason, I'm really not certain anymore. I think if you have a reason it's good, but I think making something fun is a good enough reason. If you're having fun, then you probably don't need a reason at all -- I don't think I did when I started either to be honest.

nestedsoftware profile image
Nested Software • Edited

Get good at pattern recognition: I think the key thing to understand about pattern recognition is that it's an emergent property. I don't believe that it's possible to explicitly develop intuition. Instead it's a byproduct of experience; of solving lots of problems; of digging into the fundamentals; and of breaking down problems into simpler ones -- all of those other things discussed in Ali's article and your video.

For me, it's playing the game of go that has made this really apparent. I've studied and played go over the last several years, gradually improving over time. I'm by no means an amazing player, but I have mastered some of the important fundamentals. One thing I've found out recently is that I can evaluate a game in which a couple of hundred moves have been played, and I can generally tell who is leading without counting if the difference is at least about 5 points. I can just look over the board and say "okay, I think White is leading by about 5 points." I'd say I'm right about 75% of the time when I try this and then count carefully afterward to confirm. A few years ago, I had no idea how this was even possible, and I marvelled at players who could do it. Now I can do passable job of it myself, although I'm not really sure how I am now doing it either!

As a side note, it's interesting that machine learning algorithms have become powerful enough to do this too! They're even better at it in many domains than we humans are - in the last couple of years, this has been extended to the game of go! It's kind of amazing that they can just look at a situation and make an accurate overall evaluation of it. It's a pattern recognition that is very similar to human intuition. However, these algorithms are even worse than we are at breaking down their intuition into some kind of "explanation."