CodeGym /בלוג Java /Random-HE /נשבעתי לא לקשור את חיי ל-Java - הסיפור של מפתח התוכנה Anz...
John Squirrels
רָמָה
San Francisco

נשבעתי לא לקשור את חיי ל-Java - הסיפור של מפתח התוכנה Anzor

פורסם בקבוצה
אנו יודעים שתלמידי CodeGym רוצים לשמוע את הסיפורים של אלה שכבר עובדים ב-IT. לקחנו את העניינים לידיים והשקנו סדרה על מפתחים ממדינות וחברות שונות, שסיימו את הכשרת ה-Java שלנו. הסיפור הזה עוסק במפתח תוכנה בשם אנזור קרמוב (הוא למד ג'אווה בגרסה הרוסית של הקורס שלנו). מאז התיכון, הבחור הזה אהב קידוד בפסקל, אבל הוא לא תכנן להיות מתכנת. בסופו של דבר הוא למד תכנות בקורס שלנו וכעת הוא עובד כמפתח אחורי כבר כמה שנים. אנזור מספר לנו איך הוא עשה את זה."נשבעתי לא לקשור את חיי לג'אווה" - סיפורו של מפתח התוכנה Anzor - 1

"לעולם לא אגע באימה הזו"

בתיכון חיבבתי תכנות ושפת פסקל. היה לי מורה. נכנסתי לאוניברסיטה לתואר באנליטיקס לעסקים. מסלול לימודים זה כלל שיעורים בתכנות, כולל לימוד C# ו-Java. אני זוכר שכאשר נשבעתי לא לקשור את חיי לג'אווה: המורה שלי לא הסביר לנו את היסודות. נראה היה שחומרי הלמידה מניחים ידע מוקדם, כך שהרבה לא היה ברור. ההנחה הייתה שכולם יודעים תכנות כבר. אז חשבתי, "לעולם לא אגע באימה הזו." מסע ה-IT שלי התחיל כשעברתי ראיון עבודה בחברה שהטמיעה מערכת ERP של מיקרוסופט. היו להם שני סוגים של עובדים במחלקת ה-IT שלהם: מפתחים ויועצים. היועצים מילאו את תפקיד הבודקים ומנהלי המוצר, בעוד שהמפתחים, באופן לא מפתיע, התפתחו. התקבלתי לעבודה כיועצת, אבל בקורות החיים שלי עלה שלמדתי את פסקל בבית הספר. על סמך זה, הם הציעו לי להפוך למפתח. קידדנו בשפת C#L, המכונה בחיבה "צואה", מעין "צאצא" של פסקל. כשהבנתי פחות או יותר במרחב הזה, הבנתי שזהו, באופן גס, המקום הכי נמוך שמפתח יכול לעבוד בו. לא בגלל שהחברה הייתה גרועה, אלא בגלל שהשפה שבה השתמשנו הייתה ישימה כל כך מאוד. זה היה פשוט לא ריאלי לצפות ליישם את הידע הזה במקום אחר. חשבתי שאם אני מפתח, אז אני צריך ללמוד משהו יותר אוניברסלי וישים באופן נרחב.

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

בבחירת שפת תכנות ללמוד, הרשימה הקצרה שלי הגיעה ל-C++, C# ו-Java. ממה שקראתי בפורומים, הסקתי ש-C++ יהיה לי קשה וייקח לי הרבה זמן לפרוץ לנושא הזה. התמקמתי בג'אווה, כנראה בגלל שנתקלתי בקורס הזה. למדתי את שפת התכנות כשנה וחצי. הבוס שלי "עזר" לי מאוד: הוא היה מעודד מוטיבציה רב עוצמה בעבודה שלי, אבל הוא בהחלט הניע אותי ללמוד ג'אווה. הוא היה בוס גרוע, ורציתי להתרחק ממנו כמה שיותר מהר. אבל לקח לי בערך 1.5 שנים להבין שאני רוצה לעזוב, אותה כמות זמן שהשקעתי בלמידה עצמית. למדתי בדרכים שונות. גיבשתי תוכנית: ללא ספק, העבודה שלי הייתה צריכה להיות שינוי והייתי חייבת ללמוד ג'אווה, אבל לא יכולתי להקדיש זמן לעשייה הזו באופן עקבי במשך שנה וחצי, ולא יכולתי ללמוד כל יום. היו לי הפסקות קצרות של חודש-חודשיים, והיו גם חודשים שבהם למדתי באופן פעיל. לוח הזמנים נראה בערך כך: התעוררתי הרבה יותר מוקדם מהרגיל, למדתי, הלכתי לעבודה, למדתי שם משהו אם לא הייתי סופר עסוק, חזרתי הביתה, ואז למדתי שוב. כשהתייאשתי, נזפתי בעצמי כל כך, ואז "שיתוף פעולה הדוק" עם הבוס שלי נתן לי שוב השראה, וחזרתי ללימודים בלהט. אני זוכר שכל רמה חדשה הייתה קשה יותר ויותר מהקודמת. אם הרמות הראשונות ארכו כשבוע, אז קרוב יותר לאמצע ביליתי כשבוע בפתרון משימה בודדת. המחשבה לוותר על כל זה לחלוטין לא עלתה בי, כי זו הייתה הפעם היחידה בחיי שבה החלטתי, לא משנה מה יקרה, אני אגיע לסוף. אימצתי את המוטו הזה: אם אתה פוגע במשהו במשך זמן רב, אז במוקדם או במאוחר, משהו יסתדר. בדרך כלל נתקעתי במשימות, אבל מכיוון שכל הפתרונות מתפרסמים איפשהו באינטרנט, לא היה קשה למצוא את האחד שהייתי צריך. כשהיה בלתי נסבל לחלוטין, פשוט תפסתי את הפתרון המוכן והדבקתי אותו. אגב, היה לי פרויקט תרגול. כשהלכתי למורה בבית הספר, רציתי לכתוב משחק שנקרא Sea Battle. זה היה העיצוב שלי: אתה משחק עם המחשב ומזין את הכתובת של תא יעד בקונסולה, והמחשב מציג אם פגעת, החמצת או השמדת סירה. ובאופן דומה, המחשב מצלם בתגובה, ואתה מודיע לו אם הוא פגע, החטיא או הרוס. ואז נתקעתי בעובדה שלא הצלחתי לגרום למחשב לירות בצורה חכמה יותר לאחר שפגעתי בספינה מרובת תאים. כאשר שחקן אנושי פוגע בספינה של יריב, אז בסיבוב הבא הוא או היא יירה או מעל או מתחת, או משמאל או ימינה של המכה הקודמת. לא הצלחתי לגרום למחשב לצלם ככה, כי כנראה לא היה לי מספיק שכל. בשלב מסוים חשבתי שאני צריך סוף סוף לסיים ליישם את המשחק הזה. התיישבתי, כתבתי את הקוד, והתגבר על הנקודה הקודמת ההיא. עוד לפני רמה 28, הלכתי לראיון. לאחר מכן, החלטתי שזה מוקדם מדי בשבילי לעשות את זה. הבנתי שאני לא מכיר מסגרות, ולא יודע איך לעבוד עם מסד נתונים. עמדתי בפני בחירה: או ללמוד הכל עד הסוף ב-CodeGym וללמוד מסגרות, או להתחיל ללכת לראיונות. החלטתי לחפש עבודה.

"בשלב מסוים הייתה לי פריצת דרך וכולם התחילו להתקשר אליי"

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

"לקחתי חופשה רפואית בעבודה, ולא עשיתי דבר מלבד לאכול, לישון ולעבוד על משימת הבדיקה".

כנראה קיבלתי את העבודה כאן הודות למכתב המקדים שלי. זו הייתה הגשת קורות החיים המאה שלי. הייתי במצב רוח רע, כי אף אחד לא הזמין אותי להתראיין בשום מקום. במכתב המקדים שלי, תיארתי את כל הכאב שלי ושלחתי אותו. המגייסת אמרה לי אחר כך שזה היה המכתב המקדים הכי נוגע בחייה, ושזו כנראה הסיבה שזימנו אותי לראיון. לאחר הראיון נתנו לי משימת מבחן: לכתוב תוכנית עם ממשק אינטרנט שבודקת אפליקציית אנדרואיד דרך Wi-Fi. התוכנית שלי הייתה אמורה להציג אילו מבחנים הצליחו ואילו נכשלו. קיבלתי שבוע לסיים את המבחן. זה היה שבוע הקידוד העמוס ביותר בכל חיי. לקחתי חופשה רפואית בעבודה, ולא עשיתי דבר מלבד לאכול, לישון ולעבוד על משימת המבחן. לבסוף סיימתי אותו והגשתי אותו. לאחר זמן מה, המגייס התקשר אלי ואמר שעשיתי את המבחן כל כך טוב שהם לא מתכוונים לחכות למועמדים אחרים. נסעתי לשם כדי להיות מפתח ג'אווה, אבל התברר שהמקום הזה התמלא, אז הציעו לי להיות בודק שיכתוב מבחנים אוטומטיים. במחלקת הבדיקות שלנו, אף אחד לא הכיר את ג'אווה חוץ ממני. נאמר לי שיש מערכת לבדיקה ידנית של האפליקציות לנייד. זו הייתה תוכנית עם ממשק אינטרנט: אתה עובר לממשק האינטרנט, מחבר את אפליקציית הבדיקה לסשן הבדיקה, ואז אתה רואה מה צריך לעשות. המשימה הראשונה שלי הייתה להחליף את הבוחן שלוחץ בסשן הבדיקה. הכל התחיל זמן קצר לאחר מכן: עשיתי אוטומציה של מקרה הבדיקה הראשון שלי, ואז היה השני, והשלישי... לצערי, היצירה שלי מעולם לא ראתה ייצור, כי האפליקציות לנייד המריאו הרבה יותר מהר ממה שיכולתי להתאים בדיקות אוטומטיות בשבילם. מאוחר יותר, קיבלתי פרויקט בדיקה אוטומטי שני - לבדיקת ממשק האינטרנט. הייתי צריך לכסות את פאנל הניהול הפנימי במבחנים. התחלתי לכתוב תוכנית מאפס כדי לבדוק אותה. כשסיימתי את הפרויקט השלישי, הציעו לי לעבור למחלקה עם מפתחי שרתים ולכתוב להם קוד. שמחתי מזה. במחלקה זו התחלתי לבצע כמה שיפורים קלים, והתוודעתי למערכת. קצת פחדתי מכל משימה חדשה. חששתי שלא אצליח להתמודד. בסופו של דבר הכל הסתדר. כעת אני המוביל בצוות שמטפל בפיתוח אחורי עבור האפליקציות לנייד. אחד הכפופים לי, שהוא גם בן דוד שלי, למד גם הוא בקורס ג'אווה זה. ליוויתי אותו. כיום הוא מפתח זוטר. אפשר לומר שהנעתי אותו ללמוד. אימון זה עזר לשנות את חיי לטובה, ורציתי לחלוק את ההזדמנות הזו עם אהוביי."נשבעתי לא לקשור את חיי לג'אווה" - סיפורו של מפתח התוכנה Anzor - 3

טיפים למפתחים מתחילים:

1. איך לארגן את הלימודים

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

2. איך לחפש עבודה

זה פשוט. כשאתה מחפש עבודה, המטרה הראשונה שלך היא להגיע לראיון. סביר להניח שתיכשל. אז אל תחשוב יותר מדי על קבלת עבודה מיד. כדי להתחיל, אתה רק צריך להיכנס לראיון. כדי לגרום לזה לקרות, אתה צריך לעשות רק 3 דברים עד שתקבל הזמנה איפשהו:
  1. צור קורות חיים.
  2. שלח את קורות החיים שלך לכולם.
  3. תסתכל על המשוב שאתה מקבל. אם אתה לא מקבל הרבה תגובות, אז קורות החיים שלך כאילו לא אטרקטיביים. קראו כיצד לכתוב קורות חיים, כיצד להגיש מועמדות למשרות וכיצד לכתוב מכתבי כיסוי. עבור לשלב 1.
לאחר שנכשלת בראיון הראשון שלך, תן לעצמך טפיחה על השכם. שליטה בגוף מסוים של ידע וכניסה לראיון - אלה הישגים גדולים. הטעות הגדולה כאן תהיה לוותר. כמובן שזה לא נעים לקבל דחייה. אבל הכל מתנהל לפי התוכנית, ואתה הרבה יותר קרוב לעבודה הרצויה לך. המטרה הבאה שלך היא להיכשל בראיון נוסף. ואז עוד אחד, ואז עוד אחד... ואחרי כל ראיון, העריכו מה קרה. תסתכל על פערי הידע שלך והקטין אותם. אתה לא ממהר. העיקר הוא מאמץ עקבי וטוב לב לעצמך. אתה עושה הכל נכון. יום אחד תקבל הצעה. זה היעד שאליו מועדות. ההצעה הראויה שלך. אתה מדהים! כאשר דנים בהצעה, אל תהססו לשאול שאלות. באופן אידיאלי, ערכו רשימה של שאלות מבעוד מועד. בקש מידע על זרימת העבודה. באילו משימות תתמודד? מה אם לא בא לך לעבוד יום אחד ותחליט לקחת הפסקה? מה אם אתה חולה? לגבי זמן חופשה, האם ניתן לקחת את כל 28 הימים ברציפות, או שאסור? יהיה לך מנטור? וכולי. עדיף לשאול את כל השאלות ולהסכים על הכל מראש מאשר לקבל הפתעה לא נעימה מאוחר יותר. זכרו, בראיון עבודה, החיזור וההערכה הולכים לשני הכיוונים. הם צריכים אותך בדיוק כמו שאתה צריך אותם.

3. איך להרגיש נוח בעבודה

תהיה עצמך. אל תהססו לשאול שאלות. אל תפחד לעשות טעויות. אם אתה לא מבין הרבה בהתחלה, אל תלחץ. כולם מבולבלים בהתחלה. אתה תתחיל להביא רווחים אמיתיים לחברה בעוד כ-6-12 חודשים. בינתיים, שקע בתהליך, למד את המוצר, והמשיך בלמידה.
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION