
זה נכון. ביליתי אלפי שעות בקריאת ספרים, כתיבת קוד וצפייה בהרצאות מדעי המחשב, הכל כדי להתכונן לראיון מהנדס התוכנה של גוגל.
אם תרצה להתכונן לראיון בגוגל, הנה תוכנית הלימוד שלי:
jwasham / google-interview-university
google-interview-university - תוכנית יומית מלאה ללימודים להיות מהנדס תוכנה של גוגל. github.com
איך הגעתי לכאן
התחלתי לתכנת בחטיבת הביניים, אבל כשהגיע הזמן לקולג 'למדתי תואר בכלכלה. הרציונל שלי היה שיש יותר מדי מתכנתים שיחפשו עבודה עד לסיום הלימודים. ילד, טעיתי.
מאוחר יותר הצטרפתי לצבא כדי להיות מתכנת, אבל המגייס דיבר אותי לתפקיד מודיעיני צבאי וביליתי את השנתיים הבאות בלימוד השפה הקוריאנית. שירתתי בדרום קוריאה שנתיים לאחר מכן.
לפני שעזבתי את הצבא, ניסיתי לחזור לתכנות והופתעתי מהקושי. למדתי BASIC בחטיבת הביניים והמשכתי לתכנת אותו דרך התיכון. אבל התחלתי מחדש את לימודי התכנות עם C ++, והקפיצה הייתה גדולה מדי. פשוט לא הצלחתי לתפוס את זה.
נהניתי לייצר אתרים, עם זאת, אך השתמשתי בתוכנה עם ממשק דמוי וורד בו השתמשתי כדי לפרסם את אתרי. לא ידעתי ליצור אתרים מאפס.
אחרי הצבא החלטתי להישאר בקוריאה שנה וללמד אנגלית. השתמשתי בלילות ובסופי שבוע כדי ללמוד תכנות אתרים, תוך שימוש בפרל, HTML, CSS (שהיה אז חדש), JavaScript ו- SQL.
אחרי שנה של לימודים אינטנסיביים נחתתי עבודה באזור סיאטל ומאז אני כאן.

אני מפתח אתרים כבר 15 שנה. הקמתי 3 חברות, מהן 2 עדיין פועלות ומניבות הכנסות. עבדתי בחברות גדולות וקטנות, עזרתי לסטארטאפים בהשקה וצמיחה וגייסתי צוותים. הייתי מנהל מוצר, מנכ"ל, מעצב ומשווק.
עברתי קריירה מצליחה ולמדתי הרבה בדרך. אבל עדיין לא סיימתי.
מחפש שינוי בקריירה
זוכר את החלק שלא קיבלתי תואר במדעי המחשב? זה עשה שינוי.
לפני כמה שנים חשבתי שאוכל להתקבל לעבודה בכל מקום. חשבתי שאני דברים חמים: מפתח אתרי האינטרנט החמקמק. אבל במהלך חיפוש העבודה שלי בשנת 2013 הבנתי שכישורי חסרים. ביליתי כל כך הרבה זמן במרדף אחרי דולרים על ידי הפעלת סטארטאפים בזמני הפנוי, עד שנתתי לכישוריי לניוון. לא עמדתי בקצב הטכנולוגיה.
במשך שנים למדתי מספיק כדי להסתדר. היה לי מיומנות רחבה אבל לא הייתי מומחה לשום דבר.
אל תבינו אותי לא נכון, אני עדיין יכול להתקבל לעבודה, אבל לא בטכנולוגיות או בתחומים שרציתי לעבוד בהם. יכולתי להתקבל לעבודה באזורים שבהם מחסנית הטכנולוגיה הייתה מיושנת במקצת, כמוני. יש שם כסף גדול, אבל לא ראיתי סיכויים מרגשים.
המימוש הגיע לשיאו בשנה שעברה ביריד קריירה. הייתי מעוניין אולי לעבוד אצל אחת החברות המקומיות שהיו מעבדות סטארט-אפ המופעלות על ידי חברות הון סיכון. עם זאת, העובדה שחסר לי תואר במדעי המחשב, והכישורים והידע הנלווים לתואר כזה, גרמו לכך שלא היה לי סיכוי.
עבדתי באותה תקופה במשרה מלאה על העסקים שלי ועדיין.
בתחילת 2016 החלטתי שהגיע הזמן לעשות שינוי בקריירה ממפתח אתרים למהנדס תוכנה. אצטרך ללמוד קשה ולהתאמן על מנת לדחוס תואר במדעי המחשב למספר חודשים, אך ברגע שעשיתי זאת, אוכל להתחיל קריירה חדשה.
ייתכן שלא תראה פיתוח אתרים והנדסת תוכנה כמיקומים שונים. שניהם כוללים תכנות ואומנות, אך הנדסת תוכנה מוסיפה לה ידע על מבני נתונים ואלגוריתמים, שפות מורכבות, שיקולי זיכרון והבנת ההשפעה של קידוד והחלטות ארכיטקטורה על המכונות בהן הן שוכנות.
חברות גדולות השוכרות לתפקידים בהנדסת תוכנה מצפות מהמועמדים שידע זה.
הגעתי למכר שעובד בגוגל ושאלתי אותו שאלות על הניסיון שלו בחברה. קראתי איך גוגל עובד וכבר הכרתי את גוגל למדי.
דרך איש קשר אחר קיבלתי עותק של הערות האימון של גוגל שמועברות למועמדים לראיון. זה הפך לבסיס תוכנית הלימודים שלי.
גוגל היא מקום די מדהים לעבוד בו, אבל לפני שהספקתי בכלל לדעת, גוגל הייתה המטרה שלי.
למה דווקא גוגל?
גוגל מציבה רף גבוה מאוד לגיוס עובדים. הם רוצים להעסיק רק את הטובים ביותר. אז אם אני שם את הכוונות שלי גבוה (מתקבל לעבודה בגוגל), אני עדיין אהיה די שכיר במקום אחר, גם אם אני לא נבחר.
ככל שאני לומד יותר על גוגל, כך אני רוצה לעבוד שם יותר.
בקיצור, גוגל היא חברה שמעסיקה אנשים חכמים ויצירתיים ומתייחסת אליהם היטב. גוגל מתגמלת את הכשרון, מעודדת רעיונות גדולים ומעניקה לעובדים את החופש לקבל החלטות טובות עבור המשתמש.
תהליך הגיוס מכויל כדי להביא אנשים חכמים, נלהבים. גוגל חידדה את תהליך הגיוס והראיון לאורך השנים. שאלות טיזר המוח נעלמו מזמן. כיום מועמדים נבחרים על סמך יכולת קידוד, ידע טכני וגוגלניות. יש הרבה מה שקורה במילה אחת.

הניהול שונה. מנהלים אינם מנהלים מיקרו. הם סומכים על מהנדסים שיקבלו את ההחלטות הנכונות. אמון בעובדים משנה את תפקיד המנהלים בגוגל ממה שרוב האנשים רואים כאשר הם חושבים על ניהול. בנוסף, מנהלים אינם יכולים לחד-צדדי, לשכור, לפטר או לקדם. רבות מההחלטות הניהוליות החשובות שעלולות להיתפס כפוליטיקה משרדית מטופלות על ידי ועדה להסרת סכנה זו.
פעולות האנשים של גוגל (HR) למדו מה עובד לאורך זמן, והם משתמשים בנתונים ובמשוב עובדים כדי לשפר את מערכות ההערכה, את תהליך הגיוס, קידום, פיצויים, הטבות ועוד. קרא תקנון עבודה! מאת לאסלו בוק (SVP, People Operations) למידע נוסף.
כן, היתרונות מדהימים. יצאתי לסיור במשרד גוגל בקירקלנד, וושינגטון, וזה עלה על הציפיות שלי. והציפיות שלי כבר היו גבוהות.
אוניברסיטת ראיונות בגוגל
זוכרים את הערות האימון שקיבלתי אומרות לי מה ללמוד? רשימת הנושאים נראתה לניהול, למרות שלא ידעתי דבר ברשימה.
הפכתי את הנושאים בהערות למתווה והתחלתי למלא את הנושאים בסרטוני יוטיוב של הרצאות מ- MIT ו- UC Berkeley. סרטון ברשימות מקושרות במקום אחד, סרטון על תורים במקום אחר. הרשימה התחילה לצמוח.
פרסמתי את הרשימה ב- Github מכיוון שחשבון Github שלי היה די ריק. מכיוון שכל הקוד שכתבתי לעסקים ולעבודה שלי היה פרטי, חשבון Github שלי נראה כאילו לא קודתי בכלל. הייתי צריך לבנות תיק עבודות. במקור קראתי לפרויקט "פרויקט 9894". גוגל הושקה ב -4 בספטמבר 1998. מכאן השם. לימים שיניתי את שמו ל"אוניברסיטת הראיונות של גוגל ".
עם הזמן הוספתי כמה נושאים אופציונליים שגיליתי בדרך.

די נדהמתי שהגעתי עד כה בקריירה שלי בלי שידעתי אפילו איך מעבד מעבד תוכנית, איך עובד זיכרון או כל אחד מהם. ידעתי "מספיק" כדי להצליח.
פרויקט Github הקטן שלי החל לקבל כמה כוכבים, ופרסמתי פוסט בבלוג שחגג 20 כוכבים.
בוקר אחד התעוררתי לגלות שהוא צמח ל -120 כוכבים. מישהו מפורסם צייץ על כך בטוויטר במהלך הלילה, וזה הוביל לכך שהוא הגיע בסופו של דבר לדוח המגמות היומי של גיתוב. הייתי מספר 1 בחיפוש אחר Github במשך כמה ימים.
אנשים חביבים רבים הגיעו להודות ולעודד אותי. מתברר שיש אלפי אנשים שרוצים לא רק לעבוד בגוגל אלא רוצים לעבוד כמהנדס תוכנה, והרשימה הזו הייתה רק רשימת המטלות שהם זקוקים להם.
זה עכשיו מעל 21,000 כוכבים.
אני עדיין לא מאמין.
מה אם לא אשיג את העבודה?
זה לא יהיה סוף העולם.
שמתי את הזמן וההתמסרות ללימודים במטרה להתקבל לעבודה כמהנדס תוכנה של גוגל, אבל גם אם אכשל, אני עדיין אהיה חמוש בכישורים ובידע הדרושים לעבודה כמהנדס תוכנה בכל חברה. .
לאן שאגיע, אני נכנס כמהנדס תוכנה ברמת הכניסה. אני לא נכנס ל 15 שנות ניסיון בהנדסת תוכנה כי פשוט אין לי את זה. כשמדובר בחומר הזה, אני שווה ערך לתואר ראשון במדעי המחשב.
אבל גם לי יש התלהבות של כיתה חדשה. זה עולם חדש עבורי. אני רק מתחיל. אני לא מפחד לעשות טעויות. אני יודע שאעשה זאת. אני גם רוצה ללמוד כל מה שאני יכול ולהוות תוספת מצוינת לכל קבוצה.
אל תלמד כמוני
כן, לקחתי 8 חודשים. אבל יכולתי לקצר את התהליך. כמו כל סטארט-אפ עם מטרה גדולה, אתה עושה טעויות ועושה דברים שמבזבזים זמן. יש הרבה דברים שהלוואי שאחזור ואעשה אחרת.
למדתי נושאים שלא הייתי צריך, חלקם כי חשבתי שאצטרך אותם לראיון, וחלקם בגלל שרציתי שיהיה לי את הידע כשאני התחלתי לעבוד. לא רציתי להעמיס על הצוות שאליו אני משובץ. מתברר שפשוט הכנתי יתר על המידה.
ביליתי 3 שבועות בקריאת ספר של 1,000 עמודים ב- C ++. אני לא זוכר שווי של 1,000 עמודים, אבל אני יודע קצת על C ++ עכשיו. כפי שמתברר, אני משתמש בפייתון לראיון, ולא ב- C ++. הנחתי שאני צריך C ++, C או Java, אבל טעיתי. טוב לשאול, לא להניח.
קראתי יותר ספרים ממה שהייתי צריך. יש רק 3 או 4 ספרים שהייתי צריך לקרוא.
יש לי קטלוג קודים של עשרות אלגוריתמים שאני בודק, שאת רובם לא הייתי מצפה בראיון. אתה לא צריך לעשות את זה.

