ch
Feedback
ToCode

ToCode

前往频道在 Telegram

טיפים קצרים למתכנתים מאת ינון פרק

显示更多
1 419
订阅者
无数据24 小时
无数据7
无数据30
帖子存档
ToCode
1 418
# איך לשלוח הודעת ווטסאפ מ Python בזכות twilio שליחת הודעות sms וגם ווטסאפ מתוך תוכנת מחשב מעולם לא היתה פשוטה יותר. בואו נראה תוכנית Python פשוטה איתה שלחתי לעצמי הודעת ווטסאפ. קודם הקוד, אחרי זה הסבר עליו ובסוף הרחבות ומחירים. ## קוד: איך שולחים הודעת WhatsApp מתוך Python התוכנית הבאה שולחת אליי הודעה כל פעם שאפעיל אותה:
from twilio.rest import Client

account_sid = 'ACa75c132b0167cd4b24a289c9fb41572b'
auth_token = '...'
client = Client(account_sid, auth_token)

message = client.messages.create(
                              from_='whatsapp:+14155238886',
                              body='Your appointment is coming up on July 21 at 3PM',
                              to='whatsapp:+972542204344'
                          )
זה כמעט עובד - רק מחקתי את ה auth_token שלי כדי לשמור אותו בסוד. אל תדאגו כל מה שצריך בשביל לקבל אחד הוא לפתוח חשבון Twilio משלכם. הקוד עצמו אחרי ה import-ים מורכב משורה מרכזית אחת: השורה שקוראת ל client.messages.create. הפרמטרים אומרים ל twilio איך נראית ההודעה, מספר השולח ומספר הנמען וזה הכל. ## מה, זה כל כך פשוט? לא ממש אחרי שמכניסים את ה auth_token הנכון התוכנית עובדת ואכן שולחת הודעה אבל הקוד די מוגבל. אם מנסים לשנות את מספר היעד זה כבר לא יעבוד, וגם אם מנסים לשנות את תוכן ההודעה שוב אנחנו נכשלים (וכמובן אם מנסים לשנות את מספר השולח - כישלון). לכל אחד מכשלונות אלה יש סיבה ובתוכנית אמיתית נצטרך לעבוד קצת כדי שהכל יעבוד כמו שצריך. נתחיל עם מספר השולח - ווטסאפ ו Twilio עובדים יופי ביחד אבל בשביל להכניס את מספר הטלפון האמיתי שלכם אתם צריכים חשבון Twilio אמיתי שיהיה מחובר לחשבון הפייסבוק שלכם. פתיחת חשבון מותנית בהגדרת אמצעי תשלום והפקדה של סכום מינמלי של 20$. מחיר להודעת ווטסאפ הוא בסביבות 10 אגורות להודעה אז תצטרכו לחשוב טוב אם זה משתלם לכם. בכל מקרה אחרי שמגדירים את כל החשבונות תוכלו להכניס בשדה ה from_ את מספר הטלפון האמיתי שלכם והוא זה שיופיע לנמענים על הצג. לגבי מספר היעד גם כאן אין בעיה לשלוח הודעה לכל מספר ווטסאפ בתנאי שהפקדתם כסף בחשבון ושחיברתם את כל החוטים בין Twilio ל Facebook. והשדה האחרון הוא תוכן ההודעה, שם נמצא את מספר המגבלות הגדול ביותר. הודעת ווטסאפ למספר שלא "דיבר" אתכם ב 24 השעות האחרונות צריכה להתאים לתבנית מסוימת ואתם חייבים לאשר מול ווטסאפ את התבנית שבחרתם לפני שליחת ההודעות. לדוגמא ההודעה בקוד שלי היא מהתבנית:
Your appointment is coming up on {{1}} at {{2}}
אגב שתי התבניות האחרות בחשבון הניסיון של Twilio הן:
Your {{1}} code is {{2}}
Your {{1}} order of {{2}} has shipped and should be delivered on {{3}}. Details: {{4}}
אפשר להוסיף תבניות נוספות אבל הן חייבות להתאים לכללים של ווטסאפ: 1. מותר לדווח על עיסקאות שבוצעו ולשלוח אישורי עיסקה, אבל רק אם אתם לא מוכרים מוצרים שווטסאפ החליטו שאסור. דוגמאות כוללות סיגריות, אלכוהול, כלי נשק, חיות, צעצועי מין, חלקי גוף (בחיי שהם כתבו את זה), עדשות מגע, מדבקות ניקוטין ועוד המון המון מוצרים שווטסאפ חושבים שאינם הולמים. 2. אסור לבקש מידע אישי מהמשתמשים. 3. אסור לפרסם או להציע פרומושנים (גם לא קופונים או מתנות בחינם). 4. אסור לאיים. ויש עוד המון כללים קטנים שדילגתי עליהם. אתם יכולים למצוא את הרשימה המלאה בקישור כאן https://developers.facebook.com/docs/whatsapp/message-templates/guidelines. ## מה הלאה למרות המגבלות שליחת הודעות WhatsApp דרך Twilio היא תהליך ממש פשוט. ה API גם מאפשר הגדרה של Web Hooks להודעות נכנסות כך שאתם יכולים לכתוב בוט מלא ששולח הודעה ללקוח להודיע על סטטוס עיסקה שבוצעה, ויכול לענות על שאלות לגבי אותה עיסקה. אם אתם רוצים לקחת את הצעד ולהתחיל לשלוח הודעות למרות העלות היחסית גבוהה, אתם יכולים להירשם ל Twilio דרך הקישור הבא ואז גם אני אקבל כמה גרושים כדי לשלוח הודעות לעולם: www.twilio.com/referral/VMcX3B ואם אתם רוצים לבנות יחד בוט ב Flask שגם שולח הודעות ווטסאפ, גם מקבל בחזרה את התשובות וממשיך את השיחה עם המשתמשים - נו, הרגע מצאתם את הפרויקט שתכתבו ב Python Bootcamp שמתחיל עוד פחות מחודש. עכשיו רק נשאר להירשם: https://tocode.ravpage.co.il/python.

ToCode
1 418
# איפה מוצאים זמן? אין לי זמן היא ההתנגדות הכי נפוצה של המוח לכל יוזמה חדשה שאפשר לדמייןץ כל פעם לפני שאני רוצה להתחיל ללמוד משהו חדש אני נתקע על ההתנגדות הזאת ואני בטוח שאני לא היחיד. היא באה בכל כך הרבה גוונים ותמיד תמיד מחזירה אותך לנקודת ההתחלה ״בשביל מה להתחיל בכלל אם ממילא לא אצליח להתמיד ולהגיע לשינוי שאני רוצה?״. לא משנה כמה פעמים ביום אדע שצריך לעשות ספורט, או שזה רק חודשיים-שלושה קשים עד שנכנסים לכושר ואחרי זה הכל זורם, אני יודע בדיוק מה המשמעות של החודשיים-שלושה הקשים האלה וכמה קשה למצוא זמן לעשות משהו שאתה לא הכי רוצה. מספיק להסתכל על רשימת הדברים שאני "צריך" לעשות ודוחה כבר שבועות בשביל להשתכנע שיש המון דברים בחיים שאין לי זמן אליהם. השינוי מגיע כשמסתכלים על הדברים שכן יש זמן אליהם. על הזמן שישבתי לקרוא ספר או לראות סידרה, על החצי שעה שקראתי שטויות ב ynet או בפייסבוק וכמובן על הזמן שהצלחתי למצוא בשביל לכתוב. אחרי שלומדים להסתכל על כל הדברים שכן מספיקים ביום גם נקודת המבט משתנה ואיתה ההבנה שאין לי בעיה של זמן. יש לי בעיה של סדרי עדיפויות. אבל אם אתם חושבים שלשנות סדרי עדיפויות זה דבר פשוט כנראה אף פעם לא פגשתם בן אדם אמיתי. בני אדם הם לא רובוטים, ואנחנו יכולים עד מחר לדעת מה חשוב ומה לא חשוב ובכל זאת להמשיך לעשות הפוך. ואז עוד להתעצבן בסוף היום ולא להבין לאן הזמן בורח. הדרך לשנות סדרי עדיפויות היא קשה ודורשת בדרך כלל גם שינוי חיצוני בנוסף לשינוי הפנימי. ליצור לעצמנו סביבה שבה סדרי העדיפויות החדשים יהיו קלים יותר ויראו נכונים יותר. זאת הסיבה שהרבה יותר קל ללמוד טכנולוגיה חדשה כשנכנסים לעבוד על פרויקט בטכנולוגיה זו. אופציות נוספות יהיו למצוא חברים שעובדים בטכנולוגיה הזו, להתחיל לשמוע יותר פודקסטים עליה, להתנדב ללמד מישהו אחר את הטכנולוגיה ובקיצור להקיף את עצמכם באותה טכנולוגיה חדשה. לאט לאט סדרי העדיפויות ישתנו ויהיה לכם הרבה יותר קל למצוא זמן להשקיע בלימוד. ואם אתם רוצים עזרה ביצירת הסביבה שבה יהיה לכם קל יותר ללמוד - תשמחו לשמוע שזה בדיוק מה שאנחנו עושים ב Developer Bootcamps כאן באתר. מסלול הלימוד ב Bootcamp מיועד למתכנתים עסוקים מהתעשיה, מבוסס על השקעה של שעה ביום בממוצע ויוצר עבורכם סביבת עבודה שבה ללמוד ולהתקדם יהיה הדבר הקל שתרצו לעשות. למידע על הקורסים הבאים שיפתחו בקרו אותנו בדפי הקורסים: קורס Python במסלול Developer Bootcamp קוד React במסלול Developer Bootcamp

ToCode
1 418
# סמנו ביומנים: מחזור שני של הבוטקמפ למתכנתים של טוקוד ייפתח ביולי אם אתם רוצים ללמוד פריימוורק חדש או שפת תכנות חדשה, אין טעם לבזבז את הזמן על בהייה בוידאו ואין בכלל מה לדבר על ביקור בכיתה ובהייה במרצה. הלימוד הכי טוב שאני מכיר קורה דרך עשיה ואני שמח שיש לי את ההזדמנות ללמד כך. היום פתחתי את ההרשמה למחזור השני של בוטקמפ המפתחים של ToCode לקורסי React ו Python. זה מה שהולך לקרות בהם: 1. אתם תפגשו קבוצה של מתכנתים כמוכם שעובדים בתעשיה בחברות שונות ותעבדו איתם בעבודת צוות כדי לבנות תוכניות ברמת קושי עולה לאורך הקורס. 2. אתם תתאמצו לפתור תרגילים מעניינים ותקבלו פידבק בונה על כל קוד שתגישו. הפידבק הוא אישי ויעזור לכם להבין איך להשתפר בעבודה הספציפית שלכם. 3. אתם תראו את העבודה של חבריכם לקבוצה במפגשי ה Live ותלמדו מהם ומהמנטור Best Practices לפיתוח. 4. אתם תציגו את העבודה שלכם מול אנשים אחרים ותתאמנו על לענות על שאלות טכניות על הקוד שבחרתם לכתוב, שאלות שיעזרו לכם להבין טוב יותר את הטכנולוגיה והקוד. 5. אתם תקבלו בכל שבוע כשעה וחצי של תכני וידאו לצפיה ותרגול. שיעורי הוידאו שלנו מחולקים לשיעורים של כעשר דקות כל שיעור, וכל שיעור הוא מעשי כך שגם במהלך הצפיה בוידאו אתם יושבים עם סביבת העבודה פתוחה ומבצעים את כל מה שרואים על המסך. 6. אתם תשאלו שאלות במהלך השבוע בקבוצת צ'ט שפתוחה מסביב לשעון וגם תענו על שאלות של החברים לקבוצה, כי הרבה פעמים לעזור למישהו אחר זו דרך מעולה ללמוד ולהבין טוב יותר. הבוטקמפ הוא אישי - ככל שתבחרו להשקיע יותר כך תקבלו יותר בחזרה. אם אתם מוכנים לקחת אחריות על הלמידה שלכם, תמצאו בו את סביבת הלימוד הטובה ביותר שאפשר לחלום עליה ותגיעו רחוק יותר מבכל קורס אחר שתבחרו לקחת. לפרטים נוספים - קורס פייתון במסלול בוטקמפ למתכנתים: https://tocode.ravpage.co.il/python. קורס React במסלול בוטקמפ למתכנתים: https://tocode.ravpage.co.il/react.

ToCode
1 418
# מחסומי תרבות האנשים היחידים שנכנסים לאתר הזה הם אנשים שמדברים עברית. אפילו שגוגל טרנסלייט יודע לקחת כל אחד מהפוסטים שלי ולתרגם אותו לכל שפה, אף אחד לא באמת הולך להפעיל גוגל טרנסלייט בשביל לקרוא פוסטים בשפות זרות (חוץ מהפעם ההיא שאתה תקוע על הודעת שגיאה לא ברורה והמקום היחיד שהיא עולה בחיפוש גוגל זה באיזה פוסט ביפנית. אבל זה החריג וזה באמת אירוע נדיר). עכשיו בתור כותב אני בסדר גמור עם זה שרק דוברי עברית יקראו את הפוסטים שלי. אבל בתור קורא או לומד מחסומי תרבות כמו שפה יכולים לייצר מכשולים משמעותיים להצלחה. בנושא שפה - ברור שקשה מאוד להתקדם בעולם התכנות בלי להיות מסוגל לקרוא פוסטים מקצועיים באנגלית. אבל זאת רק ההתחלה. כמה חומרי לימוד מעניינים הפסדתם כי אתם לא מכירים Linux? או Windows? או להריץ משורת הפקודה? או איך עובדת הצפנה? או מה זה תכנות פונקציונאלי? אחת הדרכים לקבל פרספקטיבה על מה שאנחנו מפסידים היא לקפוץ ל Hacker News ולבדוק - כמה מבין 30 המאמרים בעמוד הראשון הם דברים שאני יכול להתחבר אליהם ולהבין אותם? ועבור אלה שלא, מה חסר לי בשביל שאהיה מסוגל לקרוא ולהבין?

ToCode
1 418
# סרביסים של אחרים בבניית מערכת יש איזון עדין בין כמות העבודה והזמן שמשקיעים בכל פיצ'ר לבין ההסתמכות על אחרים שכבר מימשו משהו דומה ונותנים לך להשתמש בו. דוגמא מפורסמת שחוזרת כמעט בכל מערכת היא ההתחברות: האם שווה לי להתאמץ לבנות מנגנון Login ולשמור אצלי שמות משתמשים וסיסמאות, או שאפשר להסתפק בלוגין דרך גוגל, פייסבוק, גיטהאב או מי שלא יהיה. נזכרתי בזה כששלחתי את הפוסט אתמול עם תוכנית Python פשוטה שאומרת "שלום עולם" בכל שפה. בשביל לעשות חיים קלים לקוראים הוספתי לינק ל repl.it שכלל את הקוד וכל מה שצריך בשביל לראות את התוכנית בפעולה זה ללחוץ שם Run. לא עברו עשר דקות מאז ששלחתי את הפוסט ומישהו ברפליט העלה גירסא ששברה בדיוק את הפונקציונאליות ברפליט שאני יצרתי, כך שכל מי שנכנס לפוסט וניסה להריץ את הקוד בענן קיבל שגיאה. בגלל שרפליט עובדים באזור זמן אחר מאיתנו רק לקראת הערב אחד המתכנתים שלהם ראה את הדיווח על הבאג, התנצל (כיף שיש דיסקורד) והעלה תיקון. עכשיו, אפשר לטעון שרפליט זה לא גוגל ועל גוגל אפשר לסמוך. יש בזה משהו אבל הניסיון מראה שגם גוגל, גם אמזון, גם טוויטר, גם פייסבוק ובעצם גם כולם יהיו למטה מתישהו או יהיה להם איזה באג שישפיע בדיוק רק עליך מתישהו. זה לא נורא כשמדובר בקישור לרפליט מפוסט בבלוג, אבל כשמדובר במערכת לוגין ואף משתמש לא יכול להיכנס לאתר בגלל התקלה - זה כבר סיפור אחר. הסתמכות על אחרים היא בלתי נמנעת, ועדיין שווה תמיד לוודא שיש לכם Fallback מתאים באזורי הליבה של המוצר שלכם.

ToCode
1 418
# לבנות לעצמך את הסביבה מאיזושהי סיבה אחד הדברים שהכי מטרידים מתכנתים זו סביבת העבודה - ״באיזה IDE צריך לכתוב?״ ״איך מתקינים את המערכת?״ ״איך מקמפלים?״ ״איך מריצים את הבדיקות?״ זה הגיוני כי אם יש בעיות בסביבת העבודה אי אפשר לכתוב אפילו את התוכניות הפשוטות ביותר. אבל זה גם מחמיץ את הנקודה, כי יש הרבה מאוד אפשרויות לסביבות עבודה. במקום לחפש איך "צריך" לעבוד, מומלץ יותר להסתכל על זה כמו שופינג ולחפש איזה סוגי פיתרונות אני אוהב. האם נוח לי לעבוד ב Windows או Linux? או אולי בכלל Docker? האם Visual Studio Code גורם לי להרגיש בבית או שאני מעדיף IDE יותר ספציפי. וטיפ טוב נוסף הוא לא להרגיש רע לנסות כל מיני דברים ולהחליף. פעם אחת ליצור פרויקט עם create-react-app, ואחרי זה לנסות ליצור פרויקט מאפס עם webpack ואולי פעם שלישית לבחור טמפלייט ממקום אחר. ככל שננסה יותר אפשרויות נוכל להסתכל על הקמת הסביבה בתור חווית איסוף בה אנחנו לוקחים קצת מכאן וקצת משם ומחברים את הכל לסביבה אישית שמתאימה לנו.

ToCode
1 418
# מתי לקחת שיעור פרטי שיעור פרטי יכול להיות הדבר הכי טוב שקרה ללמידה שלך. אתה יושב אחד על אחד מול מישהו שכבר עשה את הכל, יודע את הכל ומכיר את כל הבעיות שנתקלת בהן (ועוד תיתקל בהן), ויכול לשאול את כל השאלות ולקבל תשובות מדויקות מניסיון. מי לא היה רוצה כזה דבר? אבל מסתבר שברוב המקרים שיעורים פרטיים הם לא ממש אפקטיביים, או לפחות לא אפקטיביים כפי שהיו יכולים להיות. בתור מורה זו עשויה להיות חוויה מתסכלת, ובתור תלמיד זה פשוט בזבוז כסף. דינמיקה טובה של שיעור פרטי היא שיחה פתוחה על נושאים ספציפיים. ככל שהשיעור ממוקד יותר כך אתם מרוויחים יותר מהכסף ששילמתם. ולהיפך, ככל ששיעור פרטי נראה יותר כמו הרצאה או תרגול עצמי, כך אנחנו מבזבזים לכולם את הזמן. ניתן דוגמא כדי לעשות סדר - אם באת לשיעור פרטי באנגלית ומה שאת עושה שם זה לשבת עם המורה לפתור את השאלות מספר הלימוד, ובסוף כל עמוד היא בודקת את התשובות שלך ומתקנת, אז את מבזבזת לכולם את הזמן. יהיה הרבה יותר יעיל לפתור לבד בבית, לשלוח ב Fiverr לאיזה Native Speaker ולקבל ממנה פירוט מה נכון, מה לא נכון ואיך צריך להיות. לעומת זאת אם לאותו שיעור פרטי באנגלית את מגיעה אחרי שכבר פתרת לבד את התרגילים בחוברת ואחרי שגילית מ Fiverr מה התשובות הנכונות, אז אפשר יחד להסתכל על העבודה שעשית, להבין מזה מה הפערים הספציפיים שלך בדקדוק באנגלית ולהשקיע את השעה בבניית תוכנית תרגול מותאמת אישית על הנושאים הספציפיים שאת מתקשה בהם. לימוד טוב הוא כזה שמשלב את כל האפשרויות כדי להגיע לתוצאה אפקטיבית: גם צפיה בשיעורי וידאו, גם קריאה, גם האזנה להרצאות מוקלטות או פודקסטים על הנושא, גם תרגול עצמאי וגם שיעורים פרטיים. ולכל צורת לימוד יש את התפקיד האופטימלי שלה.

ToCode
1 418
# מסלול Full Stack הטוב בארץ מפתחי Full Stack הם מפתחים שמכירים גם את עולם הפיתוח בצד השרת וגם את הפיתוח בצד הלקוח, ולכן הם מסוגלים לבנות מערכת Web שלמה מכל ההיבטים. בדרך כלל למפתחי Full Stack תהיה נטיה חזקה יותר לאחד העולמות, אבל הם יכירו מספיק טוב גם את העולם השני. היום אני שמח להעלות לאוויר את קורס Front End החדש כאן ב ToCode, אחרי עדכון מקיף של הקורס לעולם פיתוח Front End בשנת 2020. קורס זה מסיים סידרה של קורסים שעבדתי עליה ונותן לנו כאן בטוקוד את מסלול Full Stack הטוב בארץ למתכנתים. אם אתם כבר יודעים לכתוב קוד ורוצים להיכנס לעולם ה Full Stack, הנה רשימת הקורסים שלכם, כולם כלולים במחיר המנוי (117 ש"ח לחודש נכון לכתיבת הפוסט). קשה לי להאמין שתספיקו ללמוד את כולם בחודש אחד, אבל גם אם ייקח לכם שנה המחיר עדיין משתלם. 1. קורס Front End למתכנתים - הקורס הראשון במסלול ילמד אתכם כל מה שצריך לדעת על עולם פיתוח Web בצד הלקוח: תלמדו איך עולם האינטרנט עובד, איך מתחילים לכתוב אתרים עם HTML, איך לעצב אותם עם CSS (כן כולל flexbox, grid וכל שאר החידושים) וכמובן JavaScript לעומק כולל פיתוח מונחה עצמים ותקשורת Ajax ו Web Sockets. 2. קורס Node.JS ו MongoDB ישלים לכם את ה Stack עם תכני Back End. בקורס תלמדו Node.JS מההתחלה, פיתוח מערכות צד שרת עם Express, חיבור לבסיס נתונים (מונגו וגם SQL), ניהול משתמשים ואבטחה ובניית API. 3. אחרי שלמדתם לכתוב קוד JavaScript גם בצד השרת וגם בצד הלקוח, אתם תמשיכו לצלילה לתוך השפה כדי ללמוד יכולות מתקדמות ומאחורי הקלעים בקורס JavaScript ES6/7/8. בכל שיעור בקורס זה בחרתי לפרק ולחקור נושא אחר מתוך היכולות של JavaScript. הקורס ייתן לכם הבנה מלאה וטובה של השפה וישים אתכם במקום להתקדם ללמוד פריימוורק. 4. קורס React - בעולם הפרונט כמעט כל מי שעושה משהו משתמש בפריימוורק, ו React.JS היא בין הפריימוורקס המובילות בשוק. בקורס תלמדו לכתוב פרויקטים מעשיים עם ריאקט ותראו איך ריאקט עוזרת לכם לבנות יישומי פרונט אנד בצורה מהירה יותר (וכן גם להשתמש בקומפוננטות קוד פתוח קיימות כדי להגביר עוד יותר את קצב הפיתוח). 5. המדריך השלם ל Webpack - בשביל להעלות את האפליקציה לפרודקשן אחד הדברים החשובים הוא להיות מסוגלים לבנות גירסא אופטימלית שלה, עם כיווץ של הקוד, שימוש נכון ב Browser Cache, מחיקת הודעות דיבג, הקטנה אוטומטית של התמונות ועוד פעולות הכנה רבות ואוטומטיות שכולם בתעשיה עושים. וובפאק הוא הכלי המוביל לארגון קוד פרונט אנד והכנה לפרודקשן ובקורס תלמדו לעומק את כל אפשרויות העבודה עם הכלי. מתכנתים שיתחילו היום את המסלול צפויים להגיע לרמה טובה של פיתוח Front End אחרי חודשיים-שלושה, ולהצליח לבנות מערכת ווב מלאה תוך חצי שנה. הקורסים ארוכים, נכנסים לעובי הקורה ומלאים בתרגול מעשי והצעות לפרויקטים כדי לעזור לכם לשלב וליישם את הידע התיאורטי. מקווה שתהנו מהמסלול, ינון

