Torbins написав:oleksa.kondratyuk
Постараюсь прояснити чим люди займаються в різних спеціальностях (з моєї точки зору):
Software developer - це власне класичне програмування, треба знати ООП, усілякі патерни, ну й купу бібліотек, які використовуються на своєму проекті
WEB developer - те саме програмування, тільки з використанням веб-технологій. В деяких випадках треба мати трохи знань по дизайну (десь 10-20%)
Manual tester - тут в основному робота з баг трекером, в якому заводять баги кінцеві юзери, а також тестування нових фіч, реалізованих девелоперами. При роботі з баг трекером, 30% часу йде на роботу з людьми.
Automation tester - розробка програм, які будуть клікати по кнопкам автоматично, й таким чином тестувати софт. Зазвичай вони виконуються за розкладом. Це такий собі мікс між тестуванням та програмуванням приблизно в рівних пропорціях
Software developer in test (SDET) - зазвичай такі люди потрібні коли розробляється продукт для девелоперів. Наприклад в QA тімі Visual Studio або PyCharm такі є. Тут десь дві третини програмування, і третина тестування
DevOps - системний адміністратор по нашому. В основному вони займаються налаштуванням складного програмного забезпечення. Конфіг файл на тисячу параметрів далеко не межа того, з чим їм доводиться мати справу. Для полегшення власного життя вони інколи пишуть скрипти. Тому програмування у них десь 10-30%.
Data Science - обробляють дані клієнта різними хитрими алгоритмами, включаючи нейронні мережі. Тут десь 50% математики та статистики, 30% програмування, і ще 20% - робота із замовником. Замовник інколи сам погано розуміє чого він хоче, тому тут треба вміти застосовувати різні прийоми, які часто не мають нічого спільного з IT.
Internet of things (IOT) - в цій галузі треба добре розбиратися в електроніці, вміти тримати в руках паяльник, і таке інше. За моїми прикидками, в даному випадку десь 50% електроніки і 50% програмування. Причому програмування часто низькорівневе.
Бази даних (БД, DB) - бувають спеціальні адміністратори БД, але вміти працювати з БД треба усім без винятку перерахованим вище професіям.
Загалом можу погодитись з ReAl, хороший спеціаліст буде добре заробляти не залежно від спеціальності. У вас ще є час, можете спробувати свої сили в різних напрямках.
Добре розписано, лайк і підписка, але трохи поправлю. DevOps це не системний адміністратор, в них різні задачі.
Задача системного адміністратора полягає в тому щоб в офісі працювали комп'ютери, мережа, принтери і т.д. Щоб програмісти та інший офісний планктон, могли сісти за своє місце і працювати.
Задача DevOps-а полягає в тому щоб підтримувати CI/CD розробку - налаштувати сервера так щоб те, що накодили програмісти за день, автоматично зібралось в одну купу, автоматично збілдилось, автоматично протестувалось, і автоматично розіслались імейли з результатами тестів. DevOps налаштовує середовище певних програмних інструментів типу докера, дженікнса для автоматизацій всього цього, пише скрипти, оновлює сторонні бібліотеки, пише документацію та інструкції як налаштувати середовище як на білд-сервері, так і на робочому місці програміста.
Його задача полягає в тому щоб забрати від програмістів цю рутину. Щоб програміст не заморачувався і не чесав репу чого в нього не білдиться проект, бо оновилась якась бібліотека, а прийшов, сів на своє робоче місце і почав писати код.