de la biroul ciudatului genial #1:
„diferența dintre dezvoltatorul de software și un inginer software este aceeași cu diferența dintre mare și mare.”- Necunoscut.
ceea ce urmează să citiți se învârte în mare parte în jurul gândurilor mele personale, deducțiilor și imaginației neobișnuite.
dacă aveți sentimente diferite, adăugați-le în secțiunea de comentarii și să contestăm!
deci, subiectul de astăzi…
personal, mă enervează. De fiecare dată când văd un articol pe această temă, Contul meu bancar emoțional este jefuit. Totul este despre SEO. Cuvinte cheie nepotrivite stoarse în propoziții mici doar pentru a obține clasamente mai bune. Nici o intenție de a distra sau de a lumina cititorul. Uneori, astfel de articole pot fi chiar greșite.și chiar dacă scopul acestei postări pe blog poate fi de a genera trafic, am încercat să-l fac mai mult un rant semnificativ decât un eseu academic lipsit de viață.
deci, să vedem cum vă simțiți până când ați terminat de citit această lucrare.
fără alte formalități:
deoarece nu există interpretări adecvate ale ambilor termeni, o mulțime de oameni le folosesc interschimbabil.
cu toate acestea, unele companii consideră acești termeni ca titluri de locuri de muncă.
tendința generală „programator-dezvoltator-inginer” merge pe linia:
- un programator este cineva care știe să codifice, înțelege algoritmii și poate urma instrucțiunile. Cu toate acestea, nu merge mai departe în ceea ce privește responsabilitățile.
- un dezvoltator este cineva superior programatorului. Cu excepția codificării, ei fac, de asemenea, proiectarea, arhitectura și documentația tehnică a componentei software pe care o construiesc. Ei pot fi numiți lideri, dar nu neapărat.
- în cele din urmă, un inginer implică faptul că sunteți adevărata afacere. Ați absolvit cu o diplomă, aveți cunoștințe tehnice și, de preferință, experiență… și sunteți capabil să proiectați un sistem software (O combinație de componente software pe care le-au construit peonii dvs., programatorii). Ești ca un supraveghetor. Puteți vedea imaginea de ansamblu. Și este responsabilitatea ta să explici clar acea” imagine ” echipei tale.
„de obicei, inginerii de software vor juca rolul de lideri de echipă, fiind în față în relațiile cu clienții și preluând diferite proiecte pentru echipa care lucrează în spate.”- Talha Waseem, editor de conținut tehnic la InvoZone.
apropo, poate depinde și de țara în care vă aflați. De exemplu, în Franța, vă puteți numi inginer numai dacă ați absolvit o școală de inginerie care a fost recunoscută de Commission des Titres d ‘ Ing.
„în Canada, termenul „inginer” este limitat la cei care sunt certificați de o asociație provincială. Deci, nu toată lumea se poate numi „inginer” în Canada.”- Briana Brownell, fondator și CEO la PureStrategy.
alții speculează că aceștia ar putea fi doar Termeni făcuți cu scopul de marketing. Poate că companiile doresc ca listele lor de angajare și fișele postului să arate cool și să atragă mai mulți solicitanți. Brillante!
bine, să ne scufundăm adânc.
iată câteva…
- diferențe cheie între un inginer de software și Dezvoltator
- ce naiba este un inginer software?
- bine, deci, ce este un dezvoltator de software, atunci?
- ce face un inginer de software
- ce face un dezvoltator de software
- inginer Software/Dezvoltator salarii
- Software engineer vs software developer — abilități, roluri și responsabilități…
- educație ca inginer/dezvoltator de software
- viața unui dezvoltator de software vs inginer software
diferențe cheie între un inginer de software și Dezvoltator
prin definiție, un inginer este o persoană care proiectează, construiește sau întreține motoare, mașini sau structuri.
Wikipedia descrie termenul „inginer software” ca fiind cineva care aplică principiile ingineriei software, la proiectarea, dezvoltarea, întreținerea, testarea și evaluarea software-ului de calculator.
Jack de toate meseriile.
„prefer să mă numesc inginer software pentru că sună mai solid și mai profesionist.”- Gene Mal, CTO la locuri de muncă statice
bine, deci, ce este un dezvoltator de software, atunci?
prin definiție, un dezvoltator de software este cineva care dezvoltă ceva — destul de corect.
ce înseamnă atunci „dezvoltare”?
dezvoltarea, prin definiție, înseamnă a crește sau a face să crească și să devină mai maturi, avansați sau elaborați.
bine.
Să vedem ce crede Wikipedia despre dezvoltatorii de software:
Un dezvoltator de software este o persoană care creează software. Expresia ‘dezvoltare software’ înseamnă adesea mai mult decât proiectarea sau scrierea software-ului, de obicei înseamnă cineva care gestionează proiectul sau face doar lucrurile principale. Majoritatea dezvoltatorilor de software sunt încă conduși de un inginer software principal care ghidează proiectul.
La naiba, chiar și Wikipedia este părtinitoare.
bine, hai să discutăm programatori un pic acum.
cei doi cenți ai mei:
dacă cineva îmi spune programator, mă asociez cu… un peon… un peon leneș… un peon leneș în World of Warcraft.
cred că programatorii pot fi la fel de bine numiți Dezvoltatori juniori. Treaba lor este să urmeze planul care a fost dezvoltat de dezvoltatorii seniori sau de conducerea tehnologică.
un fapt interesant: programatorii petrec de obicei 90% din timpul lor, fie în editorul lor de cod preferat sau pe Stack Overflow căutarea remedieri. Celelalte 10% din timpul lor intră în jocul Fortnite.
ce face un inginer de software
ca cineva considerat a avea o diplomă în inginerie și experiență, inginerii de software pot întruchipa rolul unui dezvoltator de software senior (sau al unei echipe de tehnologie), adică au responsabilități mai mari decât programatorul mediu.
unii studenți consideră că ingineria este mai mult un loc de muncă în arhitectură — planificând o soluție software. Dezvoltarea de Software, pe de altă parte, este mai mult despre tinkering cu lucruri și încercarea de lucruri noi.
„în programele noastre de ucenicie, folosim Software Engineer pentru a descrie ucenicii care vor lucra la probleme algoritmice mai dificile și soluții de afaceri mai orientate către întreprinderi. Dezvoltatorii noștri de Software lucrează pe o linie mai mică de aplicații de afaceri, aplicații mobile și site-uri web care necesită UX cu un grad mai mare de poloneză.”- Mike Roberts, CEO la San Diego Code School
ce face un dezvoltator de software
conform definiției Wikipedia, se pare că dezvoltatorii de software au responsabilități destul de similare cu inginerii de software. Iată ce mi se pare corect:
Un dezvoltator de software este cineva căruia i se dau instrucțiuni specifice de urmat, dar are libertatea și creativitatea de a se juca pentru a lua abordarea pe care o consideră cea mai potrivită.
nu sunt programatori de tip „maimuță, maimuță” prin orice mijloace, dar totuși… urmează un set de instrucțiuni clare. Uneori, dezvoltatorii de software pot fi, de asemenea, considerați dezvoltatori/ingineri cu stivă completă.
inginer Software/Dezvoltator salarii
așa cum am spus mai devreme, termenii inginer software și dezvoltator pot fi folosiți în mod interschimbabil.
numai pentru unele companii sau persoane fizice înseamnă lucruri diferite.
deci, atunci când ne uităm la salarii, putem considera unul ca dezvoltator junior și altul ca dezvoltator senior sau un lider de echipă tehnologică.
să spunem, de exemplu, că programatorii tind să fie considerați Dezvoltatori entry-level. Prin urmare, le putem numi Dezvoltatori juniori.
pe măsură ce dezvoltatorii de software se clasează deasupra programatorilor, îi putem numi Dezvoltatori seniori.
și pentru că inginerii software au rolul de supraveghetor (conform Wikipedia), făcând mai multe lucruri de gestionare decât de codificare, le putem numi lideri tehnologici.
pe baza Glassdoor, Salariul mediu al unui dezvoltator junior însumează circa $63,502 / an.
Salariul mediu pentru un dezvoltator senior este de aproximativ $82,518 / an.
și salariul mediu al unei echipe tech conduce în conformitate cu Payscale este în jur de $101,381 / an.
într-adevăr, unul dintre principalele beneficii de a fi un inginer de software este având un salariu care te pune în top 1% din populația lumii în ceea ce privește securitatea financiară.
Software engineer vs software developer — abilități, roluri și responsabilități…
cred că abilitățile soft sunt la fel de importante ca și abilitățile tale tehnice. A fi un bun comunicator ca dezvoltator de software vă poate face un contribuitor neprețuit la echipă.
la un moment dat în cariera ta, te vei confrunta cu sarcini pe care ți-ar fi greu să le îndeplinești pe cont propriu. Posibilitatea de a asculta cu atenție alți membri ai echipei în loc să întrerupă și de a face programare pereche — asta vă va ajuta să stabiliți o poziție de bun dezvoltator/inginer de software.
iată trei reguli bune care cred că vă vor ajuta să deveniți un dezvoltator de software mai bun și să vă ridicați în clasament.
1. Pune întrebări.
2. Niciodată multitasking.
3. Dacă doriți ca rezultatul să fie 10, atunci testați pentru 9 și 11. Rezultatele greșite pot crea o soluție solidă.
practic, cineva care vrea să fie considerat un inginer de software (dezvoltator senior sau un lider tehnic) ar trebui să poată obține lucrurile grele pe care toată lumea le conduce.
educație ca inginer/dezvoltator de software
cel mai bun lucru de făcut este, evident, să obțineți o diplomă de licență.
asta cred majoritatea oamenilor cel puțin. Dacă aveți timp, bani, și răbdare s-ar putea la fel de bine pisa unele suplimentare pentru a obține o diplomă de master. Aici, puteți găsi unele dintre cele mai bune școli de inginerie software.
o mare parte din dezvoltatorii profesioniști, chestionați de StackOverflow, au declarat că studiile lor s-au concentrat pe informatică și inginerie software.
un procent mai mic dintre respondenții chestionați au declarat că s-au specializat în domenii conexe de inginerie software, cum ar fi programarea calculatoarelor, ingineria calculatoarelor sau IT.
când vine vorba de importanța de a avea o educație formală ca dezvoltator de software, majoritatea dezvoltatorilor spun că nu este necesar să ai una. Ceea ce cred ei că este mult mai important este capacitatea de a învăța pe cont propriu și de a-ți dezvolta cunoștințele în afara orelor de școală… fiind autodidact.
o mulțime de dezvoltatori recomandă să urmeze cursuri online sau tabere de codificare. Acestea vă pot ajuta cu siguranță să vă aterizați primul loc de muncă.
învățarea prin cărți și efectuarea examenelor online poate fi, de asemenea, considerată o practică extrem de eficientă pentru îmbunătățirea abilităților dvs. de codificare.
contribuția la open source este foarte apreciată și în rândul dezvoltatorilor. Puteți să vă îndreptați spre GitHub și să vă construiți portofoliul de dezvoltatori de software, contribuind în același timp la alte proiecte și lărgind domeniul de cunoștințe.
de asemenea, puteți încerca să căutați un mentor.
LinkedIn, cred, este locul perfect pentru găsirea unui mentor în 2020.
trebuie doar să ieși în evidență de tipul tipic care caută un mentor.
dacă aterizați în căsuța de e-mail a viitorului dvs. mentor cu un mesaj care merge pe linia „Hei dragă Mike, te urmăresc de ceva vreme, îmi plac lucrurile tale. Caut un mentor. Ești disponibil?”…sunt șanse să nu primiți multe răspunsuri.
în schimb, fii spiritual. La urma urmei, ești inginer software.
amintiți-vă acest lucru — ” dacă puteți face pe cineva să zâmbească sau să râdă, veți avea șanse mult mai mari de a începe o conversație semnificativă.”
am găsit ceva succes în următoarele rânduri:
„Hei Mike. Am vrut să mă prezint într — un mod care a arătat că sunt interesant, inteligent și spiritual-din păcate, am scris acest mesaj în schimb.”
și apoi mergeți mai departe pentru a explica de ce le trimiteți un mesaj.
desigur, s-ar putea să nu funcționeze de la prima dată. De fapt, dacă funcționează prima dată, atunci numesc asta un miracol f*cking.
Scrâșniți din dinți și continuați să trimiteți mesaje. Veți găsi în cele din urmă un mentor potrivit. Și când îl găsiți, asigurați-vă că overdeliver. Fii dispus să lucrezi gratuit pentru a absorbi cât mai multe cunoștințe și abilități (gânduri personale).
cu toate acestea, mentorul tău ar trebui să fie cineva care vrei să fii peste 10 ani (altfel, ce rost are să obții un mentor?).
LinkedIn deși, s-ar putea să nu funcționeze întotdeauna pentru situația dvs. În acest caz, Google up meetups Dezvoltator locale în orașul tău.
sau mergi la seminarii și nu fi timid să interacționezi cu vorbitorii.
sau poate mergeți la universități și găsiți acolo oameni cu gânduri similare. (Acest lucru poate fi un pic dificil din cauza situației actuale COVID, dar obțineți punctul.)
o altă opțiune este să aplicați pentru locuri de muncă în care veți fi înconjurați de dezvoltatori seniori și capabili să absorbiți cunoștințele zilnic.
destul cu asta.
viața unui dezvoltator de software vs inginer software
este posibil ca toate tipurile de dezvoltatori să-și înceapă ziua cu o ceașcă de cafea în mână în timp ce își verifică e-mailurile.
odată ce întâlnirile lor scrum s-au încheiat, ei merg mai departe cu sarcinile lor obișnuite.
programatorii (sau dezvoltatorii juniori) se vor concentra cel mai probabil pe codificare.
dezvoltatorii de Software (Dezvoltatori seniori) ar putea verifica echipa pentru a vedea dacă cineva are dificultăți în îndeplinirea unei anumite sarcini.
inginerul software (tech team lead) poate avea alte întâlniri la care să participe pentru a se asigura că obiectivele și cerințele proiectului sunt transmise în mod clar echipei de dezvoltare.
după muncă, ei fie stau cu prietenii, fie stau pe computerele lor, făcând niște lucrări independente, vizionând videoclipuri YouTube, ascultând muzică sau jucând Fortnite încercând să obțină în cele din urmă victoria pe locul 1 după a 47-a încercare.
rutina lor de culcare constă în vizionarea de videoclipuri anime (nu toată lumea cred că lol), citirea cărților motivaționale recomandate de Oprah sau derularea știrilor hackerilor în fața ochilor lor.