По-перше, це не загальне питання "зробіть мене кращим програмістом", хоча результат запитання може здатися подібним до нього. На програмістах.SE я читав і бачив, як вони закриваються тут , тут , тут , тут і тут .
Ми всі знаємо, що існує безліч загальних пропозицій щодо відточення своїх навичок програмування (наприклад, читання ТА, читання рекомендованих книг, перегляд блогів, залучення до проектів з відкритим кодом тощо). Це не те, що я після цього.
Я також визнаю активну читацьку аудиторію на цьому веб-сайті і сподіваюся, що це працює на мою користь, даючи чудові відповіді. З читання листування тут, як видається, існує велика кількість досвідчених людей, які працюють або працюють у галузях, пов'язаних з програмуванням. І більшість із вас може передати думки красномовно, стисло.
Нещодавно я помітив відмінність того, хто здатний програмувати, і програміста, який може по- справжньому думати . Я відмовляюся вірити, що для того, щоб стати прекрасним програмістом, ми просто піддаємося життєвій поведінці, що нагадує губку (тобто засвоюємо все, що стосується нашої сфери, читаючи, слухаючи, дивлячись тощо). Я навіть зауважу, що просто знаючи кожну концепцію програмування, яка дозволяє вирішити проблему X швидше, ніж усі навколо вас, якщо ви не можете думати , ви надзвичайно обмежуєте себе - ви просто швидкий робот.
Мені подобається вважати, що є чудовим обличчям бути великим програмістом, який не пов'язаний з тим, наскільки ви знаєте про програмування, але це те, наскільки добре ви можете переплести нові концепції та застосувати їх до своєї професії програмування чи хобі. Я не бачив, щоб хтось заглиблювався в цю сторону людського розуму і програмування і не звертався до них. (Так, можливо також, що я теж не виглядав досить важко - вибачте, якщо це так.)
Тож для тих, хто витратив будь-який час на роздуми над тим, що я згадав вище, - а може, це все тут, бо я трохи відстаю в особистому / професійному розвитку - які ваші пропозиції щодо того, як навчитися думати? Окрім звичного читання, що ще ви зробили, щоб бути кращими за інших людей у вашій / нашій галузі?