(שאלה שאיכשהו הגיעה לשולחני כמה פעמים לאחרונה:

א' כסלו התשע"ט

נושאים באתר

(שאלה שאיכשהו הגיעה לשולחני כמה פעמים לאחרונה: האם מתאים לי (השואל) להיות מתכנת?

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

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

א. אתם צריכים שיהיה לכם passion לתכנות. (נכון, זה 'תשוקה' בעברית, אבל "תשוקה" לא מעביר את הקונוטציה המדויקת).
אני מתכוון שזה מגניב אתכם. שהתחושה של "הצלחתי. הרמתי שרת NODEJS שמחזיר hello world!" עושה לכם את זה.
זה חשוב כי תצטרכו, תמיד, ללמוד טכנולוגיות חדשות, API שלא הכרתם. הרצון "לגרום לזה לפעול" נותן לכם כוח לקרוא מנואלים ולנסות אלף פעם עד שזה עובד.

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

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

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

כמובן, אחרי א' וב' מומלץ ללמוד - לבד או במקום שווה, תלוי מה מתאים לכם - אבל מה שכתבתי כאן, בעיני, הוא אל"ף-בי"ת של מפתח טוב. בלעדיו, כל הידע התכנותי שלכם לא בהכרח יכול לעשות אתכם מפתחים טובים, או אנשים ששמחים במה שהם עושים)
Loading