30 בנובמבר 2020

איך מתקדמים מ-Junior ל-Senior ?

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

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

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

21 בנובמבר 2020

דוגמא ל-UnitTest

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

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

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

בפוסט הזה נשתמש בדוגמא פשוטה של Queue ונדבר על מספר טסטים בסיסים שכדאי לכתוב לו.

20 בנובמבר 2020

Data Structures - מבני נתונים - למה זה חשוב ?

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

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

26 ביוני 2020

מהי שיטת הפומודורו ?

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

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

אוקיי, סיימתי תואר במדמ"ח - מה עכשיו ?

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

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

25 ביוני 2020

פיתוח עם ביטחון עצמי (מבוא ל-Unit Testing)

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

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

אז, היום אני יודע שיש כלים שאמורים למנוע בדיוק את זה. 

Unit Tests הוא אחד מהם.

8 בפברואר 2020

מה זו סיבוכיות ולמה עושים מזה עניין ?

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

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

3 בינואר 2020

מה זה Git, מה ההבדל בינו ל-GitHub ולמה זה חשוב ?

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

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