Trabaho ng Trabaho: Engineer ng Software

May -Akda: Laura McKinney
Petsa Ng Paglikha: 2 Abril 2021
I -Update Ang Petsa: 1 Hulyo 2024
Anonim
Software Engineer Salary Philippines | Magkano yung sweldo ng isang Software Engineer | Philippines
Video.: Software Engineer Salary Philippines | Magkano yung sweldo ng isang Software Engineer | Philippines

Nilalaman


Pinagmulan: Dragonimages / Dreamstime.com

Takeaway:

Ang software engineer ay malalim na kasangkot sa ikot ng buhay ng software development at gumaganap ng isang malaking papel sa tagumpay ng isang proyekto.

Ano ang ginagawa ng isang engineer ng software? Ang simpleng sagot ay kasangkot siya sa software engineering, sa proseso ng paglalapat ng mga prinsipyo ng engineering sa mga produktong software.

Gayunman, talagang may kayamanan ng detalye at kakatuwa sa paglalarawan kung ano ang ginagawa ng mga inhinyero ng software sa mundo ng software. Susubukan namin ang ilan sa mga iyon habang tinitingnan namin ang "isang araw sa buhay" ng isang engineer ng software na nagtatrabaho upang lumikha ng lahat ng mahusay na mga digital na bagay na ginagamit namin araw-araw. (Upang malaman ang higit pa tungkol sa papel mula sa isang tao sa larangan, suriin kung Paano Ako Narito: 12 Mga Tanong kasama ng Manunulat at Software Engineer na si David Auerbach.)


Ang cycle ng Buhay ng Software Development

Upang maunawaan ang papel ng engineer ng software, kapaki-pakinabang na malaman ang tungkol sa cycle ng buhay ng pag-unlad ng software (SDLC).

Ang cycle ng buhay ng pag-unlad ng software ay nagsasangkot ng iba't ibang mga pangunahing phase, na madalas na inilarawan bilang mga kinakailangan sa pagpaplano, disenyo, coding, pagsubok, pagpapatupad at paghahatid (bigyan o gumawa ng ilang mga hakbang ayon sa mga proseso ng pagmamay-ari).

"Ang software ay nagsisimula sa problema na sinusubukan nating lutasin," sabi ni John Quigley sa Value Transformation LLC, na naglalarawan sa maginoo na pag-unlad ng software ng pagbuo ng software sa pamamagitan ng pagsisimula sa ilan sa kung ano ang nangyayari sa simula ng proseso. "Ito ay maipapahayag sa ilang anyo ng dokumento, at ang resulta ng mga pakikipanayam sa mga customer o mga tao na nagdurusa sa ilalim ng problema ... Inilarawan ng dokumento kung ano ang hitsura ng problema na makakatulong upang makabuo ng mga ideya na maihahambing sa para sa solusyon. Ito ang magiging layunin para sa gawaing ito, na maitaguyod ang nais nating maisakatuparan. "


Sa phase ng mga kinakailangan, sabi niya, ang mga inhinyero ay nagtakda ng tiyak na teknikal na paglalarawan ng produkto, kapwa hardware (kung mayroong ganoon) at software.

Pagkatapos mayroong coding: "Isusulat ng mga inhinyero ng software ang mga tukoy na pahayag sa code na gagawa ng nais na produkto na nakakatugon sa mga tiyak na kinakailangan," sabi ni Quigley tungkol sa phase coding.

Pagkatapos nito, sabi niya, ay pagsubok, at pagkatapos ay isa pang hanay ng mga hakbang na nagdadala ng software ng matatag patungo sa isang kapaligiran sa paggawa. Sa pagtatapos ng proseso, mayroong silid para sa magkakaibang mga ideya tungkol sa pagpapatupad at paglawak. Idinagdag din ni Quigley na ang isang bagong modelo na "maliksi" para sa SDLC ay gumagana nang naiiba.

Walang Mga bug, Walang Stress - Ang Iyong Hakbang sa Hakbang Patnubay sa Paglikha ng Software na Pagbabago ng Buhay nang Walang Pagsira sa Iyong Buhay

Hindi mo maaaring mapabuti ang iyong mga kasanayan sa pag-programming kapag walang nagmamalasakit sa kalidad ng software.

"Sa maliksi na mundo, ang mga bagay ay mukhang marami ngunit ang mga iterasyon ay mas maliit at magkasama," sabi ni Quigley. "Ang kahilingan ay maaaring hawakan sa pamamagitan ng mga kwento ng gumagamit, hindi gaanong teknikal sa likas na katangian at higit pa nakasulat upang maunawaan ang application upang ang mga inhinyero ng software ay maaaring gumawa ng mga inperensya at maibawas ang mga pangunahing katangian na kinakailangan batay sa aktwal na paggamit."

Ang Iba't ibang Papel ng Software Engineer

Dahil ang siklo ng buhay ng pag-unlad ng software ay may magkakaibang mga phase at operasyon, makatuwiran na nag-iiba rin ang gawain ng engineer ng software.

"Ang isang Software Engineer ay may isang mas malawak na papel kaysa sa karamihan sa paglikha ng software solution," isinulat ni Samuel Malachowsky, isang propesor sa Rochester Institute of Technology. "Ang bawat elemento ng SDLC ay may mga espesyalista: REs at mga benta para sa mga unang hakbang, arkitekto para sa yugto ng disenyo, mga coder / programmer para sa pagtatayo, QA para sa pag-verify / pagsubok, IT para sa paglawak / pagpapanatili, at mga tagapamahala ng proyekto para sa paggalaw at pamamahala ng bawat kasapi ng koponan / yugto, ngunit ang Software Engineers ay inaasahan na mailalapat ang kanilang sarili sa buong proseso. Dahil sa pananaw na ito, ang isang mas mahusay na katanungan ay maaaring itanong kung ano ang hindi ginagawa ng isang Software Engineer. "

Narito ang isa pang kagiliw-giliw na punto na ginawa ng Malachowsky tungkol sa pagkakaiba sa pagitan ng IT at software engineering na nagpapakita ng maraming tungkol sa kung ano ang trabaho ng average engineer ng software:

"IT ay pagpapatakbo at paulit-ulit, samantalang ang engineering ay umiikot sa mga bagong problema na malulutas bilang natatanging mga proyekto," sabi niya. "Ang mga tauhan ng IT ay mas malamang na maghanap ng mga indibidwal na sertipikasyon na batay sa tool dahil sa pag-uulit na ito. Ang pagkakaiba sa isang bagay tulad ng Computer Engineering ay tumingin kung saan ang mga kinakailangan ay natutupad - Ang mga CE ay may posibilidad na magtuon sa paglutas ng problema sa hardware, na may software na sumusuporta dito. Malutas ng mga SE ang problema sa software, na may suporta sa hardware. "

Ang Software Engineer at Project Team

Sa maraming mga kumpanya, ang mga inhinyero ng software ay naka-pangkat at ginawang mga papel na ginagampanan ayon sa kanilang bahagi sa kumplikadong proseso.

Inilarawan ni Brennan Meagher ang isang halimbawa mula sa TeleTracking, isang kumpanya na gumagawa ng mga headlines sa pagbabago sa pangangalaga ng kalusugan sa Fierce Healthcare, American College of Emergency Physicians, Health Data Management, Healthcare IT News at iba pa.

"Sa TeleTracking, ang mga inhinyero ng software ay may pananagutan para sa coding at pagsubok ng lahat ng mga module at application na bahagi ng platform ng TeleTracking," sabi ni Meagher. "Tumutulong din sila sa pagbuo ng mga solusyon sa software at mga paggawa. Kasama dito ang pagsasaliksik, pagdidisenyo, pagdokumento at pagbuo ng bagong software. Sa madaling salita, ang aming mga inhinyero ng software ay lumikha ng mga solusyon sa software na nakahanay sa pang-teknikal na pangitain ng TeleTrackings para sa pagpapabuti ng pag-access sa mga pasyente. "

Maaari mong isipin ang mga propesyonal na ito sa isang campus campus, unang pag-draft, pagkatapos ay pag-tweaking ang modelo, pagkatapos ay pagsubok, sa mga koponan, maingat na magbantay sa isang proyekto kasama ang pagkumpleto.

"Ang isang halimbawa ng isang bagay na regular na responsable para sa mga inhinyero: ang pagsulat, pag-debug, pagsubok sa yunit at pagganap ng mga code ng pagsubok sa lahat ng mga layer ng aplikasyon," sabi ni Meaghan. "Kasama dito ang front end (web), gitnang layer (mga serbisyo sa web) at mga layer ng data access."

Ang nasa ilalim na linya ay ang mga inhinyero ng software ay may iba't ibang, dalubhasang mga trabaho. Kailangan nilang maunawaan ang ilan sa mga pangunahing kaalaman sa pag-coding, ngunit ang ilan sa mga ito ay kailangang suriin ang mga detalye ng pagsubok, o ang transparency ng mga kinakailangan sa disenyo, o sa ilang mga kaso, ang mundo ng pag-unlad ng maliksi.

Pagkatapos ang modelo ng DevOps ay sumama, at pinagsama ang maraming mga proseso ng nakakapag-aral na napaka-partikular na nakabalangkas at pang-uri sa maginoo na modelo. Kaya ang papel ng software engineer ay nagbabago. (Upang malaman ang higit pa tungkol sa DevOps, tingnan ang Mga Tagapamahala ng DevOps Ipaliwanag Ano ang Gawin Nila.)

Nagbibigay ito sa iyo ng kaunti upang magpatuloy kapag nagtakda ka upang malaman ang higit pa tungkol sa gawain ng mga gitnang propesyonal na ito sa paggawa ng software. Ang inhinyero ng software ay inilarawan bilang "Swiss Army kutsilyo" ng disenyo at paglikha ng software - at maaaring tapusin ang suot ng maraming mga sumbrero sa isang abalang kumpanya.