פרילאנסרים: תמצאו את החתול

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

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

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

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

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

יצא לי בלא מעט מקרים להשתתף בישיבות אצל לקוחות שלי כשבמהלך הישיבה מראיינים פרילאנסר זה או אחר לתפקיד בפרויקט. נניח פיתוח, לצורך הדוגמא, וכאן מגיעה נקודה שלצערי לא מעט פרילאנסרים נופלים בה: מה הם "משדרים". אחד הדברים שהייתי צריך ללמוד (ואף אחד לא אומר לך את זה) – זה שאתה חייב "לשדר" סמכותיות, בטחון עצמי, ידע טכני, דברים כאלו, וככל שאתה לא מקרין זאת, הסיכוי שלך לקבל את העבודה (גם אם אתה סופר מקצועי בתחום!) יורד. המשתתפים פשוט "קולטים" זאת בתת מודע שלהם. בדרך כלל בישיבות כאלו יש המון שאלות ושום דבר אינו בטוח, אם ללכת על פלטפורמה X, שפת תכנות Y, כלים Z ועוד, ואם אתה לא "משדר מבפנים" את הדברים – יש סיכוי גדול שיאמרו לך "תודה" ואתה תצטרך לחפש פרויקט אחר להתפרנס ממנו. אגב, סתם לידיעה – אותו הדבר קורה גם בדייטים ראשונים (בכל הקשור ל"לשדר").

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

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

לסיכום: אתה לא חייב להיות הכי חכם בתחום שלך, או הכי גאון בתחום שלך, אבל אתה כן חייב להבין מספיק טוב ולשדר זאת לסובבים ולשדר שאתה בר-סמכא בתחום. שאנשים יחשבו שאתה "ספץ", שאתה "גאון", שאתה יכול למצוא פתרונות לבעיות ואתגרים שמציגים בפניך, ועדיף לפרסם את עצמך. אתה לא חייב לקנות מילות מפתח בגוגל או להשקיע אלפי שקלים בקידום עצמי (תאמינו לי, התקציב החודשי שלי לקידום הוא 23$ – על שרת באמזון. כרגע קיבלתי את החשבונית), וככל שאנשים קוראים עליך, הסיכוי לקבל פניות ו-לידים – יותר גבוה. מכאן והלאה – הכל תלוי בך ובמה שאתה "משדר".

בהצלחה.

פרילאנס: מחירים, בנק שעות, פרויקטים, הבטחות

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

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

  • עבודות פרויקט: חברת XYZ מעוניינת בפרויקט מעבר תשתית ל-ABC. לאחר שאקבל את המפרט, אני אוכל לדעת פחות או יותר את כמות העבודה ואוכל לתמחר את ההקמה ב-2 אפשרויות מקובלות:
    • אפשרות ראשונה היא אפשרות Fixed לפרויקט – אני אבקש נניח 1000 שקל עבור הפרויקט. בדרך הזו אני קובע את המחיר כמחיר קבוע ללא כמות שעות שאדרש על מנת להקים את הפרויקט. היתרון הוא יותר לכיוון הלקוח: הלקוח יודע שהוא יצטרך לשלם 1000 שקל ולא שקל אחד מעבר לכך. החסרון שלה הוא בכך שאם אני כפרילאנסר אצטרך להשקיע יותר שעות ממה שחשבתי מלכתחילה, אני אפסיד על הפרויקט. מחיר פר פרויקט יותר מתאים לפרויקטים גדולים כאשר המחירים נעים בין 6 ל-7 ספרות ואין אפשרות לתשלום פר שעה.
    • אפשרות שניה היא מחיר פר שעה: באפשרות זו הפרילאנסר מציין מחיר לשעה וכמות שעות מוערכת שיקח להקים את הפרויקט. אפשרות זו עוזרת להימנע מבעיות בהמשך הדרך אם צצות להם פעילויות שיש צורך לבצע שלא נלקחו בחשבון (מכיוון שהן לא היו ידועות) מכיוון שהלקוח יצטרך לשלם על שעות עבודה נוספות על דברים מעין אלו, לעומת מחיר Fixed ששם הפרילאנסר יצטרך לספוג את הפעילות הבלתי צפויה. שוב, בפרויקטים גודלים – החברה הקבלנית תצטרך במקרים רבים לספוג את הפעילות הבלתי צפויה אם היא לא העריכה זאת מראש. היתרון ללקוח בעבודה עם בנק שעות הוא שניתן להשתמש בשעות הנותרים לצרכי תמיכה או לצרכים אחרים שהוגדרו מראש ללא תשלום נוסף.
  • עבודות Pre Sale כאיש מקצוע מלווה: חברה מעוניינת לשווק לגוף גדול מוצר או שרות. לרוב אנשי ה-Pre Sale אין את הידע המקצועי הרחב שיש לפרילאנסר שנותן כבר שרות/הטמעה למוצר, ולכן במקרים רבים חברות שונות מבקשות מפרילאנסר להצטרף אליהן לפגישות עם הגופים הגדולים על מנת לשכנע את הגוף הגדול לרכוש את אותו מוצר או שרות. לעיתים הפרילאנסר יצטרך להכין Demo או מצגת או ניירות עבודה עבור אותן פגישות.
    בעבודות כאלו, מול חברות אינטגרציה גדולות (כמו Matrix) – בד"כ אפשר לסגור את הנושא בכך שהפרילאנסר ירשום את שעות העבודה ושעות הפגישות ויגיש אחת לחודש חשבונית על כך. לעומת זאת, יש לא מעט מקרים עם חברות אינטגרציה יותר קטנות המבטיחות לפרילאנסר שאם הן יצליחו למכור את המוצר/שרות – הוא יוכל להרוויח מכך כסף, כך שהוא לא ירוויח משעות הפגישה/הכנת מסמכים/Demo וכו' וכאן אני חייב להדגיש עבור חבריי הפריאלנסרים: עם הבטחות אי אפשר לקנות בסופרמרקט ולכן אני ממליץ להתעקש על תשלום שעות על הדברים הללו (תתפלאו, אישית אני שבע מרורים מהבטחות שבסוף לא התקיימו כי הגוף הגדול החליט ללכת על מוצר/שרות אחר ואני נשארתי מבלי שקיבלתי אגורה שחוקה על כל ההשקעה שלי).
  • עבודות שזמנן אינו ידוע: חברה מעוניינת שתבצע איזו עבודה, ובהמשך הדרך לבצע עבודות נוספות זהות ללקוחות החברה. גם כאן מופרחות להן הבטחות שמדובר בכמות שעות גדולה, תצטרך להתחייב לבצע את העבודה במהירות רבה, וכמובן – מחיר נמוך כאילו מדובר במאות שעות לחודש. הבעיה: לא ניתן להעריך את כמות שעות העבודה ומתי הדברים יתבצעו, מכיוון שמדובר בתלות בגורמים שונים.
    במקרים כאלו, אני ממליץ לבחור במסלול בנק שעות שהלקוח יצטרך להחליט את כמות השעות והיא תשולם ב-X תשלומים (מקדמה, תשלומים חודשיים בהתאם לפריסה שסיכמת עם הלקוח). מדוע דרך זו? מכיוון שכפרילאנסר, תצטרך במוקדם או במאוחר להתחייב לזמנים ותאריכים מסויימים עבור לקוחות אחרים והדבר האחרון שהם מעוניינים זה בפרילאנסר "מבריז" עבור לקוחות אחרים. אינך מעוניין להגיע למצב שהלקוח שהבטיח "מאות שעות" סיפק לך בחודש מסויים 4 שעות עבודה ומכיוון שהתחייבת לו, לא תוכל להתחייב לאחר ובכך להפסיד עבודות. לכן, קבעו בנק שעות, ותנו ללקוח לשבור את הראש איך להשתמש בבנק השעות, ואתם לא תגיעו למצב של פרנסה מופחתת בגלל הבטחות.
  • עבודות ריטיינר (כמות שעות חודשית שנמכרת ללקוח): הנה משהו שחשבתי שהוא מוכר ומוסכם, אולם להפתעתי התברר לי שלא כך, ולכן אסביר את הדברים החשובים בעבודות ריטיינר:
    • הלקוח קונה X שעות בחודש. ה-X שעות היא כמות מינימום. במידה והפרילאנסר עובד יותר שעות מעבר ל-X, הלקוח צריך לשלם על כמות השעות הנוספת (מומלץ לפרילאנסר להודיע ללקוח לפני סיום ניצול ה-X שעות).
    • חשוב לקבוע על מה תינתן העבודה: במסגרת החוזה, יש לציין על מה תינתן העבודה, על אלו מערכות ואלו אפליקציות. הלקוח רוצה יותר? כנסו למו"מ על מחיר. (יש כמובן פרילאנסרים שתמורת הריטיינר הם יעשו הכל, חוץ מטאטוא המשרד…).
  • שיתופי פעולה: כפרילאנסרים, ככל שתהיו יותר מפורסמים, כך תקבלו יותר ויותר פניות לשיתופי פעולה – בביצוע עבודות, במכירת מוצר או שרות וכו'. אין בכך שום דבר רע כמובן, ומה שמביא הכנסות – מבורך, אבל חשוב לזכור, כמו בעניין ה-Pre Sale: אם מבקשים מכם דברים, גבו על כך תשלום ואל תתנו לאמרות חלקלקות להוציא מכם עבודות בחינם. תזכרו שאתם עדיין צריכים לשלם למדינה מסים, שכ"ד/משכנתא, אוכל וכו' וכו'.
  • עבודות דרך צד ג': בלא מעט מקרים תקבלו הצעות עבודה דרך חברת אינטגרציה אצל לקוח שלה. גם כאן, כמו בבנק שעות, חשוב לבדוק את כמות השעות ולא להאמין להבטחות שיהיו עוד לקוחות ובהתאם לקבוע את מחירכם (החברה כמובן תוסיף מחיר תקורה כלשהי, ולכן חשוב לקבוע מה יהיה מחיר השעה שלכם) – אל תתנו מחיר של 60 שעות בחודש כמו מחיר של 200 שעות בחודש.

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

בהצלחה

על עלויות תמיכה של מוצרי קוד פתוח

עולם הקוד פתוח כיום נותן מגוון מוצרים הקשורים לתשתיות שונות, Software Defined, וירטואליזציה ועוד, ובמקרים רבים חברות רבות מעוניינות באותם מוצרי פרויקטים בקוד פתוח, ומדוע לא? לבצע Download, להתקין ולעבוד עם זה, בלי עלויות של רשיונות פר שנה, פר שרת, פר חיבור ופר השד-יודע-מה…

להלן מס' דוגמאות של מוצרים:

  • GlusterFS
  • Ceph
  • oVirt
  • OpenStack
  • ManageIQ
  • Kubernetes
  • OpenShift Origin

2 המוצרים הראשונים הם Software Defined Storage, השלישי והרביעי הם מוצרי וירטואליזציה, והמוצר החמישי הוא מוצר לניהול מקיף של תשתיות וירטואליזציה ועוד – מקומית ובענן ו-2 האחרונים הם לניהול קונטיינרים לכל המוצרים הללו נלווית עלות של 0 שקלים כלומר אתה יכול להיכנס לאתרים, להוריד ולהשתמש.

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

כל המוצרים שתיארתי לעיל דורשים ידע והתמחות במוצרים. כמובן אם מדובר בחברה גדולה עם מחלקת IT גדולה (כך שיש מישהו או 2 שיכולים להתמקצע במוצר) אז העלות עצמה היא באמת אפסית, למעט כשיש תקלות או באגים שלא כתובים בתיעוד. מנסיון בתמיכה במוצרים לעיל, אני יכול לאמר שיש לא מעט מקרים שהפתרון היחיד במקרים של תקלות ובאגים זה לפנות ל-Mailing List (או ב-IRC) ולקוות שיש מישהו מהמפתחי מוצר שיכול לסייע, ולפעמים זה יכול לקחת זמן. קרו לי מקרים שקיבלתי פתרון רק לאחר יומיים בערך וקרו לי מקרים על פרויקטים אחרים (שהתקנתי אצלי בבית) שלקח שבוע וחצי עד שקיבלתי תשובה. בשבילי בבית, יומיים או שבועיים לא ממש משנים משהו כי אלו דברים שאני לא מריץ כ"פרודקשן", אבל מה לגבי לקוח שהרים את המערכות האלו ביצור או פרודקשן? זה כבר נהיה מצב לא נעים. יש כמובן אפשרות לפנות לאחת מהחברות שמשחררת את אותו מוצר קוד פתוח כמוצר מסחרי ולרכוש שרות תמיכה חד פעמי פר שעות, אבל אפשרות זו היא לא זולה. כמה לא זולה? זה יכול להסתכם בכמה אלפי דולרים וזה יכול לעלות יותר אם מושיבים מהנדס מאותה יצרנית תוכנה על הבעיה.

לכן, בדרך כלל כשמעוניינים באחד המוצרים הנ"ל לדוגמא, יש לקחת בחשבון שאם אין בחברה ידע מעמיק על המוצר או על מערכת ההפעלה (כמו במקרים שיש רק Windows ב-90% מהתשתית ואין שם אף אחד שמבין לעומק בלינוקס) – יהיה צורך ברכישת בנק שעות תמיכה שנתי על המוצר או על הפתרון ובד"כ מדובר על כמה עשרות אלפי שקלים (בין 15K ל-40K, תלוי במוצר, תלוי אם מדובר רק בתחזוקה או בהקמה, תלוי בכמות שעות ותלוי ממי רוכשים והאם יש באמת ידע לעסק שמציע פתרון או שמדובר בעסק שחותך מחירים ולוקח מישהו מהודו כך שרוב הרווח עובר אליו ולא להודי) כך שאם אין בחברה ידע – המוצר כבר לא ממש "חינם".

מצד שני, לאלו שכן רוצים לרכוש את המוצר המסחרי ומוכנים לשלם את המחיר, מומלץ לחלק את העבודה ל-2 ואת ההקמה/הטמעה להוציא למישהו חיצוני (ולא ליצרן, כמו במקרים של רד-האט, אלא אם בא לכם לשלם כמה מאות דולרים לשעה!) ואת התמיכה אתם תקבלו במסגרת רכישת התוכנה.

נקודה נוספת וחשובה כשניגשים למו"מ לגבי בנק שעות מול מי שיתן לכם שרותי תמיכה/תחזוקה/הטמעה – תוכנות כמו שציינתי לעיל משתנות מהר מאוד, בערך פעמיים בשנה אותם פרויקטים יוצאים בגירסה חדשה, ואם לא קיימת גירסת LTS (כלומר Long Term Support) או שיש פונקציות חדשות שאתם צריכים מהגירסה שיצאה זה עתה, תצטרכו לשקול שדרוג, ובד"כ מומלץ להכניס זאת בחוזה.

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