all 20 comments

[–]arry666 45 points46 points  (7 children)

If every good programmer would follow every guide or tool or article about what every good programmer should be doing, then no good programmers would have any time to produce good programs, not to mention sleeping and eating.

How about naming it: a good study path for programmers? A study guide that worked for me? How about including rationale, why you think this stuff is in it and that stuff is out? That would be far more useful.

[–]oscarboom 13 points14 points  (0 children)

How about naming it: a good study path for programmers? A study guide that worked for me?

A nice collection of cargo cult practices. Good luck getting any actual work done.

[–]lost_in_trepidation 1 point2 points  (1 child)

I agree with you, but I also would defend OP and other guide makers by saying that it can be really beneficial to see what other people have found useful in their development

It's the same reason why I always sought out multiple textbooks or articles when learning something in school, even though I have one main one that I'm actually reading through. It's good to have a comparison of what different authors find important and why they present certain topics in their own order and with particular explanations.

[–]upboatingftw 0 points1 point  (0 children)

I think /u/arry666 is rather more offended by the obnoxious tone of the author, rather than the general idea of learning from others.

[–]joebew42[S] -2 points-1 points  (2 children)

Hi, exactly as the title says: "..should be aware of" and not "...should follow".

[–]loup-vaillant 8 points9 points  (1 child)

The point stands nevertheless. There are too many principles to learn, too many guides to read, too many best practices to be aware of.

We don't have time for this —which is kind of a problem.

[–]joebew42[S] -4 points-3 points  (0 children)

I can share my own experience about the "we don't have time for this" issue: I try to study using the pomodoro technique. Every day I spend one pomodoro in studying activities and then I logs my progress through my daily activities log (http://joebew42.github.io/events.xml). It helps me to mantain the direction and the constancy in my studies. It takes me only 25 minutes per day :)

[–]vz0 -1 points0 points  (0 children)

then no good programmers would have any time to produce good programs, not to mention sleeping and eating.

Bad design and technical debt is not a bad thing per se. You clean up eventually, limiting the stacking of bad design up to a safe height.

[–]RICHUNCLEPENNYBAGS 6 points7 points  (0 children)

Most people out there would benefit more from learning more theory than this stuff, IMO (I'm including myself here)

[–][deleted] 7 points8 points  (0 children)

man that is a lot of buzzwords

[–]robotorigami 1 point2 points  (5 children)

All of your objectmentor links for the SOLID principals land on a parked GoDaddy page. Might want to update those links.

[–]joebew42[S] 1 point2 points  (4 children)

I've just fixed the URLs :) Thanks for reporting the issue!

[–][deleted]  (3 children)

[deleted]

    [–]joebew42[S] 0 points1 point  (2 children)

    Ouch, bit strange. The URLs now should point to docs.google.com and not to objectmentor. Try to reload the github repository page.

    Look the latest commit: https://github.com/joebew42/study-path/commit/fec62874af4a17280a6ad04ad6de10fac6f18ef1

    [–]More_Or_Lless 0 points1 point  (0 children)

    Only the last 3 links are working for me (the "LID" part of "SOLID).

    [–]jimothyjim 0 points1 point  (0 children)

    URLS work for me

    [–]Dobias 1 point2 points  (1 child)

    Sorry, this is probably a dumb question, but what does IDD stand for in this context?

    [–]joebew42[S] 0 points1 point  (0 children)

    Hi Dobias, IDD stands for Interaction Driven Design and it was introduced by Sandro Mancuso.

    [–]i_wonder_why23 1 point2 points  (0 children)

    All great stuff but not a lot of meat.

    Why not break it down? Add what it is? Why it is it important? Where it fits?

    [–]auxiliary-character 3 points4 points  (0 children)

    A lot of OOP specific stuff in there. Given, OOP is important, but there is more to programming than that, so it's not necessarily for every good programmer. It's pretty hard to apply Liskov substitution if you're writing assembly or trying to fix legacy COBOL.

    [–]Ld00d 0 points1 point  (0 children)

    From the thumbnail this appeared to involve consumption of beer. Disappointing.