רק להוסיף צבע

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

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

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

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

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

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