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

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

תמונה: pexels

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

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

לפני הלימוד – הכנת סביבת עבודה והגדרת מטרות

החלטתם ללמוד? מעולה. מהניסיון האישי שלי כדאי להחליט מה ללמוד ולהגדיר acceptance criteria. יש לימודים שממש יש בהם הסמכות – כלומר מבחנים שצריך לעבור ואז זה יותר קל. יש מקומות שאין. חשוב מאוד להגדיר את זה כי כולנו כבר יודעים שצפייה בקורס כלשהו ב-Udemy או קריאת ספר היא משהו שאפשר לעשות על אוטומט וברפרוף. זו הסיבה שחייבים להגדיר מטרות וקריטריוני הצלחה קשיחים ומדידים. למשל:

  1. להצליח לכתוב בפייתון בוט שידליק לי את הטיימר בדוד.
  2. לבנות אתר בוורדפרס לחוג הרובוטיקה של הבן שלי.
  3. לבנות ממשק בריאקט שעושה ויזואליזציה לתהליך בקאנדי שכתבתי.
  4. להצליח לענות על 5 שאלות ב stack overflow על SQL.

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

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

אז מה לומדים?

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


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


פייתון

מקור: Pixabay

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

איפה לומדים?

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

בעברית: יש קורסים ממש טובים שלה זמינים ובחינם ובעברית ב-campus.gov.il

איפה מתרגלים?

המון תרגילים נמצאים ב-https://www.hackerrank.com – שזה אתר סופר מגניב שכדאי להכיר.

מקורות ללימוד ווב/בניית אתרים

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

איפה לומדים?

HTML\CSS בעברית: מGoCode Sderot הכינו מדריכי וידאו טובים ששווה לבדוק.

HTML\CSS באנגלית: Code Academy (חינם), FreeCodeCamp – הקורס של Responsive Web Design.

JavaScript באנגלית: Code Academy (קורס בסיס חינמי, המתקדמים בתשלום), ב-Free Code Camp יש את הקורס של JavaScript Algorithms and Data Structures שהוא של 300 שעות והוא ממש סבבה וחינמי. JavaScript.info הוא גם מעולה ועם המון דוגמאות חיות.

אם אתם כבר שולטים בג’אווהסקריפט ורוצים להעמיק את הידע, אז הספר You don’t really know javaScript הוא חובת קריאה. גם 30 יום על ג’אווהסקריפט זה יופי של מקום לתרגל ג’אווהסקריפט ונילה.

JavaScript בעברית: טוב, פה אני משוחד – הספר שלי ללימוד ג׳אווהסקריפט בעברית

וורדפרס באנגלית: ב-tuts plus יש אוסף של מדריכים לפי המטרות השונות שלכם – רק לעצב? לבנות תוספים? סתם להכיר את וורדפרס? זה המקום.

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

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

מסד נתונים

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

MySQL באנגלית: MySQL tutorial הוא מקור ידע נהדר ששווה לבדוק.

MySQL בעברית: המדריך שלי ללימוד MySQL הוא מיושן אבל הוא המקור העיקרי שנמצא ברשת בעברית.

MongoDB באנגלית: הדוקומנטציה של מונגו היא אחת הטובות שראיתי ומומלץ ואפילו כדאי ללמוד משם.

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

Machine Learning

זה תחום ששווה להכיר וללמוד, אולי למרות כל הבאזז סביבו. ללא ספק לימוד Machine Learning זה דבר שיכול לפתוח אופקים חדשים גם אם לא תכנסו אל התחום. אפילו ברמת ה-Hello World.

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

בעברית: מן הסתם אין אבל פוסט של ליאור בר-און שפורסם בגיקטיים הוא אחלה התחלה.

אחותי, כבר עדכנת את ה-IDE? | מקור: Pixabay

בקטנה:

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

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

יש המון נושאים להתמקצע בהם וללמוד אותם. וכאמור אתם מוזמנים לפנק ולצ’פר בקישורים משלכם או ברעיונות משלכם לטובת הכלואים בבית. בתקווה לימים טובים יותר.

תודה לעינת, אדיר, משי, חגי, ערן ולשאר המפתחים מורייזון מדיה על הסיוע

 

 

 

Avatar

רן בר-זיק

מתכנת ווב בורייזון מדיה, עיתונאי טכנולוגיה בהארץ, בלוגר טכנולוגי בעברית באתר אינטרנט ישראל, מחבר ״ללמוד ג׳אווהסקריפט בעברית״, ״ללמוד Node.js בעברית״ ו״ללמוד ריאקט בעברית״: hebdevbook.com. נשוי ואב לארבעה.

הגב

27 תגובות על "מתכנתים בהסגר: כך תנצלו את הזמן בבית ללמוד עוד שפת תכנות"

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

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

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

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

מוטי
Guest