ToCode
1 418
# אבסורד הקורסים התשובה הטבעית לשאלה "מתי לקחת קורס?" תהיה כשאנחנו רוצים ללמוד משהו שאנחנו לא יודעים. הרבה אנשים, אם יחליטו ללמוד נגרות, ילכו לקורס נגרות כי אין להם מושג איפה מתחילים בכלל. וזה הזוי- כי כמעט על כל נושא בעולם יש היום המון חומר ברמת Entry Level שרק מתחנן שתסכימי לראות אותו. כל מי שקצת יודע משהו מקליט קורס וידאו למתחילים על הדבר הזה: זה נכון לבישול, ללימוד שפה חדשה וגם ללימוד תכנות. אבל גם מהצד של הלומד, כשאת לא יודעת כלום על נושא ממש קל ללמוד דברים חדשים, וכמעט כל דבר יהיה מעניין. אם כל מה שאני יודע על עיצוב גרפי זה איך לבחור צבע טקסט ב Word, אז לא משנה איזה ספר אני אקרא או איזה סרט יוטיוב אני אראה על הנושא - אני אלמד ממנו המון דברים חדשים. דווקא ככל שאנחנו יודעים נושא מסוים יותר טוב, כך הרבה יותר קשה לנו למצוא חומרי לימוד איכותיים על אותו נושא. ואז מה קורה? הבן אדם מגיע למצב שכל חומרי הלימוד שהוא מצא עד עכשיו נראים פשוטים נורא ובמקום לחשוב "עכשיו צריך להעלות הילוך ולחפש חומרי לימוד טובים יותר בשביל הצעד הבא", הבן אדם חושב "כנראה שאני כבר יודע מספיק". בואו נוריד שניה את האפשרות הזאת מהשולחן. אני לא יודע הכל, אתם לא יודעים הכל, אף אחד לא יודע הכל. על כל נושא יש יותר ספרים ממה שבן אדם יכול להספיק בכלל לקרוא, ויש תמיד עוד דברים מעניינים לגלות. אפשרות שניה שאנשים חושבים היא "אני יודע מספיק". למשל "אני עובד בתור מתכנת React, אני מסתדר עם העבודה שלי ביום יום ולכן אני בטח יודע מספיק על ריאקט (אפילו שיש עוד המון דברים לדעת)." וגם זאת מחשבה מוזרה: קודם כל כי היא לא לוקחת בחשבון שדברים חדשים קורים כל הזמן ושידע מתיישן. הידע שהכניס אותך לעבודה הנוכחית אולי לא יעזור לך בעוד שנה למצוא את העבודה הבאה. אבל יותר מעניין מזה, אחד הדברים שהכי שוחקים מתכנתים זה להמשיך לקודד באותו אופן לתקופות ארוכות. רוב החברים שלי שהפסיקו להיות מתכנתים הסבירו שהם ממשיכים הלאה כי "אני כבר מבין איך קוד עובד" או "מיציתי. בסוף זה הכל אותו דבר", ו"למדת שפה אחת - למדת את כולן". לעומתם רוב החברים שלי שממשיכים לכתוב קוד הם אלה שממשיכים גם ללמוד דברים חדשים וממשיכים לחפש דרכים חדשות להתמודד עם בעיות בתכנות, וכמובן ממשיכים לחפש שפות חדשות וטכניקות חדשות כדי לפתור בעיות אחרת. כן אתם יכולים לבחור להמשיך לעשות רק את הדברים שאתם יודעים (עד שיימאס לכם). אבל, אם אתם מתכננים על קריירה בתחום, יותר משתלם להתעקש ולחפש ללמוד דברים חדשים כל הזמן. במיוחד בעולמות תוכן שאתם כרגע נמצאים בהם, ושאתם מרגישים שאתם כבר מכירים.