Роля за работа: Софтуерен инженер

Автор: Laura McKinney
Дата На Създаване: 2 Април 2021
Дата На Актуализиране: 1 Юли 2024
Anonim
ИНЖЕНЕР "ПРО РУТИНУ"
Видео: ИНЖЕНЕР "ПРО РУТИНУ"

Съдържание


Източник: Dragonimages / Dreamstime.com

За вкъщи:

Софтуерният инженер е дълбоко ангажиран с жизнения цикъл на разработката на софтуер и играе голяма роля за успеха на един проект.

Какво прави софтуерен инженер? Простият отговор е, че той или тя участва в софтуерното инженерство, в процеса на прилагане на инженерни принципи към софтуерните продукти.

Въпреки това, има наистина много подробности и нюанс в описанието на това какво правят софтуерните инженери в софтуерния свят. Ще навлезем в някои от това, докато разглеждаме „ден в живота“ на софтуерен инженер, който работи за създаването на всички страхотни цифрови неща, които използваме всеки ден. (За да научите повече за ролята от някой в ​​тази област, проверете как попаднах тук: 12 въпроса с писателя и софтуерния инженер Дейвид Ауербах.)

Жизненият цикъл на разработката на софтуер

За да разберете ролята на софтуерния инженер, е полезно да знаете за жизнения цикъл на разработката на софтуер (SDLC).


Жизненият цикъл на разработката на софтуер включва различни ключови фази, често се описват като планиране на нуждите, проектиране, кодиране, тестване, внедряване и доставка (дайте или предприемете няколко стъпки според собствените процеси).

„Софтуерът започва с проблема, който се опитваме да решим“, казва Джон Quigley от Value Transformation LLC, описвайки конвенционалния жизнен цикъл на разработката на софтуер, като започнем с част от това, което се случва в началото на процеса. „Това ще бъде формулирано под някаква форма на документ и е резултат от интервюта с клиенти или хора, които страдат от проблема… Документът ще опише как изглежда проблемът, който ще помогне да се генерират идеи, които да бъдат сравнени с това за решение. Това ще бъде целта на тази работа, установявайки това, което се опитваме да постигнем. “

Във фазата на изискванията, според него, инженерите излагат специфичното техническо описание на продукта, както хардуер (ако има такъв), така и софтуер.


След това има кодиране: „Софтуерните инженери ще напишат конкретните изявления в код, които ще произведат желания продукт, който отговаря на специфичните изисквания“, казва Куйгли за фазата на кодиране.

След това, казва той, се тества, а след това още един набор от стъпки, които сочат софтуера солидно към производствена среда. Към края на процеса има място за разнообразни идеи за внедряване и внедряване. Quigley добавя също, че нов „пъргав“ модел за SDLC работи малко по-различно.

Без грешки, без стрес - Вашето стъпка по стъпка ръководство за създаване на софтуер, променящ живота, без да разрушава живота ви

Не можете да подобрите уменията си за програмиране, когато никой не се интересува от качеството на софтуера.

"В пъргавия свят нещата изглеждат много, но повторенията са по-малки и се сближават", казва Куигли. „Изискването може да се обработва чрез потребителски истории, по-малко технически по природа и повече писани за разбиране на приложението, за да могат софтуерните инженери да правят изводи и да извеждат ключови атрибути, необходими въз основа на реалната употреба.“

Разнообразната роля на софтуерния инженер

Тъй като жизненият цикъл на разработката на софтуер има различни фази и операции, има смисъл и работата на софтуерния инженер да варира.

„Софтуерният инженер има по-широка роля от повечето в създаването на софтуерно решение“, пише Самуел Малаховски, професор от Рочестърския технологичен институт. „Всеки елемент на SDLC има специалисти: RE и продажби за първоначални стъпки, архитекти за фазата на проектиране, кодери / програмисти за изграждането, QA за проверка / тестване, ИТ за внедряване / поддръжка и ръководители на проекти за движение и управление на всеки член / фаза на екипа, но се очаква софтуерните инженери да се прилагат широко за целия процес. Като се има предвид тази гледна точка, по-добър въпрос може да бъде да се зададе въпроса какво не прави софтуерен инженер. "

Ето още един интересен момент, който Малаховски прави относно разликата между ИТ и софтуерното инженерство, която разкрива много за това каква е работата на средния софтуерен инженер:

„ИТ е оперативен и повтарящ се, докато инженерството се върти около нови проблеми, които трябва да бъдат решени като уникални проекти“, казва той. „ИТ персоналът е много по-вероятно да търси индивидуални сертификати на базата на инструменти поради това повторение. Контрастът с нещо като Компютърно инженерство изглежда там, където изискванията са изпълнени - СЕ са склонни да се фокусират върху решаването на проблема с хардуера, като софтуерът го поддържа. SE решават проблема със софтуера, с хардуер, осигуряващ поддръжка. "

Софтуерният инженер и екипите на проекта

В много компании софтуерните инженери се групират и делегират роли според тяхната роля в сложния процес.

Brennan Meagher описва пример от TeleTracking, компания, която прави заглавия в иновациите в здравеопазването в Fierce Healthcare, Американския колеж за спешни лекари, Управление на здравните данни, Health News IT News и на други места.

„В TeleTracking софтуерните инженери са отговорни за кодирането и тестването на всички модули и приложения, които са част от платформата TeleTracking“, казва Meagher. „Те също така подпомагат разработването на софтуерни решения и продукции. Това включва изследване, проектиране, документиране и разработване на нов софтуер. Накратко, нашите софтуерни инженери създават софтуерните решения, които са в съответствие с техническата визия на TeleTrackings за подобряване на достъпа до пациенти. "

Можете да представите тези професионалисти в корпоративен кампус, първо изготвяне, след това настройване на модела, след това тестване, в екипи, внимателно пасиране на проект до завършване.

„Пример за нещо, за което софтуерните инженери редовно са отговорни, може да включва: писане, отстраняване на грешки, тестване на единици и тестови кодове за всички слоеве на приложения“, казва Меган. „Това включва предния край (уеб), средния слой (уеб услуги) и слоевете за достъп до данни.“

Долната линия е, че софтуерните инженери имат различни специализирани работни места. Всички те трябва да разберат някои от основите на кодирането, но някои от тях трябва да се задълбочат в спецификата на тестване, или прозрачността на изискванията за дизайн, или в някои случаи, в света на пъргавото развитие.

Тогава се появи моделът DevOps и обедини много итеративни процеси, които бяха много конкретно очертани и категорични в конвенционалния модел. Така ролята на софтуерния инженер се променя. (За да научите повече за DevOps, вижте Мениджърите на DevOps Обяснете какво правят.)

Това ви дава малко да продължите, когато сте решили да научите повече за работата на тези централни професионалисти в производството на софтуер. Софтуерният инженер е описан като „нож на швейцарската армия“ на дизайна и създаването на софтуер - и може да се окаже, че носи много шапки в натоварена компания.