یک روز در زندگی یک برنامهنویس!

یک روز در زندگی یک برنامهنویس! با هوش مصنوعی و اتوماسیون در حال و آینده
برنامهنویس ها نقشی را به عهده دارند که نیمقرن پیش وجود نداشته، شغلی متناسب با مهارتهای پیشرفته و مورد تقاضای کسبوکار های امروزی. اما با ورود اتوماسیون به کسبوکارها، نقش برنامهنویسان چگونه تغییر خواهد کرد؟
شرکتهای فنآوری دیگر تنها کسانی نیستند که برای جذب بهترین برنامهنویسان مبارزه میکنند. با گسترش روز افزون فضای اقتصاد دیجیتال، کسبوکارهای بزرگ در همۀ بخشها به دنبال استخدام آنها هستند. با این حال اکثر شرکتها واقعا درک نمیکنند که برنامهنویس ها چه میکنند و چگونه میتوانند آنها را جذب کنند.
یک روز در زندگی یک برنامهنویس شامل وظایف بدیهی مثل ساخت و استفاده از وبسایتها، نرمافزارها و برنامهها است، اما وظایف دیگری نیز وجود دارند که در شرح شغلی برنامهنویس ها اشارهای به آنها نمیشود. فرقی نمیکند کجا کار میکنند. از پشتیبانی مشتری گرفته تا ایستگاه آتشنشانی، برنامهنویسان نقشهای مختلفی بر عهده خواهند داشت.
یک برنامهنویس خوب چه میکند؟
با خطاهای وبسایت و مشکلات فوری مشتری در هر لحظه، برنامهنویسان باید قادر به تغییر سریع میان وظایفشان باشند. برای همین داشتن تسلط و حفظ خونسردی برای مدیریت اوضاع بسیار مهم است. (پیشنهاد مطالعه: یاد بگیرید چگونه تمرکز کنید تا بهتر کد بزنید!) جلسۀ هماهنگی تیمی روزانه ممکن است هیجانانگیز به نظر نرسد، اما بسیار مهم است. چون مشخص میکند که کدام برنامهنویس روی چه وظیفهای کار میکند و اطمینان حاصل میشود که همه بر روی پروژۀ حاضر متمرکز هستند. برگزاری روزانۀ این جلسات ممکن است دشوار به نظر برسد. اما میتواند زمان لازم برای انجام یک پروژه را ساعتها کاهش دهد.، فقط به این دلیل که شما را از تغییرات لازم در نیازمندیهای پروژه آگاه میکند.
با اینکه ضرورتی وجود ندارد، اغلب برنامهنویس ها، برای کسب این دانش، برنامهنویسی و علوم کامپیوتر را تا مقطع لیسانس دنبال کردهاند. در حالی که به موازات مدرک تحصیلی، راههایی مثل تمرین با برنامههای وب Microsoft.NET، Sitecore و Sitefinity مهارتهای لازم برای موفقیت را فراهم میکند.
برنامهنویس ها باید بازیکنان تیمی صبور، حلکننده مشکلات با چشمی باز به جزئیات و متمایل به یادگیری باشند.
آنها باید به روز و قادر به توضیح مشکلات فنی برای افراد غیر فنی باشند. علاوه بر این یک ذهن تحلیلی و خلاق، از ویژگیهای کلیدی یک برنامهنویس موفق است. چون بیشتر اوقات یک چالش انتزاعی به برنامهنویس ها سپرده میشود و آنها باید به سرعت یک راهحل برای برطرف کردن آن بیابند.
تغییر و تحول در مسیر زندگی برنامهنویسان
پیش از این، برنامهنویسها با ادمینها و سرورهای سیستم کار میکردند. اما ظهور پلتفرمهای ابری، نقش آنها را در قالب یک DevOp در محیطهایی مانند مایکروسافت Azure، تکامل دادهاست. ظهور هوش مصنوعی به این معنی است که یک روز در زندگی یک برنامهنویس به تغییر و تحول داشتن ادامه خواهد داد. چون نرمافزارها به او اجازه میدهند تا کد بهتر با باگهای کمتر و زمان بیشتری برای تمرکز بر روی توسعه به جای پایداری سیستم، بگذارد.
جیسون کینگ، رئیس توسعه در ارتباطات جهانی لوئیس[1]، میگوید: ” توسعۀ اتوماسیون نه تنها زمان برنامهنویسان را با تمیز کردن کدها و آگاه ساختن آنها از اشتباهاتشان آزاد میکند، بلکه ممکن است نیاز تیمهای برنامهنویسی به افراد متعدد را نیز کاهش دهد.”
” روز کاری یک برنامهنویس ممکن است واکنشی به وقایع آن روز به نظر برسد، اما اگر مقدار زیادی از حرکات پیش دستانه هوشمند را وارد کارکند به سمت ارزش آفرینی بزرگی پیش می رود. برنامه نویسان با بهینهسازی کدهایشان میتوانند منابع محاسباتی را کاهش داده و به کمینهسازی هزینهها کمک کنند.”
روشهای چابک چگونه نقش برنامهنویسها را دچار تغییر کرده است؟
حرکت به سمت روشهای کاری چابک، بر روی نوع فعالیت برنامهنویسان مؤثر است. روشهای قدیمی انجام پروژهها در حال از بین رفتن است. اینبه این معنی است: توسعهدهندگان نه تنها باید با سرعت حرکت کسبوکار، بلکه با سرعت بیشتری نسبت به آن کار کنند. نقشهای سنتی توسعهدهنده، آزمونگر و تحلیلگر کسبوکار به طور فزایندهای ادغام میشوند و توسعهدهندگان آزمونهای خودکار خودشان را مینویسند و مستقیما با کاربران کسبوکار صحبت میکنند.
شیوهای که تیمهای چابک در حال تلاش برای یکپارچهسازی مداوم هستند، یک مثال عالی از این است که چگونه اتوماسیون نقش برنامهنویس را تحتتاثیر قرار میدهد. آنها به طور منظم کد جدید را به توسعه و یا محیطهای آزمون میفرستند و چک میکنند که آیا بخشی از آن قبل از اینکه راه خود را به سوی انتشار پیدا کند، دچار اشکال میشود یا نه. این فرآیند که روش کلیک و تست نامیده میشود در حال حاضر صرفا حدود ۲۰ دقیقه طول میکشد. در حالی که قبل از این ممکن بود یک روز کامل وقت بگیرد.
الی نور هیوز، یکی از توسعه دهندگان وب در بیپی[2] میگوید: ” نوشتن یک کد خوب که به راحتی قابل نگهداری و استفاده باشد بسیار با اهمیت است. توسعه و ایجاد برنامههای کاربردی که میتواند زمان کاربر نهایی را حفظ کند و مشاغل آنها را کارآمدتر کند، برد بزرگی است. فناوری اطلاعات دیگر فقط یک وسیله تسهیلگر نیست. برنامهنویسها واقعا ارزش درون یک کسبوکار را ایجاد میکنند و جزء کلیدی برای بسیاری از نوآوریهای جدید آن هستند. اتوماسیون، تاثیر قابلتوجهی بر همۀ نقشهایی که در چرخۀ عمر توسعه کد دارد، داشته است و به برنامهنویسان اجازه میدهد تا سریع عمل کنند.”
رضایت شغلی یک برنامهنویس چگونه است؟
در شرایطی که تقاضا برای برنامه نویسان خوب پیش از این رشد کرده و به رشد خود ادامه میدهد، جذب استعدادهای قوی در این حوزه بسیار دشوار خواهد بود. درست مثل بیشتر کارمندان. یک حقوق جذاب، آموزش خوب، مسیر شغلی روشن و محیط کار خوشایند، از خواستههای آنان است. اما علاوه بر اینها برنامهنویسان میخواهند با آخرین فنآوریهای روز کار کنند.
پولین ناروس فردی از تعداد روزافزونی از برنامهنویسان است که از یک پسزمینۀ دانشگاهی علوم کامپیوتر نیامدهاند. بلکه علاقۀ شدیدشان به دنیای برنامهنویسی آنها را به این مسیر آورده است. او سال گذشته پس از تحصیل علوم زیستی به برنامه فارغالتحصیلی EE پیوست. وی در حال حاضر در تیم برنامهنویسی سایت این مؤسسه در قسمت «حساب کاربری من» کار میکند. کارهای روزانه او شامل کدنویسی، بازبینی کدها و شرکت در جلسات برنامهریزی است.
برای خانم ناروس، کار کردن روی محصولی در دستۀفنآوری، نقش عمدهای در پیوستن او به EE در مقابل شرکتهای دیگر داشت. دانستن اینکه او فرصتهای زیادی برای یادگیری و توسعه دانشش دارد نیز در کنار عوامل دیگری مثل فرهنگ و تعادل کار-زندگی از معیار های او برای تقاضای استخدامش در این شرکت بود.
او میگوید:
” این احساس فوقالعادهای است وقتی که میبینم کد من زنده میشود!
من احساس میکنم که در EE ارزش افزوده ایجاد میکنم. من دوست دارم درباره هر کمکی که از من ساخته است فکر کنم. به این که چگونه کد من بر مشتریان تاثیر میگذارد که از خدمات ما استفاده میکنند. مهم نیست که تغییرات چقدر بزرگ و چقدر کوچک هستند. من همیشه احساس میکنم که حداقل یکی از مشتریان ما را کمک کردهام.”
جمعبندی:
در آینده برنامهنویسی بسیار سادهتر خواهد بود. چون اتوماسیون به برنامهنویسان اجازه میدهد تا کد دقیقتری بنویسند و مدیریت بیشتری داشته باشند. بیشتر بر روی ساختار برنامه تمرکز کنند، تا اینکه با وظایف اصلاح و نگهداری کدها گیج شوند. ابزارهایی که برنامهنویسان استفاده میکنند تکامل پیدا خواهند کرد و منجر به سطح بالاتری از کدنویسی میشوند. همچنین، داشتن دسترسی به این ابزار و فنآوری جدید، برنامهنویسان را قادر خواهد ساخت تا بهترین عملکرد را به سرعت بیاموزند و موانع ورود به این صنعت کمتر میشود.
ترجمه شده توسط تیم نویسندگان مکتب شریف – برای مشاهدۀ مقالۀ اصلی کلیک کنید.
[1] Lewis Global Communications
[2] Eleanor Hughes, a web developer at BP