יום שישי עצבני

יום השישי, ויכולו השמיים והארץ מכל מלאכתם, וישבות... אם אלוהים היה צריך לעבוד ביום שישי אז מה אני אגיד? אני שונא לעבוד בימי שישי.

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

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

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

יותר מזל משכל

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

יותר מזל משכל

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

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

ספגטי לכוח חילוץ

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

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

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



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

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

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

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

האם מערכות קוד פתוח הן באמת בחינם

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

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

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

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

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

מדריך הטרמפיסט לאינטרנט

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

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

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

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


תעשו כיף, יובל.

מי נגד מי ומה קורה פה?

טוב... הרי חייבים להתחיל ממשהו.

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

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

אין לי כוונה להגביל את עצמי.

למקומות, היכון, צא!