יום ראשון, 26 באוגוסט 2018

348 ZipRecruiter with Yaniv Shalev

פרק 348 מארחים את יניב שליו ונדבר על חברת ZipRecruiter בה יניב עובד

  • 1:06 יניב מציג את עצמו
  • 2:18 יניב מספר על ZipRecruiter
  • 4:08 מדברים על פתיחת הסניף של ZipRecruiter בישראל
  • 5:40 רן שואל על סוג הדאטה, ואיך ZipRecruiter עושים התאמות אינטיליגנטיות, יניב מספר על פיתוח המודלים שלהם וטיוב המידע
  • 8:25 אורי מדבר על סיגנלים בשלבי הראיונות עבודה ומדגיש שאת הסיגנל החיובי מקבלים בשלב מאוד מאוחר, יניב מספר איך זה משפיע על המודל שלהם ושהם מתרכזים כרגע בהתאמה הראשונית
  • 12:15 רן שואל האם זה מוצר שניתן להשתמש בו כרגע בישראל, יניב מסביר שמבחינה עסקית הם מתרכזים כרגע באמריקה הצפונית
  • 12:38 אורי שואל האם ZipRecruiter מתבססים על מידע טקסטואלי בלבד או שיש עוד מקורות מידע, יניב עונה ומסביר איך הם מתמודדים עם ל cold start, בעיה מוכרת ב AI
  • 14:45 יניב מספר על תרבות הפיתוח ושיטת ניהול הפרויקטים היחודית ב ZipRecruiter
  • 17:42 יניב מספר על מערכת A\B Test פנימית שהם בנו
  • 20:22 דוגמא לאיך ZipRecruiter מכניסים שירותים חדשים בצורה אינקרמנטלית
  • 22:44 מדברים על ההשפעה של שיטת ניהול הפרוייקטים על המבנה הניהולי של ZipRecruiter
  • 25:12 רן שואל האם הגישה עובדת גם בצוותי תשתיות
  • 28:30 איך מעבירים ארגון לעבוד עם כלים חדשים וסביבה סקיילבילית
  • 32:25 היה חשש ב ZipRecruiter שבגלל שהצוותים אוטונומים, במעבר יווצרו פערי מידע בין הצוותים והתוצאה הסופית תהיה פחות טובה מהמצב הקיים
  • 34:00 יניב מספר על הגישה בה נקטו להפרדת האפליקציה מהתשתית עליה היא רצה
  • 37:00 רן שואל האם הצוותים ביצעו את המעבר בעצמם
  • 38:35 מדברים על מבנה הצוותים ב ZipRecruiter והיתרונות בצוותים בין יבשתיים

הקובץ נמצא כאן, האזנה נעימה ותודה רבה לדניאל שלו על התמלול

יום חמישי, 23 באוגוסט 2018

347 Bumpers 50

רן, אלון, ודותן בפרק מספר 50 (!) של באמפרס.

