چگونه میتوانیم یک توسعهدهنده اینترنت اشیا شویم؟
خانهها، ماشینها و ادارات بیشتر و بیشتری از گجتهای اینترنت اشیا استفاده خواهند کرد. به همان نسبتی که بر تعداد این دستگاهها افزوده میشود، به همان نسبت به طراحان بیشتری برای طراحی نرمافزارها و تامین امنیت این دستگاهها نیاز خواهد بود. گرک گورمن، مدیر اکوسیستم توسعه اینترنت اشیا شرکت آیبیام در این ارتباط گفته است: «اصطلاح “توسعهدهنده اینترنت اشیا” در چند سال آینده مورد توجه شرکتها قرار خواهد گرفت. به طوری که این اصطلاح را به وفور خواهید شنید. اصطلاحی که بسیاری از شرکتها به منظور جذب کارشناسان خبره این صنعت از آن استفاده خواهند کرد. بخشهای متعدد و کاملا طبقهبندی شدهای در این حوزه وجود دارد که از آن جمله به شبکهبندی، امنیت، مهندسی سیستم، برنامهنویس کلاود و برنامهنویس دستگاههای سختافزاری در این زمینه میتوان اشاره کرد.» کورنیلیوس آمپاتزیس، توسعهدهنده نرمافزار در شرکت InfoLean در این ارتباط گفته است: «یک گجت اینترنت اشیا در چهار مرحله طراحی شده و توسعه پیدا میکند.»
اسمبل کردن فیزیکی سختافزار
این مرحله به مهارتهای مهندسی نیاز دارد و به طور معمول به بیش از یک طراح نیاز است. با این وجود امروزه بسیاری از دستگاههای اینترنت اشیا به طور معمول از بردهای از پیش ساخته شده و حسگرهای متصل به آنها استفاده میکنند.
برنامهنویسی دستگاه
این مهارت برنامهنویسی به منظور دریافت دادهها از حسگرهای متصل به دستگاههای اینترنت اشیا و ارسال این دادهها به سمت سرور موردنیاز است.
برنامهنویسی سرور
برنامهنویس مسلط به این مهارت؛ نه تنها دادهها را دریافت میکند، بلکه دادههایی که از دستگاهها به دست میآورد را نیز ذخیرهسازی میکند. این مهارت در ارتباط با برنامهنویسی سمت سرور بوده و از طریق زبانهای PHP،ASP.net یا Node.JS و همچنین محاورهای مبتنی بر MYSQL یا دیگر مشتقات SQL به یاری توسعهدهندگان میآید.
نمایش دادهها روی دستگاه کاربر
این مهارت شامل ساخت یک صفحه وب یا برنامهای است که دادههای جمعآوری شده از سوی کاربر را به تصویر میکشد. طراحی این برنامه به دانش و مهارت توسعه برنامههای وب محور همچون PHP، جاوااسکرپیت، HTML، CSS، MySQL یا چهارچوبهای دیگر نیاز دارد.
آمپاتزیس در این ارتباط گفته است: «به طور معمول یک طراح ضرورتی ندارد در هر چهار فازی که به آن اشاره شد، صاحب تخصص باشد. بنابراین، پیش از ورود به صنعت اینترنت اشیا ابتدا باید زمینه کاری و هدف خود را مشخص کنید. تمایل دارید در کدامیک از چهار حوزهای که به آن اشاره شد وارد شوید. ورود خردمندانه تضمین کننده موفقیت خواهد بود.»
با توجه به اینکه اینترنت اشیا یک پدیده جهانی و فراگیر است، در این قسمت شش توصیه ارائه شده از سوی کارشناسان اینترنت اشیا را با شما به اشتراک قرار دهیم تا دید روشنی از حوزهای که تمایل دارید به آن وارد شوید به دست آورید.
1. سعی کنید درک عمیقی از حسگرها به دست آورید
کارن پانتا استاد مهندسی کامپیوتر و برق و همچنین عوض سازمان IEEE میگوید: «بر عکس طراحان دیگر، افرادی که در حوزه اینترنت اشیا به کار مشغول هستند مجبور هستند درک عمیقی از حسگرها و ارتباطات بی سیم داشته باشند.» پانتا به طراحان اینترنت اشیا پیشنهاد کرده است در علوم کامپیوتر یا مهندسی برق صاحب تخصص شوند. IEEE و دیگر سازمانهای حرفهای به طور معمول درسهای آنلاینی در ارتباط با حسگرها و توسعه گجتها در اختیار مردم قرار میدهند. کاربران قادر هستند بر مبنای این دروس نکاتی را یاد گرفته و در ادامه پروژههایی را آماده کرده و به کارفرمایان خود نشان دهند. همچنین تعدادی از حسگرهای ارزان قیمت و کیتهای ساخته شده نیز برای افزایش مهارتهای کاربران در اختیار آنها قرار دارد. برایان کستر، سرپرست اینترنت اشیا آتودسک در این ارتباط گفته است: «فراتر از محاسبات، اینترنت اشیا شما را به دنیای مهندسی مکانیک و عمران خواهد برد. به واسطه آنکه حسگرها دادههای فیزیکی را جمعآوری میکنند. کار خیلی مشکلی است که به یک تکنولوژیست خبره اینترنت اشیا تبدیل شوید، به واسطه آنکه باید به طور طبیعی حس کنجکاوی در ارتباط با جهان هستی در اعماق وجود شما قرار داشته باشد.»
2. بر رابط کاربری متمرکز شوید
کیت کلاین، مدیر بخش مهندسی شرکت وینک در این ارتباط گفته است: «زمانی که یک محصول تجاری مرتبط با اینترنت اشیا را طراحی میکنید، ضروری است از بالاترین استانداردهای کیفیت در تولید محصول خود استفاده کرده باشید تا بهترین تجربه کاربری را در اختیار مشتری خود قرار دهید. بسیاری از مشتریان شما برای انجام وظایف حساس و بعضا حیاتی که در طول روز با آن سروکار دارند، به سراغ محصول شما خواهند آمد. در نتیجه اگر محصول شما در زمان کار دچار خرابی شود بدون هیچگونه اغماضی با شما برخورد خواهند کرد. به عنوان یک صنعت، باید اطمینان حاصل کنیم محصولات ما به سرعت جایگاه محکمی در زندگی مردم به دست خواهند آورد. البته باید به این نکته توجه داشته باشید طیف گستردهای از مشتریان شما افرادی خواهند بود که حداقل دانش را در ارتباط با فناوری دارند. کیفیت و قابل اطمینان بودن یک محصول در طول این سالها کارکرد خود را به خوبی نشان دادهاند.» پانتا به طراحان توصیه کرده است همواره به دنبال طراحی محصولی باشند که مشتریان به سهولت بتوانند از آن استفاده کنند. او میگوید: «قابلیت استفاده ساده ارتباط مستقیمی با رابط کاربری دارد. شما میتوانید از بهترین کنترلکننده در یک ترموستات استفاده کنید اما در عین حال به این نکته توجه داشته باشید مشتری شما باید بتواند به سادگی با آن کار کند.»
3. جاوااسکریپت و پایتون را یاد بگیرید
سو هینتون از کارمندان فنی مایکروسافت پیشنهاد میکند جاوااسکریپت را پیش از آنکه به یک توسعهدهنده حرفهای اینترنت اشیا تبدیل شود، یاد بگیرید. او میگوید: «به کارگیری یک زبان تحت وب هم برای مدیریت بر پردازش کدها و هم برای مدیریت بر کدهای در حال اجرایی که روی یک دستگاه اجرا میشوند مزایای زیادی برای یک توسعهدهنده به ارمغان میآورد. جاوااسکرپیت یک زبان رویدادمحور است و همین موضوع باعث شده است برای واکنش نشان دادن به دادههای جدیدی که از دستگاهها به دست میآید و همچنین واکنش نشان دادن به این دادهها مناسب باشد.» راب لاور مدیر ارشد بخش طراحی شرکت Progress در این ارتباط میگوید: «کار کردن با فناوریهای جدید اغلب به معنای عدم دسترسی به مستندات مناسب و نمونه کدها بوده و در بیشتر موارد اطلاعات اندکی در اختیار توسعه دهندگان قرار دارد. طراحان اینترنت اشیا باید به دنبال آن باشند از زبانهای مشترک همچون پایتون و جاوااسکرپیت استفاده کنند. این زبانها با بیشتر دستگاههای اینترنت اشیا مبتنی بر ویندوز که از C#.NET استفاده میکنند سازگاری دارند.»
4. با رزبری پای کار کنید
الیوت شراک، بنیانگذار شرکت Thrvy میگوید: «افرادی که هیچگونه آشنایی با علوم کامپیوتر نداشته یا هیچگونه مدرکی در رشته مهندسی برق ندارند و تمایل دارند مهارتهای خود در زمینه اینترنت اشیا را به کارفرمای خود نشان دهند، بهتر است پروژههایی که بر مبنای رزبری پای طراحی کردهاند را به کارفرمای خود نشان دهند. رزبری پایها کاملا ارزان قیمت هستند. این بردها، کامپیوترهای کوچکی هستند که عمدتا برای اثبات مفهومی یک پروژه اینترنت اشیا مورد استفاده قرار میگیرند. این بردها به سادگی به طراحان یاد میدهند مدارات ساده را چگونه لحیمکاری کرده و این مدارات را به نرمافزارها متصل کنند. زمانی که این مدارات به یکدیگر متصل میشوند، یک نمونه آزمایشی و ساده از یک پروژه را به وجود میآورند. همین نمونههای ساده ممکن است در آینده تبدیل به پروژههای بزرگی شوند که در دنیای اینترنت اشیا مورد استفاده قرار میگیرند. با استفاده از یک دستگاه ساده شبیه به Tessel 2 ،Particle Photon یا حتا Raspberry Pi طراحان به سرعت قادر خواهند بود مهارتهای سختافزاری خود را افزایش دهند. طراحی گجتهای اینترنت اشیا در حقیقت یاد گرفتن این نکته است که چگونه میتوانیم کامپیوترهای کوچکتر و ضعیفتر را طراحی کنیم.»
5. یک انجمن پیدا کنید
ایملی رز، مدیر بخش طراحی شرکت Salesforce میگوید: «تعامل با انجمنهایی که با سازندگان، مخترعان و کارآفرینان در ارتباط هستند به شما کمک میکنند تا ایدههای خود را اصلاح کرده، توسعه داده، واقعیتهای پیرامون خود را به درستی درک کرده و در یک کلام به شما کمک میکنند به یک توسعهدهنده حرفهای اینترنت اشیا تبدیل شوید. دنیای اینترنت اشیا هنوز هم در بعضی زمینهها نوبنیان و مبهم است. با این وجود یکسری مسیر روشن برای خطدهی به توسعهدهندگان پیش روی آنها قرار دارد. شاید کمی دلهرهآور به نظر برسد، اما در عین حال ممکن است یک مزیت فوقالعاده در اختیار شما قرار دهد، البته به شرط آنکه فراتر از آن چیزی که پیرامون شما وجود دارد را مشاهده کنید.»
6. مهارتهای خود را افزایش داده و بهروز نگه دارید
الی داو، پژوهشگر شرکت آیبیام و همچنین کارآفرین محقق میگوید: «یادگیری یک مهارت یا کار کردن با یک پلتفرم به تنهایی کافی نیست. پلتفرمی که سعی میکنید برای آن برنامهای تهیه کنید ممکن است در شش ماه یا یکسال آینده منسوخ شود. حسگرها تغییر پیدا خواهند کرد، پلتفرمهای توکار روند توسعه خود را ادامه خواهند داد. در نتیجه باید به اندازه کافی منعطف باشید تا به سرعت خود را با تغییراتی که در یک پلتفرم رخ میدهد، هماهنگ کنید.»
مدیر خلاقیت Webonise میگوید: «توسعهدهندگان اینترنت اشیایی در کار خود موفق هستند که همواره در جریان تغییرات دنیای فناوری قرار داشته باشند. آنها باید درباره هر چیزی که به این صنعت وارد میشود، اطلاع کافی داشته باشند. چه چیزی جدید است، چه خبری قدیمی است و چه چیزی قرار است در آینده وارد شود. این رویکرد پایه و اساس شکلدهی یک ایده و هر آن چیزی که بر مبنای آن ساخته میشود خواهد بود. این سیاست به شما کمک میکند همواره بهترین رویکرد را در این زمینه اتخاذ کنید.»