Should <designers></code>? (Hebrew)

| 22 Comments

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

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

ידע בתכנות = כח

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

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

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

אגב, מילה על תכנות Native, כמעט כל הכללים של לדעת HTML / CSS לא חלים עליו. זה לא אומר שיש דברים שאפשר לעשות ב־HTML ואי־אפשר ב־Native. זה אומר שמה שנראה ממש פשוט ב־HTML יכול להסתיים בהרפתקה יקרה ולא רצויה ב־Native. אם נמשיך בגישה הזו, אז למה שמעצבים לא ילמדו גם Objective-C, Java, C Sharp ועוד כל מיני דברים מגעילים כאלה?

העולם של היום לא יכול להסתמך על סופרמנים

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

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

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

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

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

בפיתוח יש הבדל בין הבנה למימוש

אלה שני דברים שונים. בבקשה אל תבלבלו ביניהם. הבנה בטכנולוגיה ומה היא מסוגלת או לא מסוגלת לעשות אינה קשורה לידע בתכנות, וידע לא מספק בתכנות יכול לגרום ליותר נזק מאשר תועלת. אני לא אחזור על נאום ה־"קוד הגרוע". אבל אני תוהה, מישהו באמת חושב שידע ב־web components יכול לגרום למעצב לעצב טוב יותר? אולי ידע ב־MVC? אם אתם מעצבים, זה בסדר שלא הבנתם על מה דיברתי. אתם לא אמורים לדעת מה המושגים האלה אומרים. הייתי מוסיף ואומר שזה אפילו די מיותר מבחינתכם לדעת. אבל מתכנת שלא יידע, זה מתכנת שאני לא ארצה לעבוד איתו.

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

בנוסף כל מעצב צריך לדעת שפונטים ב־Illustrator ו־Photoshop לא ייראו אותו הדבר ב־Safari, ב־Chrome וב־Internet Explorer. האמת שזה משהו שגם כל מתכנת צריך לדעת ועם זאת, רובם לא יודעים.

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

דרושים נינג'ות!

אני אחלק את זה לשתי קטגוריות שונות:

  1. עצמאי
  2. שכיר

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

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

יש גם את הטיעון שגוגל ופייסבוק דורשים מכל המעצבים שלהם לדעת לתכנת:

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

אז מה אנחנו צריכים?

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

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

אגב, יש אופנה שנקראת עיצוב בדפדפן, לגבי זה נאמר: "להשתמש בתוכנות עיצוב בשביל לעצב? מה השתגעתם?!" ומי שלא הבין, זה נאמר עם הרבה ציניות על־ידי Chris Coyier שהוא אחד מהגורואים של CSS. מי אני שאתווכח איתו?

לסיכום

אני ממליץ ללמוד תכנות אבל מסיבות אחרות. תכנות זה בעיקר פילוסופיה (כן!). זו פילוסופיה שעוזרת לי בהרבה תחומים אחרים כולל עיצוב וממש לא מהידע אם אפשר או אי־אפשר לממש עיצוב. זה נובע מעקרונות שנועדו להקל על המפתח לעבוד עם הקוד של עצמו. לצער כולם, אלה דברים שבקושי תמצאו ב־HTML ו־CSS.

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

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

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

22 Comments

  1. asaf says:

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

  2. Meidad says:

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

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

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

  3. Liat says:

    מסכימה עם כל מילה!

  4. שירן says:

    נתת פרשנות נגדית מאוד טובה ויפה.

    חבל נורא שהפוסט מלא בשגיאות איות. אם תתקן יקחו אותו הרבה יותר ברצינות

    1. ori livni says:

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

  5. דוד says:

    אכן הכל נכון. רק שלמעצבי המוצר זה לא מחדש הרבה.

  6. שם says:

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

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

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

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

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

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

    1. ori livni says:

      בוא נתחיל בעניין הג'אווה סקריפט. לפני כחודשיים מוזילה הורידו מפיירפוקס את האופציה לבטל ג'אווה סקריפט בצורה נוחה (עכשיו זה רק בעזרת דגל). אחת הסיבות, כי היום, קשה מאוד ליצור אתר שלא תלוי בג'אווה סקריפט באיזה שהו אופן. אמנם אנחנו מסיכימים שזה בתחומו הבלעדי של המתכנת, אבל אז נשאלת השאלה, אם יש אפקט ויזואלי שצריך ג'אווה סקריפט בשבילו, מי אחראי? המעצב או המתכנת? עוד שאלה, עוד שניה webcomponent. יהיו חלק אינטגרלי מהפיתוח שקשה להתעלם ממנו והוא תלוי HTML, איך אתה מתכוון שהמעצב יאכל את זה? אז הוא יכתוב 2 שורות html ו־css באיזה קובץ שלא יעשו כלום ויבקש מהמתכנת להתעסק עם זה במקומו?
      בעניין History API, דווקא כתבתי שזה כן משהו שמעצב צריך לדעת. זה שזה JS לא אומר שלא מדובר בטכנולוגיה מאוד חשובה שמשפיע על העיצוב רבות ואם ראית פרוגרס באר לאחורנה ב־YouTube, אתה צריך לדעת שזו גם בעיה של המעצב. כמו שאמרתי, אני לא חושב שמעצב צריך לדעת איך לכתוב את הקוד, אבל מעצב צריך לדעת מהקיום של הטכנולוגיה הזו, השפעות שיש על העיצוב (ויש הרבה לא מעט) ויש הרבה השפעות על האפיון כשעמוד מתחלף כשחלק מהתוכן הקודם יכול עדיין להשאר. כמובן יש עוד הרבה טכנולוגיות מעניינות, נראה שאת עיקרן מוזילה דוחפים בגלל FirefoxOS.
      בעניין MVC, אוקיי, אז חרגתי קצת כאן ספציפית, אבל אני אשאל אותך האם מעצב צריך לדעת SMACSS? OOCSS? BEM? יש המון פרדיגמות לגבי CSS ואם אתה עושה אתר שהוא מעבר לעמוד נחיתה עם שני שדות, אתה חייב לכתוב CSS ו־HTML בצורה טובה, אחרת האתר אלול להיות איטי וכבד אפילו בהרבה שלא לדבר על בעיות תחזוקה.
      אגב, ציינתי רק פעם אחת את המילה "נגישות" בפוסט אולי הייתי צריך לציין אותה יותר. אבל לצפות ממעצב שבאמת ידע איך לכתוב אתר נגיש בצורה נכונה, HTML סמנטי וכו' זה בעייתי. אנחנו לא חיים בשנות ה־90' שללמוד HTML וCSS (שאני לא בטוח שעדיין היה קיים אז) זה יום. היום ללמוד את השפות האלה זה משהו מסובך וקשה. גם אני מזכיר לך שתקן כמו HTML5 הוא עדיין לא סופי! כבר תגית אחת שהיתה בכל theme מודרני של wordpress נפלה ממנו! זה עוד משהו שיש לו השלכות.
      ובכלל אתרים של היום זה לא אתרים של לפני 5 שנים, הם מורכבים פי כמה וכמה. זה לא סתם שהרבה מתכנתים שזילזלו בווב לפני כמה שנים עברו משפות כמו C++ לתכנות ווב. גם השכר עלה בהתאם.
      בעניין IE 8, נכון ליום זה, הוא מהווה 10.6% מהשוק הישראלי לפי statcounter, אני מחכה עם כולם שהוא ימות ולא מסיבות שקשורות לCSS. והאמת שגם IE10 הוא חרא, בלא מעט מיקרים הוא לא תמוך בתקנים עד הסוף או בצורה מאוד מיוחדת שאופיינית לו מאז ומעולם.
      ובעניין הביצועים, אני לא מדבר על יעילות סלקטורים, למרות שגם כאן, אתה תופתע. אני מדבר על לדעת מתי להעלות דברים להעצה הגרפית או לא ואיך זה מתבטע. מרגישים את זה בעיקר במובייל. אנימציות CSS שבנויות עם attriutes לא נכונים יכולים לגרום לreflow לעמוד וליצור חוויה איטית מאוד. תנסה לעשות parallax עם background-position, המחשב שלי כמעט קורס איתו.

      אני ממליץ לך לקרוא את המאמרים ולראות את הוידאוים מהקישורים הבאים, זה יכול אולי לשנות לך דעות לגבי CSS:
      http://code.flickr.net/2013/06/04/adventures-in-jank-busting-parallax-performance-and-the-new-flickr-home-page/
      http://www.youtube.com/watch?v=0NDyopLKE1w
      http://www.youtube.com/watch?v=eb3suf4REyI
      http://www.youtube.com/watch?v=ldx4ZFxMEeo

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

  7. Eyal says:

    רק אצלי התגובות מיושרות הפוך?

    1. ori livni says:

      לא, זה אצל כולם.

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

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

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

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

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

  9. Good post and a very interesting interpretation of Lior Yair's Post (from netcraft).

  10. קראתי את הכתבה שלך ואני ממש לא מסכים עם הרבה דברים שכתובים שם מתוך ניסיון של הלכה למעשה.

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

    מעצב היום חייב לדעת לפחות ברמה בסיסית על הפקדים שיש בדוט נט וב MVC היות ולפעמים מעצבים/חותכים משתמשים בכל מיני סקריפטים מהאינטרנט שבכלל הם נמצאים Build in בתוך ה VS וזה מיותר כי להתחבר לאותם סקריפטים מהאינטרנט בצורה דינאמית יכולים להיות עבור תכנת ללא דוקומנטציה סרט רע מאוד שיאריך את העבודה בכמה שעות. מה גם שאם מעצב יידע את הדינאמיות והפקדים היחסית פשוטים לפיתוח שקיימים ב VS הוא היה יכול לבנות דף יותר אינטרקטיבי מבלי לחשוש לזמני פיתוח או סרבול ויכול גם לבחור שיטה קיימת על פני זו שלא קיימת ולפעמים עדיפה.

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

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

    1. Liat says:

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

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

    2. ori livni says:

      היי,

      קודם כל, איפה נאמר שמתכנתים לא צריכים לדעת לתכנת? HTML סמנטי זה חלק מהתפקיד שלהם. אגב, הפוסט לא על מה מתכנתים צריכים לדעת (אף על פי שכן יש התייחסות מאוד בקטנה לגבי זה). הפוסט מדבר על מעצבים ועל השוק.
      דבר שני, את האתר הראשון שלי העלתי ב־96'. אני די מרגיש וותיק בתחום. מה שכתבתי גם נובע מניסיון הלכה למעשה.
      בנוסף, מתכנת באמת לא צריך להתעסק בעיצוב. באמת לא בקישתי ממנו. אבל לכתוב CSS נכון ולהתמודד עם Style Guide הוא צריך גם צריך. אולי מתכנתים לא אהבים את זה, אבל זה חלק מתפקידם של מתכנתי ה־Web.
      כמובן מעצב חיים לדעת לכתוב Style guide נכון. בשביל זה הוא לא צריך לדעת לכתוב שורת קוד אחת. CSS ו־HTML זה syntax. זה לא משהו שמעצבים צריכים להתעסק איתו ואין להם זמן ללמוד אותם. לדעת מה אפשר לעשות, זה משהו שמעצב כן צריך לדעת ואני חוזר על זה כמה פעמים במהלך הפוסט.
      אני רואה שאנחנו מסכימים לגבי עצם זה שמעצב צריך להכיר טכנולוגיות ומה הן עושות ושוב זה כתוב כמה פעמים במהלך הפוסט. בניגוד אליך, אני לא חושב שמעצב צריך לעדת CSS והזמן שהוא יבזבז על על לכתוב אותו ייצור עבודה כפולה ויותר מאשר מתכנת שזה המקצוע שלו. אני ממליץ לך לקרוא את התגובה שכתבתי למישהו שכינה את עצמו "שם". ממליץ אף יותר להכנס ללינקים. הם רק הקצה של תחום ה־CSS. הוא הרבה יותר גדול ומורכב. כנ"ל כמו שכבר אמרתי. למעצב אין באמת זמן ללמוד את זה והם בדרך כלל ממש איטיים בזה שאפילו השכר שיישלמו למתכנת לעשות את זה יהיה יותר זול ויחסוך הרבה בעיות נוספות.

      ולגבי פונטים, אתה פשוט לא קראת את מה שכתבתי.

  11. ליאור יאיר says:

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

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

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

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

    1. ori livni says:

      היי ליאור,

      יש להבדיל בין syntax לידע של טכנולוגיה. HTML / CSS זה syntax. אני לא רואה סיבה ללמוד אותו מעבר ל־10 דק' בשביל להגיד שזה קיים. הידע הטכנולוגי הוא כן חשוב. לכן, אני לא סתם חוזר על זה במהלך הפוסט. מה גם שהידע הטכנולוגי הנדרש לטעמי, ממש לא מסתיים ב־HTML CSS. יש הרבה מושגים שצריך להכיר, זה ממש לא אומר שצריך לדעת איך לבצע אותם בפועל או אפילו איך הם מיושמים מבחינת קוד. לצורך העניין, מעצב צריך ליצור עיצוב שחוסך HTTP Requests, זה אומר שהוא צריך ללמוד איך הפרוטוקול הזה עובד? כמובן שלא ובטח לא התחביר החסר משמעות שלו.

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

      אגב, דווקא בפרויקטים מורכבים חייבים שמתכנת יתכנת מ־א' עד ת', אחרת הפרויקט יהפוך לסיוט תחזוקה על־ידי מתכנתים ויותר גרוע למקרטע על־ידי משתמשים. אני ממליץ לצפות בקישורים לסרטונים ששמתי בתגובה ל־"שם" וגם ממליץ לחפש סרטונים של "jank busters" וכל מה ש־ilya grigorik מפרסם. גם לעשות משהו שכביכול נראה מאוד פשוט יכול להסתבר כמאוד קשה וכל אלה הם ברמה בהרבה ממה שמעצב יכול להתמודד איתם ואני עוד לא התחלתי לדבר על דברים מורכבים יותר כמו parallax ואפנות אחרות.

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

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

  12. אהלן.
    אני אנסה להסביר את שתי הסיבות שלדעתי מעצב יכול להרוויח מידיעת קוד.
    לפני זה חשוב להגיד שאני לא חושב שמישהו "חייב" לדעת משהו. מעצב גם לא חייב לדעת אילוסטרייטור. יש מעצבים שעושים הכל בפושוטופ. אחלה. מצד שני, מי שיודע יותר יש לו ייתרון.
    איך ידיעת קוד היא ייתרון בעיצוב?
    1. הבנה קונספטואלית - הבנה של איך עובד html/css יכולה לחסוך המון המון עבודה בפיתוח. מעצב שלא מבין יכול להחליט שסתם בא לו לעשות קו מעוגל נניח, מה שיחייב שימוש בתמונה, כאשר שימוש בקו ישר היה יכול לפתר בלי תמונה. זו דוגמא קטנה אבל הבנה של איך משהו נבנה יכול לעזור למעצב לתכנן באופן יעיל יותר.
    2. בניית מוקאפים בעצמך. המון פעמים הדיאלוג להסביר למפתח מה אתה בדיוק רוצה הוא מסורבל ולא טוב בכלל. בעיקר בנושא אינטראקציות ואנימציות. יכולת לממש בעצמך דברים בסיסים יכולים לחסוך לחברה המון שעות עבודה. כמובן שמפתח יקח את הרעיון שלך ויממש אותו כמו שצריך, אבל עדיין העבודה נעשה באופן טוב יותר ולשביעות רצונו של המעצב.

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

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

    1. ori livni says:

      לגבי "הבנה קונספטואלית", אני חושב שלא צריך לדעת לכתוב קוד בשביל להבין טכנולוגיה, כמו שאני לא צריך לדעת לכתוב postscript בשביל לדעת להדפיס. יש הבדל בין הידע הטכנולוגי לבין לדעת איך לממש. אני יודע שהמסך מרפרש 60hz, אני יודע שיש למסכיי LCD בעיית גהוסטינג, אני יודע שפיקסל מחולק ל־RGB, אבל אני ממש לא ידוע איך בדיוק הביטים ממומרים לצבע ומה התהליך הפיזיקלי שעובר בכל תת פיקסל ויש לי תחושה שהרבה מעצבים גם לא יודעים. אגב, לקו מעוגל אתה יכול להשתמש ב־div עם border-radius ;) וזו דוגמה מצוינת ללמה אני חושב שידע לא מספק וחוסר מיומנות בקוד יכולה להוביל בלא מעט פעמים לסתימה ביצירתיות של המעצב. להגיע למצב שכתיבת קוד באמת יכולה לעזור למעצב, זה אומר שהוא צריך לדעת לכתוב קוד טוב, אבל לדעת לכתוב באמת טוב וזו מיומנות שדורשת כמה שנים של התעסקות שחלק לא קטן מהן המעצב לא עיצב, הוא היה מתכנת.
      בעניין אנימציות, בתור מעצב־מתכנת, אני יכול להעיד שלכתוב HTML / CSS הרבה פחות נוח מלעשות סרטון הדגמה ב־AfterEffects. יש את Adobe Edge Animation. שהיא אפילו יכולה להיות יותר נוחה ופרקטית, כי היא מתבססת על מה דפדפנים יכולים לעשות (או לפחות על מה שכרום יכול לעשות). אגב, גם כאן, כשאתה אומר שהמתכנת "יעשה את זה כמו שצריך", זה אומר שיכולה להיות איטרציה מיותרת כי עבדת קשה יותר בשביל לייצא CSS שיכול להיות שצריך לשכתב כמעט את כולו (ואז גם זה נכשל במובייל). בנוסף, מה קורה כשאתה עובד על אנימציות לאפליקציית native? אז אתה לומד OBJ-C ו־Java? ברור לי שזו בעיה שאתה מתמודד איתה ביומיום.
      לגבי מוקאפים של בדיקת פונקציונאליות, כשלא מדובר על דברים פשוטים ממש. צריכים ידע בתכנות שהוא לא ברמה שאתה יכול לצפות ממעצב. בשלב כזה, רוב הסיכויים עם תעבוד עם מתכנת צמוד תהיה עבודה הרבה יותר יעילה ומהירה. כמובן כשאתה "לבד" לפעמים אין לך ברירה לדעת וגם על זה אני כתבתי בפוסט. לדברים בסיסיים, יש תוכנות אפיון שיכולות מאוד לעזור.
      לגבי פייסבוק, יכול להיות שכאן לא הייתי כל כך פיירי כי הם כן מאוד השתפרו בשנה וחצי האחרונות, אבל לאורך שנותיי בפייסבוק אני יכול להגיד שראיתי בעיקר עיצוב מעולה של black patterns, ודברים פונקציונאליים בסיסיים היו בעייתיים שם. אני זוכר אין סוף קללות על בפייסבוק על פייסבוק על איך שהוא בנוי ושלא לדבר על התקופות שהם היו משנים את כל הממשק כל שבועיים, אין דרך יותר טובה בלבלבל משתמשים וליצור כעס. היתרון של פייסבוק, לפחות כשהוא נהיה פופלארי בשיראל, זה שאין לו אלטרנטיבות רציניות וגם גוגל+ שנזכרו מאוחר מדי, עשו מספיק בשביל *לא* להיות מתחרים באף צורה.
      לזכות פייסבוק אני צריך להגיד שהם המציאו את ה־Like, אבל אני חושב שהם עדיין לא מייצגים חוויה מועצבת בין אם זה מבחינת שימושיות או בין אם זה מבחינת נראות. אני מקווה שזה ישתה לטובה בעתיד.
      לגבי שכר, בבקשה רן, אתה יכול להגיד לי מה שכר ממוצא של מעצב־אינטראקטיב ביחס לשכר ממוצע של מתכנת? אתה באמת עושה את ההשוואה הזאת? :) אני יודע למשל שחרא להיות מעצב־תעשייתי מבחינת שכר, אבל לא הייתי מתנגד להרוויח כמו Philippe Starck

      אגב, ד"ש לשיראזי.

  13. אברהם says:

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

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

    1. ליאת says:

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

  14. יאיר says:

    חלק מויכוח על הנושא בין יזמים, כתגובה לזה שקיבלתי לינק לכאן למייל:

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

    אז מה לגבי מנהל הצוות?!

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

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

    לאונרדו דה וינצ'י, למזלינו, לעולם לא היה מקשיב למאמר שאומר שצריך לדעת או לצייר או מתמטיקה. לעולם לא שתיהם. אין צורך.

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

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

Comments are closed.