רגע לפני - כנס רברסים 2018 מתקרב: 8-9 באוקטובר, אוניברסיטת תל אביב. האג’נדה כבר ידועה. בואו.

  • פרויקט של המאזין דב אמיר - Awesome Design Patterns. מימוש של Design Patterns בשפות שונות ועוד כל מיני מסביב, כבר עם מעל 7600 כוכבים ב GitHub.
  • השפה Fo - כמו Go רק עם עוד כמה פיצ’רים פונקציונליים כמו Generics - מבני נתונים ופונקציות גנריים. ולא - זו לא פארודיה, זה ניסוי שאפילו נראה די עובד.
  • ג’ון רסיג (John Resig) - היוצר של jQuery (עכשיו ב Khan Academy) תומך ב-GraphQL (כמחליף של REST) ועתיד לפרסם ספר בנושא, שהפרקים הראשונים ממנו כבר זמינים. אפשר לקרוא גם בבלוג שלו.
  • תמיכה ב-SQS ב AWS Lmdba - עד עכשיו הייתה תמיכה באיוונטים מהמון מקורות, עכשיו גם SQS. אחד משדרי הפודקאסט (“א”) כבר משתמש ב-Production - עובד, אבל עדיין אין תמיכה ב- FIFO (פיצ’ר חדש יחסית).
    •  אם זה חשוב לכם אז אפשר לנסות את Kinesis, אם כי זה לא בדיוק אותו הדבר.
  • שמעתם על DevOps? או על הקונספט של Cloud Native? תהיתם מה ההבדל? הנה מצגת שמציגה את ההבדל (לדעת כותב המצגת)
    • בגדול DevOps עוסק ב- CALMS בעוד Cloud Native מתרכז סביב תת-קבוצה של זה - Automation-Lean-Measurements (מאפשר ל- DevOps). 
  • החדשות המרעישות של השבוע - פייתון! גוידו ואן-רוסום (Guido van Rossum), מייסד השפה, הודיע שהוא מפסיק (אייטם אחד פחות לפרק 1 באפריל הבא). 
    • I'll still be here, but I'm trying to let you all figure something out for yourselves. I'm tired, and need a very long break.
    • אובדן אמון? מאבקי ירושה? משחקי הכס? שובו של פייתון 2? יהיה מעניין - פייתון 3 כיום בפריסה, פייתון 2 עם EOL ב-2019.
  • פרויקט Chromeless - להריץ Headless Chrome על AWS Lambda. אפשר להפעיל מכל מקום בלי להתעסק עם כלום - יש דמו (על Netlify).
  • פונקציית Sort שעובדת רק כשתמסתכלים עליה. זה עדיין לא החלק של הבדיחות - השתמשו כאן בספרייה מאוד נחמדה שנקראת Tracking.js, שמאפשרת המון דברים שקשורים לזיהוי תמונות ועוד.
  • פוסט מעניין שמרכז את 11 ספריות ה-JavaScript שאתם צריכים להכיר ב-2018 -  שווה לעבור.
  • דוח מצב - קצת סדר ב-React Native. בעיקר ענייני ביצועים (Performance). כל העניין מרגיש קצת תקוע, אולי מעט לחץ.
  • שפת תכנות בשם Crystal - ביצועים מאוד גבוהים, תחביר כיפי, שווה לנסות (הנה מישהו שמסביר למה זו השפה הבאה שלו). שווה לשים לב ל -Command Line Apps, מרגיש כמו שילוב בין Go לבין Ruby, הבנצ’מרקים נראים מאוד מעניינים.
  • יצא Node.js v10.5.0 -  תמיכה ב-Multi-threading. עדיין ניסיוני (--experimental-worker flag)
  • סלאק היה למטה לכמה שעות טובות, ללא Post-Mortem עדיין (לא מתאים לכזה סדר גודל). משהו כמו 3-4 שעות, כולל כמה הודעות שווא על חזל”ש עד שחזר באמת. אנשים ניסו להיזכר איך לכתוב מייל.
  • רוצים להיזכר במבני נתונים? סוג של קורס 101 ב  Data Structure Zoo - זמני חיפוש, מיון וכל מה שרציתם לדעת ו(נגיד ש)שכחתם.
  • פרויקט MicroPython - מצלמה עם בקר וכל מיני התקנים שמחוברים אליו. אפשר להריץ כל פעם פקודה ולראות מה קורה. מוזמנים לשחק - משעשע ומלמד.
  • קצת שינויים ב VS Code - יש תמיכה ב - Grid layout. אפשר לפצל את המסך בכמה אופנים.
    • וגם gitlens - מאפשר לראות בכל שורה הרבה פרטים על ההערות, מי ולמה - מומלץ בחום.
  • פריצה ל - eslint, פרויקט שמורץ ע”י הרבה ספריות. 

  • תוסף חדש ל-GraphQL, עבור VSCode, של Prisma.io
    • קבוצה שנקראה בעבר GraphCool - עשו שינוי כיוון לכלים למפתחים תחת GraphQL.
  • פרויקט GraphQL stack - מאפשר לבחון את כל הרבדים של המשמעות של “לאמץ GraphQL”, לתכנן מראש ולהבין את האפשרויות.
  • לועדה (TC39) שמתכננת את עתיד של Javascript נוספה הצעה לשיפור בשם Slice notion - בדומה לפייתון ול-Go. כולל נקודת התחלה, גודל הקפיצה ועוד. 
    • אפשר לעקוב אחרי תהליך האישור, ואם וכאשר - להשתמש ב-Reference ולהתחיל לשחק עם זה (אין קומפיילר שצריך לשנות).
    • אם יאושר, סביר שמתישהו יופיע גם ב-TypeScript.
  • תיאור של מעבר מ-Node.js ל-Go, בהתייחסות ל-GraphQL
    • אמ;לק - 
      • מצאו את עצמם עם קוד שאינו Type-safe, לא מצאו את הידיים ואת הרגליים.
      • ברגע שעברו, ראו שיפור משמעותי בביצועים וצריכת זכרון (x8)
    • באופן כללי - יש קושי בספריות של Go ל-GraphQL
  • אחד הכלים היצירתיים של הזמן האחרון - MDX: בעצם JSX עם Markdown
    • כעקרון Markdown כבר תומך ב-HTML, אבל אף אחד לא חיבר את זה קודם.
    • ההבדל מ-React Markdown - אפשר להשתמש ברכיבים שלך מתוך הקוד (בתיעוד למשל)
    • בין הכותבים יש שני נציגים מ-ZEIT - נראה כמו צוות מאוד מרשים של מפתחים, ומוצר מאוד מעניין.
  • בהמשך ל- React 16.4 - יש כאן פוסט על פרופיילר (Unstable עדיין) נסתר יחסית.
    • בשורה התחתונה - זה כנראה מיועד עבור React א-סינכרוני. כרגע לא דחוף, אבל שווה לדעת שזה קיים.
  • טרנד  חדש - React Headless Components (בונים חלק של React ועוצרים ב-UI).
    • דוגמא לספרייה של Paypal בשם DownShift.
    • מאפשר גמישות שימוש ברכיבים השונים בפונקציה בהתאם לצורך בפועל.
    • שווה לשים לב האם תוספת הסיבוכיות בפיתוח שווה את זה (על פני ליצור פשוט שני מצבים).
  • ספרייה חדשה בשם Requests-html של Kenneth Reitz - המשך ל-Requests (גם שלו).
    • אם השתמשתם קודם ב-BeautifulSoup - כנראה שגם הוא, אבל שווה לעקוב.
  • אייטם יותר מרעיש - פייסבוק הכריזו על עוד פרויקט שהם פותחים כקוד פתוח - XAR
    • המטרה היא ליצור יחידות הרצאה עצמאיות (self-contained exes)
    • מהיר יותר מ-PEX, ואפילו מ-Shiv (של לינקדאין).
    • שטח הבעיה - למשל אם רוצים לפרוס ללא שימוש ב-Docker (לדוגמא - במקרה ויש בעיה עם גודל של Image שלא לצורך).
  • פרויקט 1-liners - מעבר ליכולת לעשות משהו מגניב בשורה אחת, זה גורם לחשוב. מפורק יפה (כולל קוד בצורה נוחה), שימושי לכל מי שמתעניין בתכנות פונקציונאלי (functional programming).
  • תחת פרויקט Compositor יש כמה תתי-פרויקטים, ואחד מהם הוא kit - כלי שמאפשר ליצור ויזואליזציה של React (ולהציג את מה שבנית) - 
    • אם נכנסים לעומק, רואים שמאחורי זה יש כלי בשם styleguidist - כמו Storybook, מוכוון UI.
    • בשני המקרים רוצים לתאר מעיין ספרייה סטנדרטית (“רשמית”) של רכיבי ה-UI, על פניו Storybook מוכוון מפתחים ו-styleguidist מוכוון אנשי Product ומעצבים.
  • ספרייה חדשה בשם React native reanimated - יש כבר כמה כאלה, זו יותר אמביציוזית, ללא תחרות מבחינת ביצועים. מבחינת API די דומה לקיים.
    • מסוג הדברים שנוטים לעבוד טוב ב-iOS ופחות באנדרואיד, שווה לשים לב.
  • וידאו - בניית Containers from scratch. שיחה חיה, ובנייה תוך כדי.
  • חזרה לבייסיק - בסיס הפילוסופיה של Unix. שווה ומאפשר הבנה יותר עמוקה של מה שנבנה על זה.
  • אתר שנקרא [docopt] - חיבור בין מסכי העזרה ל-CLI. שנוי במחלוקת אבל מאוד אפקטיבי.
  • פרויקט בית חכם - home-assistant.io. הכל על בסיס קוד פתוח. בישראל אין (זמין) את כל מה שיש בארה”ב, ועדיין הפעם זה נראה כמו ניסיון טוב - כתוב בפייתון, יש אפליציית מובייל, שווה לנסות אם יש לכם את הזמן.  יש מצב שיהפוך למסחרי באיזשהו שלב.
  • בלומברג (פיננסים, מדיה, תוכנה, הכל) פותחים בחינם את קורסי ההכשרה שלהם ל-Machine Learning. המון חומר, נראה מדהים.
  • פרויקט GitHub בשם machine-learning-template - מגיע מתוך ספר (מומלץ) בשם Hands-On Machine Learning with Scikit-Learn and TensorFlow. מאוד פרגמטי, לא רק תיאוריה ומתימטיקה.

בדיחות למתכנתים - 
  • בלוג נחמד בשם AIweirdness.com של Janelle Shane - אלגוריתמים של AI ושל Machine Learning טועים בצורה מצחיקה (“ממה מורכב הפוני? - 90% מתכת”, וכאלה). או נכשלים בכוונה במבחן טיורינג, תלוי איך מסתכלים על זה.
  • בלוג - The Saddest Moment, על סבילות לנפילות (fault tolerance) של אלגוריתמים מבוזרים. כתוב באופן הומוריסטי ומתאר דוגמאות נאיביות שלא מחזיקות במבחן המציאות.
  • ועוד שטויות של AI - תמונה של שני אנשים עם חליפות סקי על רקע עצים. מה יכול להשתבש? יצא מאוד יפה. יש עוד כאלה בבלוג שמוזכר באייטם הקודם.

וגם לסיום - כנס רברסים 2018 מתקרב: 8-9 באוקטובר, אוניברסיטת תל אביב. האג’נדה כבר ידועה. בואו.

הקובץ נמצא כאן, האזנה נעימה ותודה רבה לעופר פורר על התמלול

יום שלישי, 21 באוגוסט 2018

346 Transparency @ Monday.com

פודקאסט מספר 346 - אורי ורן מארחים את רן דוידוביץ’ לשיחה על שקיפות בימי שני (Transparency @ Monday.com). וגם בשאר הימים.

  • רגע לפני - כנס רברסים 2018 מתקרב: 8-9 באוקטובר, אוניברסיטת תל אביב. בואו.
  • רן - בן 38, אב לחמישה - ומנהל קבוצת BigBrain ב-Monday מאז מרץ 2018.
  • מונדיי (Monday) נבנתה סביב הרעיון של מתן פתרון לקבוצה של אנשים עם מטרה משותפת שרוצים לעבוד יחד באופן שקוף.
    • ייחודיות - פתרון מאוד גמיש,  כש-70% מהקבוצות אינן בהכרח באורייטזציה טכנולוגיות. יש גם כאלה (כולל Outbrain), אבל גם סתם קבוצות, כנסיות, וה- To Do list של אורי).
  • קבוצת BigBrain בתוך Monday - לקחת כל מחלקה בארגון ולהריץ אותה ב x10 - בעזרת נתונים. הכל אינטגרטיבי ונעשה באמצעות כלים פנימיים, הכל חשוף למשתמשים.
    • 10 אנשים - $4M בחודש על שיווק.
    • למה פתרונות דומים ל Salesforce או Analytics בכלים פנימיים? כשרן הגיע זה היה הפוך, אבל הסיבוכיות של האיטגרציות והסנכרון עבור כלים חיצוניים הופכת את זה להגיוני. 
      • אורי - לפעמים זה גם עולה יותר מהרשיון עצמו.
    • המוצר כולל המון חלקים, כולל למשל ניהול של כל גוף המכירות (ניהול הלידים ותחזיות המרה - Conversion).
      • המון רמזים לד.נ.א. של Wix (שמונדיי התחילה כפרויקט בתוכה, ואז כ-daPulse).
    • דוגמאות - מספרי Sign-Ups ונתוני המרה (Conversion), כולל גרף תחזית עבור 35 ימים קדימה על סמך נתונים יומיים.
      • מדהים לראות מה זה עושה לחברה כשמידע כזה הופך זמין - ההשפעה של מה שעשיתי היום על חודש קדימה, וכמות השאלות החדשות שזה מעורר.
  • שינוי תרבותי - אנחנו רוצים שכולם יהיו (וירצו להיות) חשופים לנתונים האלה, וזה חלק מהד.נ.א. של החברה. הכל שקוף לכולם, כולל בורדים מאוד בכירים (בורד - Board - לוח עם משימות, לא Board of Directors של מונדיי…).
  • אורי - דמוקרטיזציה של דאטה ב-Airbnb, מצביעים של שיפור ביצועים משמעותי.
    • ב-Outbrain הגישה מעט שונה - כיוון שגוף Engineering לא בונה דברים סתם אלא במטרה לייצר אימפקט על המצב העסקי, זה כולל KPI ו-Dashboards עבורם. אם זה ימתין לצוות BI שיבנה את זה - זה לא יקרה בזמן סביר. מהנדסים צריכים לדעת SQL, אז פתחנו להם גישה למידע והם יכולים (ומצופה מהם) לבנות Dashboard בעצמם.
  • בסופו של דבר, BigBrain זה רעיון, ואוסף של כלים לדמוקרטיזציה של מידע שפתוחים לכולם, וכולם רואים את ההשפעה של מה שהם עושים. צוות BigBrain מאפשר את זה ואחראי למהימנות המידע. 
    • אורי - זה בעצם Data-driven efficiency team. על צוותים שאחראים ל-Single Source of Truth יש המון אחריות.
      • הקבלה ל-Outbrain - גופי ה-BI וה-BA הולכים ומשתלבים עם גופי ה-Operations לגוף אחד שמטרתו יעילות מבוססת נתונים (Data driven).
  • רן - מה לגבי מידע על תהליכי גיוס? המודל על פניו נראה מאוד דומה. עוד לא קורה ב-Monday אבל בהחלט כיוון אפשרי, לפחות על השלבים הראשונים של ה-Funnel.
    • אורי - ב-Outbrain נוסף מודול עבור מערכת ה-HR, עוד אין מספיק מידע; כן יודעים ש-71% ממקור של חבר-מביא-חבר; ב-Monday זה סביב ה-60%. מעניין לחשוב מה הם ה -30-40% אחרים (?Diversity)
  • אני רוצה להתחיל Data Democratization אצלי בחברה - מהם הצעדים הראשונים? רן מציע לדלג על שלב ה”גישה למפתחים ל-SQL”, ולנסות כלי כמו MetaBase - התקנה של 5 דקות וקוניגורציה של יומיים, והכל הופך נגיש לכולם, וזה ויראלי. מאפשר גם לבחון עד כמה שארגון בשל למהלך כזה. מוצר מאוד מומלץ.
    • בשלב הבא (כשהדרישה עוברת את מה ש MetaBase יכול לתת מבחינת עומסים ויכולות ניתוח), צריך Dashboard מרכזי שמאפשר ניתוח על כלל המידע בארגון. אנחנו עדיין בתהליך (המלצה על Looker).
    • אורי ממליץ על Redash - מאוד אינטואיטיבי, פותח את העיניים. “למה הקמפיין שלי לא עובד?” עכשיו יש נתונים ב-95% מהמקרים. מקרה דומה ב-Monday.
    • שווה למדוד retention פנימי (כמה מהפניות אפשר לפתור עצמאית וכמה אכן לא חוזרות).
    • כלים פנימיים משנים חברה - צריך להקדיש לזה משאבים, אחרת הכל הולך על כלים חיצוניים והכלי הפנימי נותר ללא שינוי במשך שנים.
    • עוד חברות בכיוון הזה? המון סטארטאפים, כולם רוצים. דוגמא גדולה אחרת היא Netflix.
  • למה פותחים את המידע? בחברות גדולות השאלה עולה יותר, והשאלה המקבילה צריכה להיות “למה לא?” האם הסיכון (רגולטורי או אחר) הוא אמיתי? זה חוזר למקום של האם אתה סומך על העובדים שלך? אתה סומך עליהם בדברים הרבה יותר גדולים, וכאן זה עוזר להם לעבוד. צריך להגדיר היטב מה צריך להיות סגור, וכל השאר צריך להיות פתוח.
    • אפשר להעביר נתונים תהליך של Anonymization ואז ניתן להשתמש יותר בקלות. מי אמר GDPR?
  • בנושא אחר - יוזמת Startup for Startup: יוזמה של Monday לתת טיפים על בעיות שאנחנו רואים שחוזרות מסביב, מזמינים חברות ונותנים פידבק.
    • השיחה בעברית, הבלוג באנגלית- שימושי גם לחברות לא ישראליות / עובדים לא דוברי עברית.
  • מילות סיכום - יש הרבה חשש משקיפות של מידע, ולפעמים מצאנו את עצמו צריכים להסביר למה לא. לדעתנו אי אפשר בלי זה. 

הקובץ נמצא כאן, האזנה נעימה ותודה רבה לעופר פורר על התמלול