JavaRush /בלוג Java /Random-HE /מה צריך מתכנת חדש להבין?

מה צריך מתכנת חדש להבין?

פורסם בקבוצה
הייתי רוצה לתת לך מיליון טיפים שימושיים, אבל עלו לי בראש רק 27. החשובים ביותר, לדעתי, חבויים מתחת למספרים 14 ו-26. כן, שמתי אותם בסדר הזה כדי שתקרא את כל החומר . אני מקווה שתהנו.
מה צריך מתכנת חדש להבין?  - 1
  1. אתה לומד על ידי תכנות. הדרך היחידה לשפר את רמת התכנות שלך היא לתכנת. אל תתנו לביקורת עצמית וחוסר ודאות למנוע מכם אפילו לנסות.


  2. תכנות אינו הכנה לבחינה. וכמות המידע שהצלחת לזכור לא תשחק תפקיד מרכזי בעבודה שלך.


  3. זה בהחלט מקובל לרמות בזמן כתיבת קוד. אני משתמש בגוגל (Stackoverflow וכדומה) כדי לפתור בעיות רבות. ומתכנתים רבים עושים זאת.


  4. צבירת בעיות ללא בדיקה היא כמובן אסטרטגיה שגויה. נהגתי לתקן בלי סוף את הקוד שלי ומקווה שהוא יעבוד כמו שצריך. הקושי בגישה הזו הוא שהשגיאות ממש מרובדות זו על גבי זו, וקשה מאוד להבין מה השתבש.


  5. חינוך עצמי זה ממש לא קל. דון בקוד עם מפתחים שואפים אחרים. זוהי שיטת הלמידה הטובה ביותר עבור רוב האנשים.


  6. מה צריך מתכנת חדש להבין?  - 2
  7. עזוב את הרגשות שלך. יהיו הרבה הודעות שגיאה כשאתה לומד לתכנת. ביצוע טעויות הוא חלק בלתי נפרד מתהליך הלמידה, ולא צריך לדאוג יותר מדי על מנת להגיע לתוצאות טובות באמת.


  8. אתה לא צריך חמישה מוניטורים. בניגוד למה שהוליווד מראה לנו, אתה לא צריך מוניטורים נוספים כדי להפוך למתכנת. רוב הסיכויים שהמחשב שלך מספיק טוב כדי להתחיל לתכנת. אל תבזבז את כספך.


  9. יש הבדל גדול בין אותיות רישיות לאותיות קטנות. באופן אישי, לקח לי זמן ללמוד לראות את ההבדלים בין סמלים דומים. ועד שתתרגל, זה עלול לגרום לך לאי נוחות בזמן העבודה.


  10. אל תנסה להבין הכל בבת אחת. בהתחלה ניסיתי להבין "למה?" על כל קושי בכל משימה שהתמודדתי איתי. זה לא מחייב. מחשבים הם כל כך מורכבים שתמיד יהיה לך מה ללמוד, ועדיין לעולם לא תבין הכל לחלוטין. זה בסדר.


  11. תרגלו תכנות זוגיות, לעתים קרובות. זוהי הדרך המהירה ביותר ללמוד תכנות .


  12. מה צריך מתכנת חדש להבין?  - 3
    מחפש שותף לתכנות זוגי? נצלו את הקבוצות! אנו מזמינים אתכם להשאיר תגובות, בתור התחלה - מתחת לפוסט הזה.
  13. Переписывание плохого codeа — это часть процесса. Раньше я думал, что каждый написанный мною кусок codeа должен быть идеальным. Но на самом деле его постепенное улучшение — внесение исправлений в ваш code — это нормально. Вы же не пишете книгу, после публикации которой уже ничего не поправишь.


  14. Существует правильный способ обратиться за помощью. В Howой-то момент каждому может потребоваться помощь. Но прежде, чем просить помощи, убедитесь, что вы сделали следующие 4 вещи (на примере неправильно работающего метода):

    • проговорите про себя, что именно вы видите в методе, его нюансы;
    • чётко объясните самому себе, что вы ожидали получить в результате работы метода;
    • чётко объясните самому себе, что конкретно происходит;
    • объясните, почему вы считаете, что метод должен работать иначе.

    Когда вы выполните эти шаги, то чаще всего найдёте решение проблемы без сторонней помощи, поскольку этот алгоритм позволит вам увидеть проблему целиком.


  15. Вам не нужно быть математическим гением. Если вы не математик, это не значит, что вы не можете быть программистом.


  16. Всегда отмечайте свои маленькие победы. Creation программ — это круто. И я никогда бы не достиг того что имею сейчас, если бы я время от времени не оглядывался назад и не оценивал результаты моего труда.


  17. Митапы (Meet-ups) — это невероятно ценно. В самом начале они меня несколько пугали, но затем я освоился, и мне стало комфортно их посещать. И How только это случилось, я вдруг осознал, что существует множество таких же разработчиков, How и я.


  18. מה צריך מתכנת חדש להבין?  - 4
  19. Избегайте конфликтов при слиянии codeа (merge conflicts) в проектах, которых вы работаете не один. Это сделает вас счастливее. Мерж-конфликты раздражают. Поэтому когда я осознал, что могу избежать работы с ними, успевая замерджить всё до того, How это сделают мои коллеги по команде, я почувствовал себя счастливым.


  20. Признавать, что вы чего-то не знаете — это абсолютно нормально. Когда вы получите свое первое по-настоящему серьезное задание в качестве программиста, скорее всего, вы будете вести себя, будто бы все отлично, и вы всё понимаете. Не стоит притворяться. Никто не ожидает, что вы уже все знаете.


  21. Вам не нужно тратить 10 000 часов, чтобы достичь приемлемого уровня для того, чтобы устроиться на работу. На самом деле, вам нужно быть достаточно профессиональным, чтобы знать, How исправить свои ошибки, и уметь собраться и сконцентрироваться на решении проблем. Это занимает куда меньше 10 000 часов.


  22. В Howой-то момент вы будете думать о codeе, даже просыпаясь рано утром. И когда этот момент наступает, это действительно здорово.


  23. Допускать серьезные ошибки — это в порядке вещей. Однажды я допустил ошибку, которая стоила моей компании 10000 долларов. И та ситуация, позволила мне вынести самый важный урок в моей карьере программиста.


  24. האלגוריתם דומה לחיפוש שם בספר טלפונים. אלגוריתמים הם גישה שלב אחר שלב למטרה, כאשר יש רק שלב אחד נכון. במילים פשוטות, זו האסטרטגיה שאתה בוחר למצוא שם ספציפי אחד בספריית הטלפונים.


  25. מה צריך מתכנת חדש להבין?  - 5
  26. הרגע של ההבנה שאתה יודע הכל ומוכן לפתור כל בעיה באמצעות תכנות לעולם לא יגיע. "תסמונת המתחזה" תציק לך שוב ושוב. שוב, זכרו שזה לגמרי בסדר לא לדעת הכל. הדבר החשוב ביותר הוא שאתה בעצמך מבין מה בדיוק אתה לא יודע.


  27. מתכנתים לא מפסיקים ללמוד. טכנולוגיות חדשות מופיעות כל הזמן בעולם ה-IT, ולכן מתכנתים מצליחים הם אלה שממשיכים כל הזמן להתפתח ולשפר את עצמם.


  28. לגרום למחשב לחשוב כמו אדם. יותר מדי אנשים נותנים את הרושם שאתה צריך לחשוב כמו מחשב. למעשה זה הפוך


  29. בתכנות, חשוב לבחור כלים טובים לפתרון בעיות ספציפיות. יש הרבה לבחירה: לכל הפחות, לרשותך מגוון ספריות, כלים ומסגרות קוד פתוח. אז אחת המשימות שלך היא להחליט על הכלים ו"להתאים" אותם למשימות שלך.


  30. מה צריך מתכנת חדש להבין?  - 6
  31. בדרך כלל, אנחנו מוותרים רגע לפני שאנחנו משיגים תוצאות כלשהן. ללמוד לתכנת (במיוחד במטרה לשנות קריירה) באמת דורש הרבה עבודה. זה לוקח הרבה זמן ומשמעת עצמית, אבל זה אפשרי. אנשים רבים עושים את הטעות שהם מוותרים ברגע שהם כמעט השיגו את מטרתם.


  32. ללמוד לתכנת זה לא קל. ובגלל זה זה שווה את זה!


במבט לאחור, אני אפילו שמח שהייתי כל כך תמימה בתחילת דרכי. העובדה שידעתי כל כך מעט היא שהניעה אותי לחשוב בביקורתיות על כל מה שלמדתי מאוחר יותר. פורסם על ידי Ken Mazaika, CTO, מייסד שותף ומנטור ב-@thefirehoseproject.com
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION