داستان شرکت بهین و GIS با پایتون

چی شد که ما از پایتون در شرکتمون استفاده کردیم؟

می شود گفت تیم فنی شرکت بهین به دو دسته افراد تقسیم می شود.

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

پیشنهاد پایتون توسط نقشه برداری ها

زمستان سال 1396 بود که یکی از این بچه های نقشه برداری، پیشنهاد داد در برنامه نویسی GIS و پیاده سازی پروژه های GIS و سامانه های مکان محور، به سمت زبان های برنامه نویسی جدید، نظیر پایتون برویم.

پیشنهادش در تیم رای نیاورده بود. از آنجایی که خودم روزگاری مدیر فنی بوده ام، هنوز به مباحث فنی علاقمندم و از مدیر فنی شرکت می خواهم که در جلساتی که با من دارد، موارد فنی را با جزئیات بیان کند. هنوز هم بخشی از زمانم را در هفته روی مطالعه موارد فنی GIS و دنیای نرم افزار صرف می کنم. در برگزاری دوره های سازمانی GIS که در سازمان های دولتی و شرکت ها برگزار می کنیم، تلاش می کنم در هر دوره، سهمی هم برای تدریس خودم در نظر بگیرم.  خلاصه در گزارشی که مدیر فنی شرکت به من داد، بیان کرد که در تیم تولید، بحث رفتن به سمت زبان Python مطرح شد، که به دلیل مختلف رای نیاورد. بیش تر بحثش (از دیدگاه یک مهندس نرم افزار) این بود که زبان پایتون هنوز به بلوغ نرسیده (این بحث مربوط به سال 96 بود) و در توسعه سامانه ها دست و پای ما را می بندد، به خصوص این که ما کار برنامه نویسی GIS را هم در فعالیت هایمان داریم. آن روز گذشت و من عصر همان روز وقت گذاشتم و چرخی در اینترنت زدم و درباره پایتون و کاربردش در GIS مطالعات سطحی داشتم. آن چه دیدم، بیش تر در تلفیق با نرم افزار های Desktop GIS برای افزودن قابلیت های آن ها و نیز برای مکانیزه کردن فعالیت های تکراری، مناسب دیدمش. در چند فروم هم دیدم که زیاد با آن برای مباحث برنامه نویسی Web GIS موافق نبودند. خیلی از افراد هم بیان کرده بودند برای کارهای آکادمیک مناسب است اما برای مقاصد تجاری نه. ترجیح دادم زیاد سروصدایش را در نیاورم و از آن چشم پوشی کردم. انگار کامپیوتری ها برنده شده بودند!

گذشت تا تابستان 1397

همکارم که سال پیش، ایده حرکت به سمت پایتون را ارایه کرده بود این بار مستقیم به اتاق خودم آمد و گفت من مطالعاتی روی پایتون داشته ام و بلوغ بیشتری نسبت به گذشته داشته و الان وقت آن است که در رویکردهای تکنولوژیک شرکت بهین، سهمی برای پایتون در نظر بگیریم. باز هم همان دیدگاه های سال گذشته ام سراغم آمد. از طرفی نمی خواستم ذوق و شوق این نیروی جوان را نادیده بگیرم. گفتم یک کار تعریف می کنم ببینم چه طور آن را انجام می دهی. پذیرفت. یک کار کوچک که با رویکرد تکنولوژیک فعلی شرکت در 4 روز توسط یک نیروی متوسط قابل انجام بود برای ایشان تعریف کردم و 8 روز هم زمان برایش در نظر گرفتم. با ذوق و شوق قبول کرد و خوشحال رفت. دو روز بعد با لپ تاپش به دست، وارد اتاقم شد و گفت انجامش دادم. تعجب کردم. گفتم بیا توضیح بده. کار را ارایه کرد و دیدم کامل انجام شده. علاقمند شدم از لحاظ فنی زیر و بمش را مشاهده کنم. به اتفاق نشستیم و یکی دو ساعت برای من صحبت کرد که چه کار کرده و چه طور این کار را کرده و من هم با دیدگاه های یک کارشناس نرم افزار، پرسش های مد نظرم را می پرسیدم و پاسخ هایی که می شنیدم دغدغه های من را برطرف می کرد. انگار نمیشد جلویش مقاومت کنم. شدیدا می گفت که زمان توسعه سامانه های شرکت را کاهش می دهد. همان طور که برای من که زیاد کار نکرده بودم زمان 8 روزه به زمان 2 روزه تبدیل شد. قرار شد بیشتر بررسی کنم و نتیجه را مشخص کنیم.

وقتی هنوز فنی باشی صبر و قرار نداری

مدیر فنی شرکت در مرخصی بود و تا هفته بعدی حضور نداشت. یک حسی به من می گفت منتظر نمانم. عصر جلسه کمیسیون مشاوران نظام صنفی رایانه ای داشتم. با یکی از دوستانم در این خصوص گپ و گفتی زدم. البته او هم کامپیوتری بود. دیدگاهش در خصوص حرکت به سمت پایتون مثبت بود اما برای سیستم های تجاری او هم مطمئن نبود. با مدیر فنی ام تلفنی مشورت کردم. او کاملا مخالف رفتن به سمت استفاده از پایتون بود. دیدگاهش در مورد کارهای سطحی با پایتون مثبت بود اما برای پروژه های بزرگ تر پیشنهاد نمی داد.

تصمیم گرفتم روی این کار سرمایه گذاری کنیم

برای ساده تر شدن، تصمیم گرفتم با مبحث آموزش شروع کنیم. از همان نیرویی که ایده استفاده از پایتون در پروژه های GIS را داده بود خواستم مسولیت تولید چند نوشته آموزشی در خصوص معرفی پایتون را برعهده بگیرد و گفتم خودم هم چون به چالش کشیده شده ام کمک می کنم. یکی از نیروهای برنامه نویس موبایل که در شرکت داشتیم، داشت کلاس پایتون می رفت. از همکاری او هم بهرمند شدیم و پیش نویس یک آموزش برای معرفی پایتون را آماده کرد. من به اتفاق همکارم نیز روی این آموزش های اولیه کار کردیم و دو نوشته آموزشی بر روی سایت GISPlus رفت. نتایج اولیه دور از انتظار من بود. آمار خوانده شدن نوشته ها و باز شدن ایمیل هایش خوب بود. یک نظرسنجی برگزار کردیم و حدود 100 مخاطب خواسته بودند که یک بسته آموزش Web GIS با پایتون تهیه کنیم. تصمیم گرفتیم این بسته آموزشی را تهیه کنیم. بسته آموزشی را تهیه کردیم و در سایت قرار دادیم. این بسته مورد استقبال قرار گرفت. در مدتی که این بسته آموزش برنامه نویسی  GIS با پایتون ساخته می شد، خودم هم بیشتر درگیر شدم و هم آموزش ها را بازبینی می کردم و هم بیشتر مطالعه می کردم.

آنچه می دیدم با حس اولیه ام متفاوت بود

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

نوشتن کتاب Web GIS با پایتون

خلاصه این پایتون خوش خط و خال آن قدر من را به خودش علاقمند کرده بود که به فکر نوشتن یک کتاب برنامه نویسی Web GIS با پایتون هم افتادم و در این زمینه از کمک همکارانم استفاده کردم و خیلی سریع متن کتاب آماده شد و با یک انتشارات برای چاپ آن وارد قرارداد شدم.

یک پروژه مکان محور کوچک با پایتون

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

آموزش برنامه نویسی پایتون برای سازمان های دولتی

پس از یکی دو ماه از انتشار کتاب Web GIS با پایتون، کم کم درخواست هایی از سازمان های دولتی هم آمد. ظاهرا سادگی پایتون همه را مجذوب خودش می کند. به خصوص غیر کامپیوتری ها را! ما که در آموزش هایمان دایم از سادگی پایتون صحبت کرده بودیم، افراد به سمت استفاده از آموزش های رایگان ما رفته بودند و این سادگی را از نزدیک دیده بودند و به استفاده از این زبان ساده، ترغیب شده بودند. در این میان چندین دوره هم برای سازمان های مختلف برگزار کردیم که نتایج آن متفاوت با نتایج دوره های سازمانی قبلی بود.

شروع یک پروژه GIS بزرگ تر با پایتون

تیم مان دیگر به پایتون خوشبین تر از قبل بود. گرچه هنوز کامپیوتری ها ته دلشان چیز دیگری بود!

لذا تصمیم گرفتیم یکی از پروژه های GIS شرکت را با پایتون جلو برویم و هم تجارب جدیدی را به شرکت اضافه کنیم و هم تجربه مشتریان را در سامانه های کاربرپسند تر و ساده تر لذت بخش تر از قبل کنیم.

این داستان ادامه دارد...

به مرور با افزایش تجارب و دستاوردهایمان با پایتون و GIS، این نوشته را کامل تر خواهیم کرد.

برنامه نویسی GIS با پایتون را فقط در یک ساعت شروع کنید

این آموزش ها را هم ببینید

4 دیدگاه برای “داستان شرکت بهین و GIS با پایتون

  1. محمدحسین گفته:

    سلام
    بنده برنامه نویس هستم و تقریبا به زبان پایتون مسلطم، ولی حوزه کاری من MVC Core هست
    پایتون فریم ورکی آماده برای طراحی اپلیکیشن تحت وب داره که تقریبا همون چیزی هست که MVC Core مهیا میکنه تا یک آپلیکیشن تحت وب توسعه داده بشه
    سوالی که دارم خدمت شما پایتون در مباحث GIS چه تفاوت هایی با سایر فریم ورک های توسعه وب داره که راه اندازی سامانه های GIS و راحت تر میکنه؟
    آیا کتابخونه OpenLayer در پایتون نیازه ؟ یا زبان پایتون مکمل این کتابخونه هست ؟
    و از لحاظ مقیاس بزرگی پروژه های GIS که با پایتون انجام شده لطفاً یک نمونه مثال بزنید

  2. خرید اینترنتی گفته:

    از اینکه دست به آموزش مطالبی مهم و کاربردی که هر روزه هزاران کس می توانن به این آموزش ها نیاز داشته باشند را فراهم آورده اید سپاسگذارم.. که کاری بسیار انسان پسندانه و عالی خواهد بود
    خرید اینترنتی
    https://www.baneh.com
    متشکرم

    • مهشاد انصاری گفته:

      خوشحالیم که اموزش های ما به شما در پیشبرد اهدافتان کمک می کند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دانلود پادکست کسب درامد از GIS

دانلود فیلم چطور برنامه نویس GIS حرفه ای شویم