למה לצפות אם אתה רוצה להיות מפתח iOS

למה לצפות אם אתה רוצה להיות מפתח iOS

מבחוץ של iOS, פיתוח יכול להיראות כמו מועדון סגור. כדי לעבוד, אתה בהחלט צריך מחשב של אפל; המערכת האקולוגית נשלטת מקרוב על ידי חברה אחת. מבפנים גם אפשר לשמוע לפעמים סתירות – יש האומרים ששפת Objective-C ישנה ומגושמת, ואחרים אומרים ששפת Swift החדשה גסה מדי.

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

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

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

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

מי הם מפתחי iOS?

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

"כדי לעבוד עם iOS, אתה צריך MacBook, כי רק לו יש את סביבת הפיתוח הנחוצה Xcode. זה בחינם ומופץ דרך ה-AppStore. כדי להתקין, אתה צריך שיהיה לך מזהה Apple שלך ​​ולא שום דבר אחר. ב-Xcode תוכלו לפתח אפליקציות לכל דבר - טלפון, טאבלט, שעון. יש סימולטור ועורך מובנה לכל דבר", אומר אנדריי אנטרופוב, דיקן מחלקת הפיתוח של iOS ב-GeekBrains.

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

שפות - Swift או Objective-C

כמעט כל פיתוח iOS נעשה באמצעות שפת התכנות Swift. היא הופיעה לפני חמש שנים וכעת היא מחליפה בהדרגה את שפת Objective-C הישנה, ​​בה השתמשה אפל בכל האפליקציות שלה כבר יותר מ-30 שנה.

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

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

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

הדרכה

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

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

הרבעון השני מוסיף Objective-C. נערך קורס בנושאי ארכיטקטורה ודפוסי תכנות בסיסיים. ברבעון השלישי הם מלמדים את הסגנון הנכון של כתיבת קוד. הוא מסביר מה זה מפעל, איך לכתוב מבחנים נכון, ליצור פרויקטים, מה זה Git-Flow, אינטגרציה רציפה דרך Fast Lane. הרבעון הרביעי והאחרון מוקדש לעבודת צוות, מטלות מעשיות והתמחויות.

"הרבעון הראשון היה קל", אומר מראט, "אבל אז התחלתי ללמוד תכנות ב-Objective-C, למדתי דפוסי עיצוב, עקרונות Solid, Git-Flow, ארכיטקטורת פרויקטים, בדיקת יחידות וממשק משתמש של אפליקציות, הקמת אנימציה מותאמת אישית. - ואז אני נהיה מעניין ללמוד."

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

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

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

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

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

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

למה לצפות אם אתה רוצה להיות מפתח iOS

אתה יכול לראות הכי הרבה המשרות הפנויות האחרונות למפתחי iOS ולהירשם למנויים חדשים.

לעבוד

אבל לא מראט ולא בוריס מצאו תעסוקה כל כך בקלות.

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

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

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

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

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

משכורות

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

למה לצפות אם אתה רוצה להיות מפתח iOS

לפי מחשבון השכר של My Circle, השכר הממוצע של מפתח iOS מעט פחות 140 000 רובל.

"ג'וניור ברמה נמוכה מאוד עובד לעתים קרובות בחינם או תמורת כסף סמלי - 20-30 אלף רובל. אם זוטר יילקח בכוונה לתפקידו, הוא יקבל בין 50 ל-80 אלף. בינוניים מקבלים מ-100 עד 150, ולפעמים אפילו עד 200. קשישים לא מקבלים פחות מ-200. אני חושב שהמשכורת שלהם היא בסביבות 200-300. ועבור מובילי צוות, בהתאם, זה יותר מ-300".

למה לצפות אם אתה רוצה להיות מפתח iOS

ראיונות

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

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

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

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

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

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

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

קהל

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

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

רשימת ספרות מומלצתרמת מתחילים:

רמה ממוצעת:

שלב מתקדם:

מקור: www.habr.com

הוספת תגובה