מפתח תוכנה? הנה שישה דברים שלא למדת באוניברסיטה

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

תמונה: flickr, cc-by, mutednarayan

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

הכרת המבנה של חברת תוכנה

אמנם מבנה חברות תוכנה משתנה בין חברה אחת לחברתה, אך ברוב המקרים החברה תורכב ממפתחים, QA, Support, Product ו-IT. הבנת המבנה תעזור למועמד להבין טוב יותר את הגדרת התפקיד אליו הוא מתראיין, לעובד חדש להשתלב טוב יותר ולאמץ את התהליכים העסקיים של החברה מהר יותר ועוד.

הכרת מתודולוגיות פיתוח

בין אם זה Waterfall או Scrum, Agile או לא, הכרת הגישות השונות יכולה להעניק מושג על חיי המפתח. הכרת הגישות השונות יכולה אף לעזור בבחירת חברה שתתאים טוב יותר. לדוגמה, ספר מומלץ למתודולוגית Scrum הוא Agile Software Development with Scrum.

כלים לניהול קוד ותהליכי פיתוח

  • בוגר תואר ראשון יכול לסיים את התואר עם ידע אפסי על כלים לניהול קוד כמו SVN, Git וכו’, אשר נמצאים בשימוש נרחב בחברות תוכנה.
  • Continuous Build רלוונטי לתהליך בקרת איכות.
  • Integration Test רלוונטי לשלב בתהליך הפיתוח.
  • Issue tracking systems כגון Trac ו Jira – הפועלים ככלים לניהול תהליכי הפיתוח.

קווים מנחים לכתיבת קוד

אין צורך להבהל אם לא קודדת הרבה במהלך התואר הראשון שלך (אין הכוונה לבוגר שכתב תוכניות קצרות בלבד – יש לשאוף לכתוב כמה שיותר קוד במהלך התואר). יחד עם זאת – אומרים שלוקח 100 חזרות ללמוד איך לעשות Squat נכון, אבל לוקח 10,000 חזרות לתקן תנועה שלא נלמדה נכון.

למד את עצמך כיצד לכתוב קוד טוב מהשלב הראשון. ספר נהדר להתחיל הוא Code Complete, Second Edition.

שליטה ב-IDE

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

ניצול קוד פתוח

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

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

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

 

כתב אורח

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

הגב

15 תגובות על "מפתח תוכנה? הנה שישה דברים שלא למדת באוניברסיטה"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

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

סידור לפי:   חדש | ישן | הכי מדורגים
יוסי גולדשטיין
Guest

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

כאילו
Guest
אני חושב שבעיה יותר גדולה של מתכנתים חדשים יוצאי אוניברסיטה היא לא בהכרך חוסר הכרה של מבנה ארגוני, כלים או שיטות פיתוח שונות (חלק מהדברים גם מתכנתים מנוסים צריכים ללמוד מחדש לפעמים). זה תלוי איזה סוג של מתכנת אצה, מתכנתים מהסוג הראשון הולכים למקצוע פיתוח תוכנה בגלל השכר (ויוקרה?) לא בגלל התעניינות, בתוכנה התעניינות בסיסית לא מסיפקה כדי להפוך למתכנת מקצועי, לא חייבים לפתוח את הראש, אבל את נשארים ממוצעים, לא יותר מזה, ומכיוון שזאת היא השאיפה של רובם, אין להם בעיה עם זה. אבל תוכנה טובה לא תיווצר מתיכנות ממוצע בלבד. עוד 3 שנים הם יגלו שהם צריכים ללמוד… Read more »
Rachel Saadia
Guest

אממממ.. נחמד – אפשר לקבל עוד פוסטים בנושא??

oz
Guest

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

גשגש
Guest

מה יש לחשבו על זה – זה קשקוש
חייל הוא רק חייל
אקדמאי זה סטטוס אחר

אנחנו בודקים את היכולות ואת הידע

oz
Guest

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

איתי פרנקל
Guest

אדון כאילו – לא יכולתי לנסח את זה טוב יותר.
++

אופיר
Guest

בתור בוגר המסלול להנדסת תוכנה בטכניון (לפני שנים מעטות), אני חייב להגיד שדווקא יש דגש על 6/6. בכל אחת מהנקודות שהועלו נגענו בקורס אחד או יותר. אז אפשר להגיד שזה לא מספיק – אבל תואר ראשון נועד לעשות לך הכרה עם העולם ולבסס לך את העקרונות – את השאר, “צא ולמד”…
אני לא בטוח ש-6 הנקודות שפורטו הן-הן העיקר שחסר – אבל רק רציתי להגיד שאני דווקא כן למדתי עליהם באוניברסיטה!!

צחי
Guest

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

Doron Ben Elazar
Guest

בלינוקס זה לא היה קורה.

Yonatan Nir
Guest

בלינוקס גם היית צריך להתקין איזה 15 תוספים בשביל להצליח להגיב כאן בכלל

Doron Ben Elazar
Guest

זה כי אתה גיי. היית יכל לפתוח סוקט לשרת בחינם.

ד"ר עמיר תומר
Guest
נגעתם בבעיה אמיתית ונכונה. אני מרצה שנים לא מעטות במסלול להנדסת תוכנה במדעי המחשב / טכניון ובמסגרת הקורסים שפיתחתי שם – שיטות בהנדסת תוכנה וניהול פרויקטי תוכנה – דאגתי לכלול חלק לא קטן מנושאים אלה. אני פוגש לא מעט סטודנטים שלי מהעבר, והם תמיד מציינים עד כמה קורסים אלה הכינו אותם ל”עולם האמיתי”. ניתן לראות את שקפי הקורסים בלינקים הבאים: webcourse.cs.technion.ac.il/236321 webcourse.cs.technion.ac.il/234270 לפני כשנה הקמתי את המחלקה להנדסת תוכנה במכללה האקדמית כנרת (שימו לב: הנדסת תוכנה ולא מדעי המחשב – גם התעשיה עצמה לא יודעת לעשות את ההבחנה הנכונה!), ודאגתי שתוכנית הלימודים שם תכלול כמה שיותר נושאים רלוונטיים לתעשיה. אני… Read more »
אבנר
Guest

לד”ר עמיר תומר, תודה על ההפניה למצגות הנהדרות. ותודה על שיתוף חומרי הקורסים עם הציבור.

ענת
Guest

האם יש לך המלצה לפרוייקט open source נחמד לאנדרואיד או בכלל?
אני מאוד רוצה להתחיל לעבוד על פרוייקט open source וקצת לא מוצאת מאיפה להתחיל

תודה רבה!

wpDiscuz

תגיות לכתבה: