יום שלישי, 15 בנובמבר 2011

עבודה או כסף ?

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

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

יום שני, 14 בנובמבר 2011

הסיבה האמיתית שאני משלם לך כסף

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

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

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

כל אחד כמובן בוחר את הסיבה המועדפת עליו ללכת לעבודה בבוקר. אני ממליץ לבחור בשניה.

יום שבת, 15 באוקטובר 2011

עבודה בארגון

אחד הדברים שהאתר (http://enterprise-js.com/) הזה הזכיר לי בעבודה בארגון הוא היכולת של מתכנתים לכתוב קוד, לפעמים מורכב, ללא הבנה לעומק של הקוד.
הדבר המדהים הוא, שרואים את הגרעין של האמת מוסתר מאחורי שכבות של חוסר הבנה, בהערות הקטנות שנכתבות ליד, בקופי-פייסטים, זה לגמרי שם.
ובכל זאת, דורות של מתכנתים משקיעים את זמנם בקופי-פייסט של פרוסות קוד, ולפעמים לא שמים לב שכשבטעות משנים אות אחת אז כל המבנה יורד לטמיון.

לדוגמא הקוד הזה (שעובד גם בשפות שאינן JavaScript):


1 for (var i = 0; i < items.length; i++) {
2     if (items[i] === 'polyfill') {
3         return items[i];
4         break;
5     }
6 }
7 


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

יום חמישי, 13 באוקטובר 2011

היזון חוזר

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

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

הנה כמה דרכים לקבל היזון חוזר על העבודה

הקוד מתקמפל/רץ: כנראה הדרך הראשונה להיזון חוזר שלמדנו בתחילת הדרך. אם הקוד מתקמפל אפשר ללכת הביתה. לחילופין ולמחמירים, אם זה גם עובד בכלל החיים דבש.

הקוד עובר Testing: בשלב מסוים של החיים המקצועיים ייתכן ונחשפתם לרעיון של Unit Testing. במרבית המקרים לא ניתן בריצה בודדת לנסות את כל אופני השימוש בקוד. בדיקות יחידה הם כלי לבדיקת מסלולי קוד רבים ולראות באיזה מקרה קצה פישלנו. החוכמה כאן היא לכתוב את הבדיקות הנכונות.

הקוד עמיד לפגעי הזמן: נסו להוסיף/לשנות משהו מיוזמתכם. כמה קוד צריך לשנות בשביל השינוי שלכם ? האם ניתן היה לכתוב כך שהכנסת שינוי תהיה קלה יותר ?

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

יום שני, 10 באוקטובר 2011

חומרי הדרכה

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

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

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

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

ואם תהיתם מה היה הקורס ... http://ynonperek.com/node/96

יום חמישי, 22 בספטמבר 2011

למה אני לומד

קיימות סיבות רבות המביאות אותנו ללמוד דבר מה חדש. להלן רשימה חלקית:

לצורך ביצוע משימה נקודתית (php)
לצורך ביצוע מספר משימות או מטלה ארוכת טווח
כי כל הילדים המגניבים מדברים על זה (ruby on rails)
כדי למצוא עבודה (java, .NET, php)
כי נשאר תקציב הכשרות לשנת 2011
כדי לעשות מזה כסף (אייפון)
כדי לפגוש אנשים חדשים עם תחומי עניין דומים לשלי
כדי לתת מענה טוב יותר ללקוחות/עמיתים
כדי להבין באגים מוזרים החוזרים על עצמם (character encoding)
כדי לשפר את ההבנה שלי במרחב הבעיות שבו אני עוסק
כי אי אפשר אחרת

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

יום שלישי, 20 בספטמבר 2011

מצגות טובות

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

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

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

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

ומה על מאיה ? צייתנות לא מייצרת עתיד. חשיבה יצירתית כן. תעזבו את המצגות ותתחילו לעבוד.