שכחת את Grasshopper של גוגל..
אחד הטובים.

ואגב ממש תודה על הכתבה וכל הקישורים. שמרתי במועדפים.

תעשו עוד בסגנון

אלכסנדר
Guest

מצטרף למחמאות! מאמר מעולה! תודה

ראיאן
Guest

באמת תודה על הכתבה והצעות שצירפת … בתוך 3 ימים כבר למדתי את איך להשתמש בAngular and react and typescript , express server
יחד עם כל זה ישלי רקע 3 שנים בגאווה ו SQL ותכנתי 3 תוכנות למקום העבודה שלי והיום כבר בונה אתר משלי ושואף לבנות אפליקציה ציטוט בעיצוב שיכבוש את העולם באמת

שקד
Guest

אם אתה צריך עזרה לגבי איך מתחילים מיזם וכו אצה מוזמן ליצור קשר זה המייל
Shakedsof@gmail.com

ישי
Guest

היי אני תיכוניסט אני רוצה ללמוד איזה שפת תכנות, מה ממליצים?

איתן ג
Guest

היי ישי, יש לך רקע בתכנות?
מה הרקע?

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

https://cyber.org.il/data/

אני למדתי מהם המון, ונהנתי מאוד
בהצלחה!

רונן
Guest

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

כבר שנים בבידוד
Guest
כבר שנים בבידוד

תודה רבה- תהיו בריאים (-:

TheOnlyTails
Guest

אני כבר התחלתי ללמוד java ממורה מעולה שמצאתי באינטרנט. הקורס שלו עכשיו בהנחה רצינית (50$ במקום 147$). הנה האתר שלו codewithmosh.com
ממליץ בחום.

אלי
Guest

יש דבר כזה קורס AIMLDL.. ללא כניסה עמוקה מדי לנושא?
זה מרגיש שהקורס של COURSERA (ומה שמצאתי ברשת) כאילו מלמד אותי אסמבלי לפני שלומדים גאווה.

אין קיצורי דרך
Guest
אין קיצורי דרך

זה כמו לשאול אם אפשר ללמוד חשבון דיפרציאלי בלי ללמוד את לוח הכפל

Itay
Guest

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

Itay
Guest

התכוונתי לקורסי פרימיום של יוניטי (תחום הגיימינג ופיתוח המשחקים)

רועי
Guest

זה מאוד תלוי במה שמעניין אותך

Itay
Guest

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

fool stuck
Guest

אין בכלל שאלה- תלמד UNITY
יוניטי הוא מנוע המשחק הפופולרי בעולם ונשולב בסביבית פיתוח הנתמכת בc#
כך שלא תצטרך ללמוד שפה חדשה– ומתקמפל לכל סביבה שרק תרצה כולל לדפדפן

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

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

3

fool stuck
Guest

כנס לאתרי free-lancer וחפש הצעות עבודה ליוניטי- תבין על מה אני מדבר…הביקוש אדיר ורק יגדל

Itay
Guest

מעריך את התשובה, תודה רבה. יש דרך שאפשר ליצור קשר איתך? לכמה שאלות.

בדרך לישון
Guest

לא ממש- אני UNDER-GRID
תכתוב את השאלות כאן- בפוסט חדש
מבטיח לנסות לענות לכשאתעורר

בדרך לישון
Guest

דרך אגב- אני לא מתכנת בUNITY (-:
אז אם השאלות הן על UNITY הכי טוב זה לברר בפורומים באתר שלהם-
מניח שיש גם קהילה בעיברית איפושהוא
אבל בכל מקרה כדאי שתתחיל להתרגל לתקשר עם מתכנתים באנגלית
עברית ומחשבים זה לא ממש הולך טוב ביחד
אם חסרים לך מושגים- גוגל טרנסלייט…

חצי ישן
Guest

טיפ – הפורום של יוניטי הוא ידידו הטוב של המתכנת- כל שאלה שתשאל כבר נשאלה ונענתה צריך רק לדעת מה לחפש
בנוסף לכך ליוניטי יש מרקט-פלייס עצום עם כל plugin template ו Assets שתוכל לדמיין
חלקם בתשלום וחלקם חינמים

Itay
Guest

סבבה אחי, תאמת לא התכוונתי לשאול שאלות בנוגע ליוניטי אבל הבנתי. תודה.

גני
Guest

מתכנתים = פועלי בניין וירטואלים

מתכנתים
Guest

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

מומחה לקורונה
Guest

ברוח הזמנים אני ממליץ ללמוד את סביבת הפיתוח למשחקים – corona
https://coronalabs.com/product
ואל תשכחו לשתות אלכוג’ל ולהתעטף במסקינג-טייפ לפני שאתם מתחילים (-:

דור
Guest

מאמר מעולה!
ממליץ גם על https://www.w3schools.com/

wpDiscuz

תגיות לכתבה: