درسهایی از استیو جابز و اپل برای کسب و کار نرمافزار قسمت اول: تو میتوانی
نقل مطالبی از زندگینامه جابز که به تیمهای نرمافزاری کمک میکند. در ابتدا درباره راهحل صحبت میکنیم و اینکه نگاه ما به مساله چطور به حل آن کمک میکند
خواندن کتاب استیو جابز فرصت خوبی برای آشنایی با طرز فکر و رفتارهای یک کارآفرین موفق (و البته عجیب) و رفقایش است.
اپل و استیو جابز و همکارانش درسهای بسیاری برای کسب و کارهای مختلف دارند. من بخشهایی از کتاب زندگینامه استیو جابز را که به گمانم حاوی نکاتی کلیدی برای توسعهدهندگان و شرکتها و تیمهای نرمافزاری است را انتخاب کرده و در سری نوشته "درسهایی از استیو جابز و اپل برای کسب و کار نرمافزار" معرفی خواهم کرد. این اولین نوشته از این سری نوشتههاست.

تصویری از استیو جابز جوان وقتی هنوز در آغاز راه کارآفرینی بود. متاسفانه واژه کارآفرینی در ایران در چند سال اخیر، با تعبیری غلط معرفی و تبلیغ شده است.
بحثی را در توییتر در این خصوص آغاز کردم که به دلیل ضعف ذاتی توییتر در conversation (ناشی از محدودیت کاراکتر در توییتها)، ناقص ماند اما در نوشتهای در همین سایت به آن خواهم پرداخت.
تو میتوانی
داستان زیر که از فصل هشتم کتاب استیو جابز انتخاب کردم، داستانی درباره یکی از کارهای بیل اتکینسن (از مهندسین اپل) است:
یکی از شاهکارهای عالی اتکینسن (که امروز آنقدر به آن خو کردهایم که به ندرت به نظرمان میآید) امکان همپوشانی پنجرهها است، به شکلی که پنجره جلویی روی پنجره عقبی و کمی پایینتر از آن قرار بگیرد. اتکینسن قابلیت پخش کردن پنجرهها (درست مثل کاغذهای پخش و پلا روی میز) را هم به رابط کاربری افزود، طوری که با جابجایی پنجرهی جلویی هنوز میشد بخشهایی از پنجره عقبی (یا به عبارتی زیری) را دید. البته که در نمایشگر کامپیوتر، لایههای پیکسلی روی هم قرار نگرفته بودند و جا به جا نمیشدند و هنر او همین بود. شبیه سازی واقعیت خارجی. برای انجام آن، اتکینسن باید کدهای پیچیدهای مینوشت، از جمله آنچه ما نواحی (regions) مینامیم...
اتکینسن میگفت: «یک حس خوبی نسبت به جنبه رهاییبخش سادهلوح بودن دارم. حتی به ذهنم خطور نکرد که این کار غیرممکن است، برای همین هم از پسش برآمدم» او آنقدر سخت کار میکرد که یک روز صبح در اثر گیجی ناشی از خستگی، با شورلت کوروت کوبید به یک کامیون پارک شده در کنار مسیر.
توسعه نرمافزار شغلی است که در آن باید به دنبال ارائه راه حل برای مسائل باشید. راه حلی که بتوان آن را در قالب یک نرمافزار ارائه کرد. بعضی اوقات ارائه راه حل برای یک مساله غیرممکن به نظر میرسد اما شاید تغییر نگاه به راه حلباعث شود به جای ترس از غیرممکن بودن، صرفاً کارتان را انجام داده و به پایان برسانید!