MeCoder הכניסה לעולם התכנות


האם אני מתכנת טוב?

developer working on laptop

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

עכשיו להסבר המפורט… לאורך כל הדרך שלנו כמתכנתים, תמיד נהיה בשלבי לימוד כאלה או אחרים, ונרצה לדעת האם אנחנו מתכנתים טובים? האם אנחנו מספיק טובים בשביל למצוא עבודה? האם אנחנו מספיק טובים בשביל להתקדם לדברים מורכבים יותר?

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

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

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

כנראה שהשאלה היא לא האם אנחנו מתכנתים טובים או לא, אלא האם אנחנו מתכנתים שממשיכים לצמוח.


ובנושא אחר:
רציתי לשתף אתכם שלאחרונה אני משקיע לא מעט זמן בהכנת מדריך מקוצר לתכנות צד-לקוח. המטרה היא לאפשר לכל מי שרוצה להכיר קצת יותר טוב מה זה תכנות front-end, באילו שפות כותבים, איך זה עובד, ואיך לא - בחינם. מקווה שאצליח לסיים אותו בחודש הקרוב. מי שרוצה מוזמן להירשם לרשימת הדיוור ולקבל את המדריך מיד כשהוא יוצא.