השילוב של חיפוש משרת QA ושהות אינטנסיבית באתר LinkedIn מבליטים לי באגים באתר. אחד מהם הוא הצגת מקום לא נכון של משרות.
כמחפש עבודה, אני יכול לבחור את המיקום של המשרות שעליהן אקבל התראות, אבל כבר פעמיים קיבלתי מיקומים מוזרים. בפעם הראשונה זה היה מצחיק אבל בפעם השניה הבאג הפך להיות מעניין.
המשרה השגויה הראשונה שקיבלתי היא מסאלם, אילינוי. לינקדאין הציג אותה כאילו היא מירושלים, ישראל. סאלם? ג'רוזלם? שם דומה.
גם המשרה השגויה השניה שקיבלתי היתה מירושלים, ישראל. הפעם, עבור משרה בבית חולים Mt. Zion באילינוי.
בעבודה הקודמת שלי עסקתי בבדיקות איכות של תוכנות לעיבוד טקסט מלא. אחד מתפקידי התוכנה היה לזהות באופן אוטומטי, על פי טקסטים ורמזים בטקסט, את המקומות המוזכרים בהודעה לעיתונות או בכתבות בעיתונות. מאד לא פשוט להגיע למאה אחוז הצלחה. תחשבו על נסיון למקם ידיעה על מקום בשם Victoria. אתם יודעים כמה מקומות יש בעולם שנקראים Voctoria? קחו לינק לוויקיפדיה ותספרו.
הבאגים בלינקדאין גרמו לי לחשוב שהאתר מנסה "לנחש" את מיקומי המשרות ובמקרים האלה הוא ניחש לא נכון. לדוגמא, הוא ניחש שהר ציון נמצא בירושלים. הגיוני לחלוטין.
אבל רגע, בפרסום משרה לא מתבקשים לציין מיקום? למה התוכנה צריכה לנחש?
התחלתי תהליך פרסום משרה וגיליתי שאכן, צריך לציין מיקום – לישראל וגם לארה"ב.
מה קורה פה? למה האתר צריך לנחש מידע שחובה להכניס?
אה! אולי יש API?
אכן, יש API לפרסום משרות.
ברשימת השדות אפשר לראות ש-שדה המדינה הוא חובה.
ברור שבהקלדה ידנית אי אפשר להכניס מדינה לא נכונה, אבל איך אני יכול להיות בטוח שהמשרות פורסמו על ידי API ?
ביצעתי חיפוש כדי למצוא רמזים ומצאתי. רואים שהמשרות פורסמו על ידי אתרים חיצוניים.
מסקנות מהחקירה
המחשבה שהתוכנה ניחשה "ירושלים" בגלל "הר ציון" או בגלל Salem היתה נחמדה, אבל רמזים שהובילו למסקנה שגויה.
מתכנני ה API של לינקדאין ביצעו שתי שגיאות.
שגיאה ראשונה – מבנה המידע הגיאוגרפי לא כולל היררכיה של מדינה > חלוקת משנה, מה שנקרא Administrative division.
אתרים שמפרסמים בלינקדאין לא יודעים שהם צריכים לציין שהמשרה בארה"ב (US) אלא מפרסמים שהיא במדינת אילינוי (IL) יחד עם מיקוד.
שגיאה שניה – לינקדאין לא מבצעת "בדיקות שפיות" על המידע המתקבל מה API, דבר הפוגע באיכות המידע ובאיכות השירות שהם נותנים.
כדי לוודא שלא עליתי במקרה על באג ייחודי לישראל, בדקתי עוד חיפושים שבהם יש התאמה בין אותיות המדינה בארה"ב ומדינות מחוץ לארה"ב. מצאתי עוד משרות עם אותן בעיות. חצי ממספר המדינות בארה"ב חולקות אותיות עם מדינות מחוץ לארה"ב.
האם לינקדאין צריכים לתקן את הבאג הגיאוגרפי של משרות המתפרסמות על ידי API? ראשית, הם צריכים לדעת שיש בעיה, ולא בטוח שיש דרך להגיע אליהם כדי להודיע עליה. שנית, הם צריכים לבחון האם הנזק מאי טיפול בבעיה גדול יותר מעלות הטיפול בה. זה כבר מידע עסקי שנמצא אצלם. שינוי API הוא עניין רציני ומסוכן. "בדיקת שפיות" של מידע גיאוגרפי רק על פי טקסט היא לא פשוטה. אני הייתי בודק אפשרות של זיהוי מיקום התוכנה המפרסמת על ידי IP, בודק עוד רמזים בטקסט ומתקן את המידע לפני פרסומו.
לא אמור להיות שדה נפרד עבור state ושדה עבור country?
מזכיר לי את העיירה המפורסמת, London, Canada.
שמתי לב לבעיה הזו די מזמן ופשוט הנחתי שהם שואבים חלק מהמשרות מאתרים אחרים באופן אוטומטי על מנת להפוך את מנוע חיפוש העבודות של לינקדאין לרלוונטי יותר למשתמשים.
בכל מקרה, בעיות מהסוג הזה תמיד תהיינה, כל עוד המידע לא מגיע ממקור אחד שמופקח בקפידה. צריך למצוא את האיזון בין דקדקנות באפשרות הכנסת המידע שמובילה למיעוט מידע לבין פתיחות יתרה ויבוא מידע ממקורות שונים שעשויים להקשות על חיפוש המידע. מצד אחד אתה רוצה לקבל הרבה משרות, מצד שני, אתה לא רוצה לקבל אלפי משרות לא רלוונטיות.
למזלך אתה לא מחפש משרות מעצב (designer) או אדריכל (architectet) וצריך לנפות ים של משרות מחשבים לא קשורות לחלוטין.
לא. יש להם שדה Country ולמדינות מסויימות שדה ה Postal Code הוא חובה כדי לאפשר מיקום מדוייק. ארה"ב היא אחת המדינות שבהן זה הוא שדה חובה אבל אם הערך בשדה ה Country הוא לא בארה"ב, אין לתוכנה אפשרות לדעת שהיא צריכה לאכוף את הכלל. ראה במסמך השדות של ה API