האם מעצבים צריכים לדעת לתכנת?

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

צלם : renjith krishnan

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

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

אז למה לא בעצם? מה מונע ממעצבים לתכנת (וכמובן ממתכנתים לעצב)

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

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

העולם אינו עומד מלכת

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

האבולוציה של עולם העיצוב

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

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

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

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

איך נגשר על פער התפישה בין עולם העיצוב ועולם התכנות?

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

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

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

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

אסטטיקה, הרמוניה ויופי

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

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

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

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

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

מה אתם חושבים?

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

Avatar

זהר ארד

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

הגב

12 תגובות על "האם מעצבים צריכים לדעת לתכנת?"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

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

סידור לפי:   חדש | ישן | הכי מדורגים
מור
Guest

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

זהר ארד
Guest

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


רן בר-זיק
Guest
מאמר יפה מאד. בכל המקומות שבהם עבדתי יש פער עצום ולעתים גם עוינות בין המעצבים למתכנתים. מצד המעצבים, המתכנתים תמיד אומרים ‘אי אפשר’ ונותנים לוחות זמנים בלתי הגיוניים לפיצ’רים שעל פניהם נראים גדולים ובעוד שהמתכנתים כועסים על המעצבים בכך שהם לא נותנים מספיק Layouts מתאימים לרשת ומשתמשים באלמנטים ואפקטים שקשים לשחזור (היום עם CSS3 דווקא קל לעשות דברים שפעם דרשו המון זמן). דוגמא טובה לפער הזה שאני תמיד נותן היא בפרויקט שעשיתי כחבר צוות מן המניין. באמצע ה-Crunch time, בשיא הלחץ, עשינו Sanity אחרון למוצר שעבר בהצלחה. מנהל הפרויקט ומנהל הפיתוח בדקו עם כל איש QA שהחלק שעליו הוא היה… Read more »
idlethought
Guest

קודם שמתכנתים יידעו לתכנת ושמעצבים יידעו לעצב

Abe
Guest
זוהר, כל הכבוד על המאמר, אין ספק שפרסמת מאמר מעניין וטוב בדיוק בזמן הכי מתאים (לדעתי לפחות חחח). נתחיל דווקא מהסוף, מהסיכום שלך… אין ספק שהחסם העיקרי הוא הפחד מהשונה, מהתחום החדש הזה שמעולם לא העזת לגעת בו או להכנס אליו. אז כמעצב אני חייב להגיד לך שכל פעם שאני נתקל במתכנת עם תפיסה כמו שלך אני מתרשם כל פעם מחדש ולטובה. למרות שאני רק באמצע שנות העשרים לחיי יצא לי להיות מספר פעמים בחיי Designer Manager, ארכיטקט GUI והאיש שאחראי גם על חוויית המשתמש. הפעם הראשונה שנכנסתי לתוך “גוב האריות” (צבא של תוכניתנים) כמעצב לא חמוש וסקרן הייתה בצה”ל… Read more »
רן בר-זיק
Guest

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

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

Abe
Guest
תודה רבה רן! “מעט הרחבה”? חחח אתה בטוח? גם ככה בסוף גיליתי שכתבתי יותר מדי… וכן, רוב המעצבים בארץ מקטינים ראש, אבל אין מה לעשות, לעשות מעבר לזה הם יודעים שזה מאמץ וזמן שהם לא יקבלו על זה שום תמורה… אם נקח לדוגמא מפתח בתחילת דרכו שעושה 15000-20000 ש”ח בחודש, אז מעצב בתחילת דרכו בקושי מגרד את ה5000 ש”ח, שזה ביזיון ועלבון שאין כמותו, אז מדוע שאדם כזה יגדיל ראש? הוא גם ככה שבוז מזה שהוא למד באיזה מוסד שנתן לו את התואר ו”עזר” לו למצוא עבודה אבל התמורה הכספית לא מעודדת בעיקר, במיוחד לאחר הוצאות הלימוד. גם לאחר כמה… Read more »
אורן
Guest

בתור מתכנת iOS מזה שנתיים
אני יכול להגיד שהיחס והתשלום שמעצבים טובים מקבלים בארץ הוא פשוט מצחיק
לדעתי הבעיה בארץ היא שלא נותנים מספיק משקל וכבוד לעיצוב וממשק
זה נובע לדעתי מכמה סיבות
1. במדינה שלנו יפה ואסתטי לעיתים קרובות מקבל את הלייבל ‘פלצני’ ‘מתיימר’ וכו’
‘הרי זה עובד לא?’ שמעתי כל כך הרבה פעמים.
2. עיצוב נתפס כמשהוא שאפשר לעשות אחרי שמסיימים לפתח וזה עוד מטלה מעצבנת שצריך לגמור איתה.

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

FlashAvi
Guest
מסכים 100% , בארץ מעצבים נתפסים כמשהו רדוד ונחות יותר לצערנו הרב, בעוד שבארה”ב ובאירופה כבר מזמן ברור לכל שלא משנה כמה האפליקציה שלך גאונית, בלי ממשק ועיצוב שהושקעו בו מאמצים, לוגיקה ותכנון נכון זה פשוט לא ימכר. רק חבל שבארץ המקצוע הזה לא ממש משרת את בעליו, בעידן שבו מעצב עושה תהליך פיתוח לכל דבר ונכנס אל תוך הקוד אין הצדקה לזה שהתמורה שהוא יקבל על זה תביש את בעל המקצוע, אחרי זה מתפלאים למה בארץ אין מעצבים שגם מתכנתים, מי שטוב בזה ויש לו עתיד בורח לחו”ל כמו כל בעל מקצוע אחר שמבין שמעבר לים מכבדים את הידע… Read more »
אבישי
Guest

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

דניאל שטרנליכט
Guest

מאמר מעולה!

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

אמיר דגן - פתרונות תוכנה מבוססי WEB
Guest

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

wpDiscuz

תגיות לכתבה: