سلام! همه ما اینجا را نگاه کردیم زیرا علاقه مند به کار در زمینه فناوری اطلاعات بودیم. اما به جای این که به اولین تخصص IT که با آن برخورد کردید، فکر کنید، شاید ارزش آن را داشته باشد که به فهرست حوزه های ممکن در یک شرکت فناوری اطلاعات نگاهی بیندازید؟ این قسمت دوم بررسی کوتاه من است. در اول ، ما به تخصص هایی مانند Recruiter، HR، System Admin، DBA، DevOps نگاه کردیم. امروز ما به تخصص هایی نگاه خواهیم کرد که "ستون فقرات" هر تیم و بر این اساس یک پروژه هستند. اگر چیزی را در جایی به هم ریختم، خیلی مرا مورد سرزنش قرار ندهید، بلکه در نظرات اصلاح کنید: من به همه چیز از دیدگاه یک توسعه دهنده جاوا نگاه می کنم و ممکن است به سادگی تفاوت های ظریف همه تخصص ها را ندانم.
6. PM - مدیر پروژه
وظیفه یک مدیر پروژه برنامه ریزی، سازماندهی، مدیریت پروژه های فنی و بهبود ارتباطات بین اعضای تیم است تا اطمینان حاصل شود که کار به آرامی و تا حد امکان کارآمد انجام می شود. این متخصصان باید نیازهای مشتریان و اهدافی را که دنبال می کنند بدانند و اقدامات کارکنان را تا حد امکان هماهنگ کنند تا پروژه را به نتیجه منطقی و مثبت برسانند. مثبت است، زیرا پروژه ها به دلایل متعددی همیشه نمی توانند با موفقیت به پایان برسند: توقف بودجه، نارضایتی از کار مشتری و غیره... وظیفه اصلی PM هماهنگی گروهی از کارمندان برای حل است. مشکلات فنی، زیرا توسعه دهندگان همیشه افراد فوق العاده اجتماعی نیستند و همیشه می توانند به خوبی با یکدیگر ارتباط برقرار کنند و این به نوبه خود فقط می تواند در مقابل پروژه بازی کند. خوب، یا، برای مثال، توسعه دهنده در چیزی گیر کرده است: ممکن است مدت طولانی بنشیند و نداند چگونه با مشکلی برخورد کند. همه ما دوست نداریم اعتراف کنیم که کاری را نمیدانیم یا نمیتوانیم انجام دهیم، و توسعهدهندگان حتی بیشتر از آن. اینجاست که PM به کمک می آید و به شما کمک می کند فردی را پیدا کنید که می توانید برای اطلاعات بیشتر به او مراجعه کنید یا قبلاً با چیزی مشابه روبرو شده است. مسئولیت های PM عبارتند از:- تعیین اهداف کلی پروژه؛
- برنامه ریزی برای دستیابی به این اهداف؛
- حفظ مهلت های پروژه و گزارش وضعیت فعلی؛
- مدیریت منابع پروژه (کارکنان و تجهیزات فنی)؛
- بهبود هماهنگی تعامل بین اعضای تیم پروژه؛
- ردیابی اثربخشی پروژه و پایبندی به برنامه برنامه ریزی شده؛
- انجام ارزیابی ریسک برای پروژه ها؛
- تشکیل جلسات مختلف برای بحث در مورد اهداف، پیشرفت فعلی، جنبه های مثبت و منفی پروژه.
- انگلیسی Upper Intermediate و بالاتر، زیرا PM از طرف تیم با مشتری در ارتباط است.
- دانش فنی گسترده، اما نه خیلی عمیق، به طوری که می توانید بدون عمیق شدن زیاد بفهمید که چه کسی چه کاری انجام می دهد، چگونه کار به طور کلی اتفاق می افتد.
- مهارت در مدیریت پروژه ها و تیم های درگیر در آنها؛
- مهارت های ارتباطی قوی، زیرا کار یک PM عمدتاً شامل ارتباط با اعضای تیم و مدیریت است.
- مهارت های مکاتبه ای را توسعه داد. به عنوان مثال، شما اغلب نیاز دارید که از طرف یک تیم یا شرکت به ایمیل مشتری نامه بفرستید و هیچ کس از نامه ای که اشتباه یا دارای اشتباه نوشته شده است قدردانی نمی کند.
- یک ذهن تحلیلی که در حل مشکلاتی که در حین کار بر روی یک پروژه ایجاد می شود مفید خواهد بود.
- مهارت های مدیریت زمان که استفاده از آنها به شما امکان می دهد پروژه ها را در برنامه و بودجه نگه دارید (در نهایت زمان = پول).
- مهارت های برنامه ریزی منابع و وظایف
- مدیر تحویل ( DM ) ادامه مستقیم PM -a است، بلافاصله بالای گروهی از PM ها می ایستد و پروژه های آنها را در سطح بالاتر هماهنگ می کند.
- مدیر برنامه - چندین پروژه مرتبط به هم را هماهنگ می کند، اما من خودم واقعاً تفاوت را با DM درک نمی کنم.
- افسر فنی ارشد ( CTO ) - مدیر فنی مسئول توسعه محصولات و بهبود فرآیندهای ایجاد آنها.
- مدیر ارشد اجرایی ( CEO ) - مدیر ارشد اجرایی;
- مدیر حساب ( AM ) - مدیر خدمات مشتری؛
- بازآموزی و رفتن به تخصص دیگر))
7. توسعه دهنده Frontend
توسعهدهنده فرانتاند توسعهدهندهای است که مسئول پیادهسازی بخش بصری یک برنامه است که کاربران میبینند و در یک برنامه وب با آن تعامل دارند. به عنوان یک قاعده، این متخصصان با توسعه دهندگان Backend که مسئول بخش منطقی (سرور) برنامه هستند، همکاری می کنند، که بخش بصری برنامه ایجاد شده توسط توسعه دهندگان Frontend را ادامه می دهد . توسعه دهندگان فرانت اند، مانند توسعه دهندگان باطن، ستون فقرات توسعه هر پروژه هستند. کسانی که از پروژه ها حمایت می کنند. به هر حال، تجارت هر چه که باشد، بر عهده کارگران معمولی، به اصطلاح، سخت کوش است. بنابراین توسعه دهندگان به عنوان چنین افرادی سخت کوش عمل می کنند. به عنوان یک قاعده، تعداد آنها بسیار بیشتر از نمایندگان سایر تخصص ها است، و آنها در هر پروژه بیشتر مورد نیاز هستند. مسئولیت های توسعه دهنده Frontend عبارتند از:- توسعه عملکردهای جدید و بهبود عملکردهای قدیمی؛
- کد refactoring برای بهبود عملکرد، که گاهی اوقات ممکن است به شدت آسیب ببیند. خوانایی، به طوری که سایر توسعه دهندگان بتوانند به سرعت کد و منطق آن را درک کنند. توسعه پذیری، به طوری که در آینده اجرای عملکرد جدید با استفاده مجدد از بخش های قدیمی آسان تر خواهد بود.
- بررسی (بررسی) کد ارسال شده به سرور. به عنوان مثال، یک توسعهدهنده کد را نوشته، دیگری آن را بررسی میکند و میتواند با نظراتی در مورد آنچه باید اصلاح شود، آن را به اولی بازگرداند.
- ارتباط با مشتریان و اعضای تیم - هر دو توسعه دهندگان Frontend و Backend .
- اجرای فنی طرح UI/UX گرافیکی که توسط طراح وارد شده است.
- ردیابی عملکرد برنامه؛
- رفع اشکالات (خطاها).
- سطح انگلیسی - متوسط ;
- درک کل فرآیند توسعه وب (طراحی، توسعه و استقرار)؛
- کار با Angular 5+ ؛
- دانش JavaScript , TypeScript , RxJS , Sass , webpack .
- مهارت های چیدمان ( HTML ، CSS )؛
- مهارت در کار با Git ؛
- درک الگوهای طراحی؛
- دانش خوب لینوکس
- سرب فناوری - متخصص فنی (گورو) در این زمینه؛
- رهبر تیم - رهبر تیم توسعه (فرمانده میدان). از اینجا می توانید به یک جهت مدیریتی تبدیل شوید، به عنوان مثال، CTO ;
- توسعه دهنده تمام پشته - توسعه دهنده ای که صاحب هر دو قسمت باطن و فرانت اند است، یعنی شما باید باطن را یاد بگیرید .
- معمار راه حل - متخصصی که در مورد معماری دستگاه داخلی و رابط های خارجی محصول تصمیم می گیرد.
- مشاور فنی - مشاور فنی در برخی از فناوری ها;
- بازآموزی کنید و به سمت تخصص دیگری بروید.
8. توسعه دهنده Backend
توسعه دهندگان Backend - بخش سرور مسئول منطق تجاری برنامه را ایجاد و بهبود می بخشد که با بخش بصری (رابط) برنامه (به عنوان مثال از طریق REST API ) ارتباط برقرار می کند. ترکیب بخش سرور برنامه ( Backend ) + بخش بصری برنامه ( Frontend ) یک برنامه وب را تشکیل می دهد که کاربر نهایی با آن تعامل دارد. توسعه دهندگان Backend مسئول ایجاد، نگهداری، آزمایش و اشکال زدایی کل باطن هستند. این معمولاً شامل منطق برنامه اصلی، تعامل با پایگاههای داده، تعامل با APIهای مختلف و سایر فرآیندهای داخلی است. یک متخصص در این پروفایل، علاوه بر آشنایی با نحو زبان و فریمورک های اولیه خود، باید دانش کلی از پایگاه های داده به ویژه پایگاه های ارتباطی داشته باشد ، قادر به نوشتن تست های واحد و ادغام برای کد خود باشد، دانش سازنده اپلیکیشن را داشته باشد. - Maven یا Gradle ، می توانید از Git - Ohm استفاده کنید مسئولیت های توسعه دهنده Backend عبارتند از:- توسعه عملکرد جدید؛
- بازسازی کد؛
- بررسی کد از دیگر توسعه دهندگان Backend .
- نوشتن اسناد برای کمک به توسعه دهندگان باطن جدید ،
- کسانی که به پروژه می آیند به سرعت منطق برنامه را درک می کنند.
- رفع اشکالات؛
- تست های نوشتن (واحد، تست ادغام)؛
- ارتباط با سایر اعضای تیم
- سطح انگلیسی - متوسط ;
- دانش Java Core - نحو زبان جاوا و مجموعه ای از فن آوری های اساسی؛
- درک کل فرآیند توسعه وب؛
- دانش زبان SQL ؛
- دانش پایگاه های داده رابطه ای، مانند PostgreSQL یا MySQL .
- مهارت در تعامل با پایگاه داده از طریق JDBC , Hibernate .
- آشنایی با چارچوب های اولیه Spring (Spring Core، Spring Data، Spring Web) ؛
- دانش Git , Maven ;
- مهارت در تست واحد و ادغام، به عنوان مثال استفاده از JUnit و Mockito .
- سرب فناوری ؛
- رهبر تیم ؛
- توسعه دهنده تمام پشته - شما باید frontend را یاد بگیرید .
- معمار راه حل ;
- مشاور فنی ؛
- بازآموزی کنید و به سمت تخصص دیگری بروید.
راهنمای 9.QA
تضمین کیفیت دستی متخصصی است که برای اطمینان از کیفیت محصول کار می کند و هدفش بهبود فرآیند توسعه برنامه کاربردی، تجزیه و تحلیل اسناد و بر اساس آن، شناسایی خطاها و نادرستی ها در عملکرد محصول است. به طور معمول، تضمین کیفیت، که توسط کتابچه راهنمای QA بررسی می شود ، شامل موارد زیر است:- انجام ارزیابی ریسک؛
- تجزیه و تحلیل مشخصات و الزامات؛
- ایجاد ایده برای بهبود کیفیت محصول؛
- تهیه طرح های آزمایشی؛
- تجزیه و تحلیل و مستندسازی نتایج آزمون به دست آمده.
- مطالعه الزامات، مشخصات و سایر اسناد؛
- مشاهده و بررسی سیستم و مشخصات فنی آن برای انطباق با مشخصات (فهرست الزامات)؛
- توسعه استراتژی ها و برنامه های آزمون موثر؛
- نوشتن اسکریپت های تست (مورد تست)، که بر اساس آن QA Automation تست های خودکار را ایجاد می کند.
- اجرای دستی موارد آزمایش، تجزیه و تحلیل نتایج؛
- در صورت شکست یا ناهماهنگی در طول آزمایش، باید گزارشی تهیه کنید، وظایفی ایجاد کنید (اشکال ایجاد کنید) و آنها را برای بهبود به توسعه دهندگان ارسال کنید.
- تست رگرسیون محصول؛
- مستندسازی مراحل تست؛
- ارتباط با تیم های توسعه در مورد ناهماهنگی های عملکردی و اشکالات.
- سطح انگلیسی - متوسط ;
- درک خوب از روش ها و شیوه های تضمین کیفیت برنامه؛
- دانش تست رگرسیون؛
- توانایی مستندسازی خطاها؛
- مهارت در بررسی دقیق نیازمندی های نرم افزار؛
- گرایش فنی پایه؛
- درک JSON , XML ;
- دانش اولیه SQL ؛
- مهارت در کار با ابزارهایی برای سازماندهی اسناد آزمون، به عنوان مثال - Testrail .
- توجه به جزئیات؛
- طرز فکر انتقادی
- رهبری QA - رهبر QA در تیم؛
- بازآموزی کنید و به تخصص دیگری بروید، به عنوان مثال، تبدیل به یک توسعه دهنده فرانت اند یا باطن شوید .
10. اتوماسیون QA
QA Automation یک متخصص کیفیت محصول است که از ابزارهای نرم افزاری مختلف برای ایجاد آزمایش بر اساس اسکریپت هایی که شخصاً یا توسط کتابچه راهنمای QA نوشته شده است استفاده می کند . QA Automation چیزی شبیه به سطح بعدی بعد از QA Manual است . اگر QA Manual همه چیز را به صورت دستی انجام دهد، QA Automation از نوعی زبان برنامه نویسی برای نوشتن تست هایی استفاده می کند که عملکرد صحیح عملکرد برنامه را بررسی می کند. این تستها معمولاً بهطور خودکار تحت شرایط خاصی اجرا میشوند: زمانی که برنامه ساخته میشود، یا هر روز در زمانی خاص، و غیره. به طور معمول، مسئولیت های AQA عبارتند از :- مطالعه الزامات، مشخصات و سایر اسناد؛
- ایجاد و راه اندازی محیط های آزمایشی برای اجرای تست ها و اسکریپت ها.
- طراحی، ایجاد و اجرای اتوماسیون موارد آزمایش (طرح های آزمایش) با استفاده از سلنیوم مطابق با استانداردها و متدولوژی های تضمین کیفیت تعریف شده.
- مطالعه تست دستی برنامه و ارائه پیشنهادات در مورد امکان اتوماسیون؛
- نگهداری به روز موارد تست اتوماسیون؛
- نوشتن اسناد؛
- حفظ سطح مورد نیاز پوشش آزمون؛
- در صورت لزوم، با آزمایش دستی کمک کنید. می تواند به صورت دستی موارد تست و اسکریپت های محصولات در حال توسعه را با استفاده از ابزارهای مدیریت تست اجرا کند.
- مشارکت در توسعه، یعنی در اداره فرآیند کنترل کیفیت؛
- ارتباط با تیم های توسعه در مورد ناهماهنگی های عملکردی و اشکالات.
- سطح انگلیسی - متوسط ;
- درک خوب روش ها و شیوه های تضمین کیفیت؛
- دانش عالی از نحو یک زبان (به عنوان مثال، جاوا یا جاوا اسکریپت )، زیرا تست ها باید در چیزی نوشته شوند.
- نوشتن تست های خودکار با استفاده از سلنیوم .
- آشنایی با CI/ CD
- توانایی کار با Git ؛
- توجه به جزئیات؛
- طرز فکر انتقادی
- سرب QA ;
- بازآموزی کنید و به سمت تخصص دیگری بروید.
GO TO FULL VERSION