צפיתי בשעות רבות של סרטוני יוטיוב אבל יכולתי לצפות בהרבה פחות ולהפיץ נושאים לאורך זמן.
הייתי צריך להפסיק לקרוא ספרים ולצפות בסרטונים מוקדם יותר ולהתחיל לעסוק בבעיות קידוד מוקדם יותר. הייתי יכול להשקיע יותר זמן ביישום הנושאים שלמדתי.
חזרה מרווחת היא המפתח לשינון. ברגע שלמדת משהו, עיין בו שוב מאוחר יותר, ושוב אפילו מאוחר יותר. בכל חזרה אתה מחזק את הלמידה שלך. בילוי שעות ושעות בבת אחת בתורים עדיפים לא יהפוך אותך למומחה. אתה הופך למומחה על ידי ביקורת חוזרת ובדיקה לאורך זמן. אם תעשה זאת, תגיע למצב שבו אינך יכול לשכוח פרטים.
כדי לעזור בביקורת הכנתי 1,792 כרטיסי פלאש (כרטיסי פלאש דיגיטליים). זה יותר מדי. אני סוקר אותם בטלפון או בטאבלט בכל פעם שאני מקבל רגע פנוי (כגון במהלך קניות בחג המולד). כרטיסי פלאש וחזרה מרווחת הולכים יד ביד. ברגע שאקבל תשובה בכרטיס פלאש נכון, אני לא מסמן את זה כידוע. אני שומר אותו בסיפון וברגע שראיתי אותו ועניתי עליו נכון פעמים רבות, אז אני מסמן אותו כידוע.
תחושת הפחד שלי ("מה אם ישאלו אותי שאלה על עצים אדומים-שחורים?") הביאה אותי ללמוד נושאים רבים ממה שהייתי צריך.
אבל לא רציתי להתכונן רק לראיון, רציתי להתכונן לקריירה בגוגל, לפתור בעיות רחבות היקף. פירוש הדבר להכיר אלגוריתמים שיחסכו משאבי מחשוב של זמן, מקום ו- I / O.
אולי לעולם לא אצטרך להכיר אלגוריתם זרימה מרבי (פורד-פולקרסון), אך נחמד לדעת שיש לי את הכלי הזה זמין אם המצב מתעורר (מבלי לשנן את היישום), ואוכל לזהות את היישום שלו למרחב בעיות.
סיכום
בשלב מוקדם, רציתי שאדלג על כל הלמידה הזו, ופשוט להזדרז ולהתקבל לעבודה כדי שאוכל במקום זאת להשקיע את הזמן בלימוד השפות והכלים לצוות שאליו אני מצטרף. אבל בדרך הבנתי עד כמה הידע הזה חשוב, ולמרות שרובו אולי לא ישים על בסיס יומי, אני שמח שהשתדלתי. יש לי הערכה חדשה להיסטוריה של המחשוב, לגדולים בשטח, למבני נתונים ולאלגוריתמים (וכיצד הם משלימים זה את זה), וכיצד מערכות מחשב עובדות ברמה נמוכה.
אגיש את הבקשה שלי בקרוב. זה היה מסע ארוך להגיע לנקודה זו - כמעט שנה שלמה. זה התחיל כבר בינואר, אבל לא הצלחתי להתחייב ללימודים במשרה מלאה עד אפריל.
אני מוכן ככל שיכולתי להיות. אני לא יכול להמשיך ללמוד ולדחות את היישום לנצח. בשלב מסוים, אני צריך לקחת את הקפיצה.
אני רואה עתיד מזהיר לפנינו.
תודה שפנית לקרוא את הסיפור שלי.
המאמר זמין גם בערבית, בווייטנאמית ובקוריאנית.
עדכון: 10 בינואר 2017
לא התקבלתי לעבודה. המשך לקרוא . תודה לכולם על התמיכה המדהימה והמדהימה שלך.
עדכון: 6 במרץ 2017
לסיפור יש סוף טוב! אני נשכר על ידי אמזון לעבוד כמהנדס פיתוח תוכנה בשירותי האינטרנט של אמזון!
איפה למצוא אותי
אני כותב בבלוג ב- Startup Next Door.
אוניברסיטת ראיונות בגוגל ב- Github:
jwasham / google-interview-university
google-interview-university - תוכנית יומית מלאה ללימודים להיות מהנדס תוכנה של גוגל. github.com