لذت برنامه نویسی: اولین تجربه جدی من در وب به کمک django

اینم یه تجربه پراکنده دیگه!

باید بگم که من اساسا یک طراح وب نیستم و بیشتر به کارهایی که میکنم حداکثر یه ترمینال و یه مشت لاگ داره. اما واسه یکی از پروژه‌ها نیاز به نوشتن یه واسط کاربری گرافیکی داشتیم که خیلی ساده بود. حالا نوبت میرسید به انتخاب اینکه واسط کاربری چه معماری داشته باشه و از چه تکنولوژی توش استفاده بشه که  که توسط منی که تقریبا هیچ تجربه جدی نداشتم با وب نداشتم نتیجه قابل قبولی داشته باشه!

وضعیت من این بود:

  • اولا ترجیحا باید توی سیستم لینوکس ران میشد
  • دوما اینکه من یه ذره بلد بودم با bootstrap و zurb foundation کار کنم
  • سوم اینکه یه ذره بلد بودم ASP.Net، Python Django و Symfony 2 آشنا بودم

همین. انتخاب‌هایی که من واسه پروژه انجام دادم اینا بودن

  • از bootstrap استفاده کردم چون دوستانی داشتم که بلد بودن با bootstrap کار کنن پس اگه کمک لازم بود کمک دم دسته!
  • از Django استفاده کردم چون بیشتر از اون دوتای دیگه ازش استفده کرده بودم

کار با این مجموعه فریم ورک ها بسیار لذت بخش بود چون بخوبی مستند شده بودند هم بدون باگ کار میکردن. میزان کد نویسی و تمیزی کد خیلی خوب بود. چون کد کوچک و خوانا و تمیز بود. همچنین من یه جایی نیاز داشتم که AJAX استفاده کنم که اون هم با استفاده از یه فریم ورک به نام prototype.js اون رو هم بصورت خیلی خوب و قابل قبولی پیاده سازی کردم.

در مجموع تجربه جدی من در کار با این فریم‌ورک‌ها به شدت خوب و لذت بخش بود و سادگی، روانی برنامه نویسی و روانی برنامه خیلی لذت بخش بود

همین!

لذت یادگیری: استارت آپ بعد از start up engineering

اینم یه تجربه پراکنده دیگه

گفته بودم که در مورد درسهایی که در coursera  میبینم و نه میگذرونم یکم مینویسم. دلیل اینکه میگم میبینم اینه که واقعا من در جریان درس نیستم و تنها فیلم‌ها رو میبینم و اسلایدها و فایل‌های مرتبط رو یه نگاهی میندازم.

یکی از جذاب ترین درس‌هایی که گذرونم start up engineering‌ هست. این درس کلا به این اختصاص داره که اگه خواستید یه کسب و کار جدید راه‌بندازید آیا اصلا به اون میشه گفت استارت آپ یا نه؟ و اگه میشه بهتره چه روندی رو برای برپا کردنش از نقطه نظر تکنولوژی طی کنید.

بزرگترین ویژگی‌ که این درس به عنوان ویژگی استارت‌آپ میگه اینه که این ایده بایستی به شدت امکان بزرگ‌شدن داشته باشه. یعنی اینکه در مدت زمان کمی رشد خیلی بزرگی داشته باشه. اگه ایده‌ای دارید که این ویژگی رو نداره احتمالا خیلی استارت‌آپ خفنی نمیشه. مثلا اگه بگید ما یه شرکت باز میکنیم و سرورهای یونیکسی میسازیم و میفروشیم بایستی بگم که این ایده اصلا یه استارت آپ نیست. چون شما نمی‌تونید بدون اضافه کردن نیروی انسانی اون رو بزرگ کنید و در صورت نجومی بزرگ شدن بیزنستون شما نمی‌تونید اونقدرا نیروی انسانی داشته باشید. پس یادتون باشه، ایده اینه که شرکت شما بدون نیاز به خیلی زیاد شدن نیروی انسانیش باید بتونی خیلی بزرگ بشه.

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

نکته مهم دیگه‌ی این درس اینه که تا حدی هم در مورد تکنولوژی‌های مورد استفاده به شما راهنمایی میده یعنی پیشنهاد میکنه مثلا برای واسط کاربری از bootstrap استفاده کنید یا برای سمت سروی از Node.js استفاده کنید که حداقل من رو با تکنولوژی‌های بسیار خوبی آشنا کرد که احتمالا در آینده از اون‌ها استفاده خواهم کرد.

یه بخش دیگه از درس هم اختصاص داره به اینکه از نظر مدیریتی و کسب و کار شما بایستی چطوری یه کسب کار رو راه‌اندازی و مدیریت کنید. و اینکه از نظر تئوری استارت‌آپ یعنی چی. نکته‌ای هم که از این بخش تو ذهنم مونده که به نظرم مهمتر هم هست اینه که شما بایستی برای اینکه یه استارت‌آپ راه بندازیند بایستی یه آدم همه کاره باشید یعنی بتونید خودتون به عنوان مدیر استارت‌آپ باحفظ سمت نظافت‌چی، بازاریاب و برنامه‌نویس شرکت خودتون هم باشید.

امیدوارم این نوشته به درد کسی بخوره.

فعلا همین!