در زندگیتان چه تعداد توسعهدهنده را میشناسید؟ اگر با گروهی از آنها کار میکنید، ممکن است متوجه شوید که آنها تفکر یا شخصیت خاصی دارند، که در واقع میتوانید آنها را دستهبندی کنید. این همان کاری است که میخواهیم در این مقاله انجام دهیم.
توسعهدهندگان اولویتهای فردی و سبک کاری خود را دارند که بسیار متفاوت است، حتی اگر کارهای مشابهای را انجام دهند. ما میخواهیم به 10 مدل از رایجترین شخصیت انواع توسعهدهندگان نگاهی بیاندازیم.
ببینید آیا میتوانید خودتان یا یکی از همکارانتان را بین آنها بیابید.
1. مُتعصب
متعصبها کسانی هستند که به قوانین مرسوم پایبند هستند. متعصبهایِ مورد بحث ما چندان سختگیر نیستند، آنها فقط در رابطه با برنامهنویسی تَعصب دارند، آنها خیلی مشتاق نیستند از فریمورکها و کتابخانهها استفاده کنند.
آنها هر بار Vanilla JavaScript را نسبت به JQuery انتخاب میکنند.
این افراد هیچ مشکلی در استفاده از زبانهای و روشهای رایج ندارند. در حقیقت، آنها وقتی میخواهند به سمت کتابخانه یا فریمورک دیگری بروند اذیت میشوند. استفاده از کتابخانههای دیگر برای آنان کاری عذابآور و اضافی است.
توجه داشته باشید که این بدان معنا نیست، که آنها از این موارد اصلا استفاده نمیکنند.
این روند سخت نیست تا وقتی که "تخصص در جیکوئری" لازم نباشد. اما وقتی مجبور شوند احتمالا به سمت این فریمورکها و کتابخانهها خواهند رفت، اما تا جایی که امکان دارد از آنها دوری میکنند.
2. سازنده
مطمئناً هر کسی باید کار خود را انجام دهد، مهم نیست چه کاری باشد، اما برای سازندگان، لیست اولویتهایِشان با کارهایی که باید انجام دهند شروع میشود. میتوانید شرط ببندید که آنها آخرین و بهروزترین فریمورکها، کتابخانهها و گردش کارها را تنظیم کردهاند، آنها ماژولهای پیشساخته را آماده کردهاند، که همه برای استفادهیِ سریع در پروژه دستهبندی شدهاند.
آنها این ابزارها را برای ایجاد محصولاتی ساده پیادهسازی میکنند و همانند استارتآپها میباشند.
3. چند زبانه
چند زبانهها کسانی هستند که از چندین زبان برنامهنویسی استفاده میکنند. برخی از آنها حتی full stack هستند. به گفته آنها، کار کردن فقط با یک زبان برنامهنویسی تقریباً در توسعه وب غیرممکن است.
شما نمیتوانید از این سرنوشت فرار کنید، حتی اگر توسعهدهنده backend باشید. بنابراین تنها وقتی 4 الی 5 زبان برنامهنویسی را بلد هستید، میتوانید ادعا کنید که یک توسعهدهنده چند زبانه هستید. بیشتر چند زبانهها به دلیل موقعیت شغلیشان چند زبانه شدهاند نه به انتخاب خودشان.
هیچ کس نمیتواند تمام زبانها را به صورت کامل یاد بگیرد. با این حال، آنها با اعتماد به نفس بالایی نسبت به دیگران به زبانهای جدید نزدیک میشوند و سریع آنها را یاد میگیرند.
هر چند که نیازی نیست خود را در همه این زبانها غرق کنند، زیرا برخی از آنها ممکن است همانند جَک برای یک حرفه باشند اما مهارت کامل در آنها لازم نیست.
4. کمالگرا
وقتی میگوییم برنامهنویسی کمالگرا است چه چیزی به ذهن شما خطور میکند؟ خوب منظور ما کسانی نیست که میخواهند بینقصترین کدها را بنویسند. کمالگرایان واقعی کسانی هستند که به کدها نگاه میکنند و فراتر از کدنویسی میروند.
آنها کامنتگذاری میکنند، به نامگذاری متغیرها توجه میکنند، آنها کارهای خود را با مستندات ارائه میدهند.
خوب بهتر است اینگونه بگوییم، آخرین باری که یک کامنت مفصل گذاشتید یا یک راهنما برای نرمافزار خود نوشتید کی بود؟ اگر اَخیراً این کار را انجام دادهاید پس شما یک کمالگرا هستید.
به نظر ما این افراد نادر هستند، اکثر توسعهدهندگان به این موارد توجهی نمیکنند (هر چند که مستندات واقعا مهم هستند).
5. هنرنما
در اصطلاح توسعه وب بیایید بگوییم، زبان مادری آنها CSS است. اشکال، رنگها، انیمیشنها، فیلترها و سایر موارد بصری بیشترین اهمیّت را برای این افراد دارند.
کجا میتوان این افراد را یافت؟ Codepen مکان معمول آنهاست.
آنها طراح نیستند، یا شاید هم هستند، اما در واقع آنها توسعهدهنده هستند. آنها هنر خود را با کد بیان میکنند، به جای اینکه به سراغ Adobe Illustrator یاAfter Effects بروند.
جفت کردن آنها با یک طراح مثل پخش کردن کره بر روی نان است و درنتیجه ترکیبی صاف و عالی حاصل میشود.
6. استفادهکننده مجدد کد
هر کسی مشتاق این نیست که یک کلاس یا متد عمومی بنویسد تا بلوکهای تکراری کد را مدیریت کند. ما این کار را تا مرحله بهینهسازی انجام نمیدهیم، که فقط بعد از گذشتن از ضربالعجلها رخ میدهد و بعد از یک زمان استراحت کوتاه به سراغ آنها میرویم.
افرادی که استفادهکننده مجدد نامیده میشوند، این موضوع را بهتر میدانند، آنها از ابتدا پایهای مستحکم از کدهایی با قابلیت استفاده مجدد میسازند و بعداً در زمان بهینهسازی بسیار صرفهجویی میکنند.
آنها عمدتاً توسعهدهندگان باتجربهای هستند که میتوانند بخشی از کد را پیشبینی کنند، که قرار است در بخشهای مختلفی استفاده شود.
احتمالاً هیچ پروژهای از آنها وجود ندارد که بدون فایلهای سراسری یا کلاسهای کاربردی باشد.
7. کتابخوان
احتمالاً ما افرادی را در بین همکارانمان دیدهایم که واقعا در زمینه برنامهنویسی و منطق خوب عمل میکنند، و وقتی میز کار آنها را نگاه میکنیم میبینیم که با انواع کتابها پر شده است.
کتابخوانها به دنبال دانش عمیق هستند، که گاهی اوقات مفاهیم واقعا سودمندی را از آنها میآموزند، که درنهایت میتواند بهترین نوع آموزش باشد!
8. دیباگر (اِشکالزدا)
دیباگ کردن مهارتی است که به صورت خودآموز به دست میآید. قدرت واقعی آن فقط در صورت بروز "خطای داخلی سرور 500" نشان داده میشود.
دیباگرها نه تنها قادر به حل باگهای کد خود هستند، بلکه کدهای نوشته شده توسط دیگران را نیز دیباگ میکنند (که کابوس توسعهدهندگان است).
آنها به خوبی از همه گزینهها و ابزارهای دیباگ استفاده میکنند، چه بر روی مرورگر باشد چهIDE . اما جدا از ابزارها، دیباگرها به دانشی روشن از جریان وقایع و توانایی حل مسأله نیاز دارند.
اگر کد متعلق به شخص دیگری باشد، آن موقع است که دیباگرها قدرت واقعی خود را نشان میدهند. خط به خط کد را بررسی میکنند و "if"، "else"، "or"، "and"یا سمیکالونی که جا مانده است را پیدا میکنند.
9. پژوهشگر
برای پژوهشگران، کد فقط کد نیست. کد برای آنان یک موضوع است، موضوعی برای بحث در انجمن، موضوعی برای پستهای بلاگ، موضوعی برای پرسش و پاسخ .StackOverflow نه موعظه، نه داوری، هدف آنها فقط به اشتراک گذاشتن دانشی است که در تحلیل آن تلاش کردهاند.
هر کدی که مینویسیم یک کاربرد و یک هدف دارد و آنها این مسأله را بررسی میکنند.
پژوهشگران سعی میکنند تا جنبه کد را درک کنند. آنها در مستندات کاوش میکنند، آزمایش میکنند و مهمتر از همه یافتههای خود را با بقیه به اشتراک میگذارند.
10. اجتماعی
با وجود کپی کردن کدها از روی یکدیگر، ما هنوز به عنوان بخشی از جامعه در کنار هم هستیم.
هر چند از نظر فیزیکی، خودمان تنهایی جلوی رایانه مینشینیم، اما تنها نیستیم. با این حال، هر کدام از ما دارای مهارتهای اجتماعی کم و زیادی هستیم.
و در این میان یک سری افراد اجتماعی و اهل معاشرت وجود دارند. آنها برای صرف یک نوشیدنی با شما ملاقات میکنند، با شما شوخی میکنند، در مورد آخرین و بهترین مباحث با شما صحبت میکنند، از سختافزارها یا نرمافزارهایی که قرار است به زودی منتشر شوند هیجانزده میشوند، از فرصتها استفاده میکنند، شبکهسازی میکنند، و اگر امکانش باشد، تلفنهای خود را با شما عوض میکنند بنابراین شما میتوانید سیستم عامل متفاوتی را امتحان کنید.
آیا در میان دوستان توسعهدهنده خود یک فرد اجتماعی را میشناسید؟
سخن پایانی
هر کدام از ما دارای ویژگیهای مُنحصربهفرد خود هستیم. ممکن است با دوستان و همگروهیهای خود رفتارهای مشترک داشته باشیم یا کاملاً با آنها متناقض باشیم. هر اخلاقی که داشته باشید، ما قضاوتی نمیکنیم، درنهایت همه ما توسعهدهنده هستیم.
شما خودتان یا دوستانتان را جزء کدام دسته از این گروهها میدانید؟
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید