הקדמה

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

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

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

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

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

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