nerokkaan kummajaisen pöydältä #1:
”ero ohjelmistokehittäjän ja ohjelmistoinsinöörin välillä on sama kuin ero ison ja suuren välillä.” — Tuntematon.
se, mitä kohta luet, pyörii enimmäkseen henkilökohtaisten ajatusteni, päättelyjeni ja omituisen mielikuvitukseni ympärillä.
Jos sinulla on erilaisia tuntemuksia, lisää ne kommenttiosioon ja kiistellään!
niin, päivän aihe…
henkilökohtaisesti se vituttaa. Aina kun näen artikkelin tästä aiheesta, tunneperäinen pankkitilini ryöstetään. Niissä on kyse hakukoneoptimoinnista. Sopimattomia avainsanoja puristettu pieniä lauseita vain saada parempi ranking. Tarkoitus ei ole viihdyttää tai valistaa lukijaa millään tavalla. Joskus tällaiset kirjoitukset voivat olla jopa täysin vääriä.
ja vaikka tämän blogikirjoituksen tarkoitus voi olla liikenteen synnyttäminen, yritin tehdä siitä enemmän merkityksellistä paasausta kuin elotonta akateemista esseetä.
katsotaan, miltä sinusta tuntuu, kun olet lukenut tämän paperin.
pitemmittä puheitta:
koska molemmista termeistä ei ole kunnollisia tulkintoja, monet käyttävät niitä keskenään.
jotkut yritykset kuitenkin pitävät näitä termejä työnimikkeinä.
yleinen ”programmer-developer-engineer” – suuntaus kulkee seuraavasti:
- ohjelmoija on henkilö, joka osaa koodata, ymmärtää algoritmeja ja osaa noudattaa ohjeita. Se ei kuitenkaan vie vastuuta pidemmälle.
- kehittäjä on joku ohjelmoijaa ylempi. Koodausta lukuun ottamatta he tekevät myös rakentamansa ohjelmistokomponentin suunnittelua, arkkitehtuuria ja teknistä dokumentointia. Heitä voidaan kutsua johtajiksi, mutta ei välttämättä.
- lopuksi insinööri antaa ymmärtää, että olet todellinen. Olet suorittanut tutkinnon, sinulla on jonkin verran teknistä tietämystä, ja mieluiten kokemusta … ja pystyt suunnittelemaan ohjelmistojärjestelmän (yhdistelmä ohjelmistokomponentteja teidän pionit, ohjelmoijat, ovat rakentaneet). Olet kuin valvoja. Näet kokonaiskuvan. Ja se on sinun vastuullasi selittää selkeästi, että” kuva ” tiimillesi.
”tyypillisesti ohjelmistoinsinöörit toimivat tiiminjohtajina, ovat etulinjassa asiakkaiden kanssa tekemisissä ja ottavat vastaan erilaisia projekteja takana työskentelevälle tiimille.”- Talha Waseem, Invozonen teknisen sisällön toimittaja.
muuten se voi riippua myös siitä, mihin maahan olet sijoittautunut. Esimerkiksi Ranskassa voi kutsua itseään insinööriksi vain, jos on valmistunut insinöörikoulusta, jonka on tunnustanut komissio des titres d ’ ingénieur.
”Kanadassa termi ”insinööri” on rajattu niihin, joilla on jonkin provinssiliiton sertifiointi. Kaikki eivät siis voi kutsua itseään Kanadassa ”insinööriksi”.”- Briana Brownell, Purestrategyn perustaja ja toimitusjohtaja.
toiset arvelevat, että nämä saattavat olla vain markkinointitarkoituksessa tehtyjä termejä. Ehkä yritykset haluavat, että niiden työlistat ja toimenkuvat näyttävät siisteiltä ja houkuttelevat lisää hakijoita. Brillante!
Alright, sukelletaan syvälle.
Tässä muutamia…
- ohjelmistoinsinöörin ja kehittäjän keskeiset erot
- mikä ihme on ohjelmistoinsinööri?
- Alright, joten mikä sitten on ohjelmistokehittäjä?
- What does a software engineer do
- What does a software developer do
- ohjelmistoinsinööri/kehittäjän palkat
- Software engineer vs software developer — skills, role and responsibilities…
- koulutus ohjelmistoinsinööriksi/kehittäjäksi
- ohjelmistokehittäjän vs ohjelmistoinsinöörin elämä
ohjelmistoinsinöörin ja kehittäjän keskeiset erot
liberty it: n operatiivisen johtajan felim O ’ Donnellin mukaan kehittäjät työskentelevät nimenomaan ohjelmistojen tuottamiseksi tiukkojen parametrien puitteissa. Heidän ei tarvitse nähdä koko kuvaa. Kehittäjien tarvitsee vain keskittyä tehtävään, jonka ohjelmistoinsinöörit ovat heille antaneet.
toisaalta ohjelmistoinsinööri on O ’ Donnellin mukaan sellainen, joka ottaa 50 000 jalan katsauksen kehitettyyn ohjelmistoon. He kommunikoivat muiden sidosryhmien kanssa selventääkseen projektin vaatimuksia ja etsivät jatkuvasti tapoja optimoida työprosessia. He kysyvät usein itseltään — ” onko parempaa tapaa tehdä tämä?”
joten periaatteessa mikä tekee kaiken eron kehittäjän ja insinöörin välillä on ajattelutapa jolla he lähestyvät työtään ja heidän halunsa oppia.
”ellet työskentele Googlen kaltaisessa paikassa ja jahtaa tuota arvostettua promootiota ’Software Engineer Level 4’: stä ’Software Engineer Level 5: een’, mikä versio software engineering-tittelistä, jota joku käyttää, kertoo lähinnä vain siitä, miten hän itse ajattelee roolista.”- Justin Pincarin perustaja & CTO of Achievable.
rehellisesti sanottuna ohjelmistoinsinööriksi tai-kehittäjäksi kutsuminen ei haittaa. Ohjelmoijaksi kutsuminen ei ole kivaa. Ihmiset, jotka kutsuvat meitä ohjelmoijia ovat tyypillisesti ahdasmielisiä Luddiitteja, joilla ei ole mitään tietoteknistä osaamista. Inhottava. Kuinka he kehtaavat …
tarkoitan, että vietät kaikki nuo vuodet hankkimalla CS-tutkintosi, työskentelemällä eliittiohjelmistoinsinöörinä (tai kehittäjänä), vain päätyäksesi kutsutuksi yksinkertaiseksi ”ohjelmoijaksi.”
C ’ mon, ohjelmointi oli jotain, mitä tein huoneessani klo 03.00 15-vuotiaana.
”Software engineering” on minun urani, chap. Kuin kutsuisi kirjanpitäjää verovalmistelijaksi tai isäänsä etunimellä.
Oh, ja muuten, et ole oikea ohjelmistokehittäjä, jos et työskentele Linuxilla ja sinulla on Razerin rainbow light-mekaaninen näppäimistö.
”Why do I need that?”- Kuulen sinun huutavan.
no, työasetusten ulkonäkö määrittelee oman työn laadun. Jos et tiedä, nyt tiedät.
”Sir, this is Wendy ’s”
i know, I know.
eksyn.
katsotaan faktoja…
mikä ihme on ohjelmistoinsinööri?
määritelmän mukaan insinööri on henkilö, joka suunnittelee, rakentaa tai huoltaa moottoreita, koneita tai rakenteita.
Wikipedia kuvaa termiä ”ohjelmistoinsinööri” henkilöksi, joka soveltaa ohjelmistotekniikan periaatteita tietokoneohjelmistojen suunnitteluun, kehittämiseen, ylläpitoon, testaukseen ja arviointiin.
kaikkien kauppojen Jack.
”kutsun itseäni mieluummin ohjelmistoinsinööriksi, koska se kuulostaa jämäkämmältä ja ammattimaisemmalta.”- Gene Mal, teknologiajohtaja staattisissa töissä
Alright, joten mikä sitten on ohjelmistokehittäjä?
määritelmän mukaan ohjelmistokehittäjä on joku, joka kehittää jotain — tarpeeksi reilua.
Mitä ”kehittää” sitten tarkoittaa?
Develop, määritelmällisesti, tarkoittaa kasvamista tai kasvamista ja kasvamista kypsemmäksi, edistyneemmäksi tai taidokkaammaksi.
Alright.
katsotaan, mitä Wikipedia ajattelee ohjelmistokehittäjistä:
ohjelmistokehittäjä on henkilö, joka luo ohjelmistoja. Ilmaisu ”ohjelmistokehitys” tarkoittaa usein muutakin kuin ohjelmiston suunnittelua tai kirjoittamista, se tarkoittaa yleensä henkilöä, joka johtaa projektia tai tekee vain tärkeimmät asiat. Useimpia ohjelmistokehittäjiä johtaa edelleen projektia ohjaava ohjelmistoinsinööri.
Hitto, jopa Wikipedia on puolueellinen.
Okei, keskustellaan nyt vähän ohjelmoijista.
my two cents:
If someone calls me a programmer I connect myself with… a peon… a lazy peon… a lazy peon in the World of Warcraft.
mielestäni ohjelmoijia voi yhtä hyvin kutsua juniorikehittäjiksi. Heidän tehtävänsä on seurata suunnitelmaa, jonka ovat kehittäneet vanhemmat Kehittäjät tai teknologian johto.
mielenkiintoinen fakta: ohjelmoijat viettävät tyypillisesti 90% ajastaan joko suosikkikoodieditorissaan tai Stack Overflow ’ ssa etsimässä korjauksia. Loput 10% heidän ajastaan menee Fortniten pelaamiseen.
What does a software engineer do
as someone considered to have a degree in engineering and experience, software engineers can represent the role of a senior software developer (or a tech team lead), meaning, they carry higher responsibility than the average programmer.
jotkut ylioppilaat pitävät insinööritiedettä enemmänkin arkkitehtityönä — ohjelmistoratkaisun suunnittelijana. Ohjelmistokehitys taas on enemmän puuhastelua ja uusien asioiden kokeilua.
”oppisopimusohjelmissamme käytämme ohjelmistoinsinööriä kuvaamaan oppisopimuskoulutuksessa olevia, jotka työstävät haastavampia algoritmisia ongelmia ja yrityslähtöisempiä liiketoimintaratkaisuja. Ohjelmistokehittäjämme työskentelevät pienemmillä liiketoimintasovelluksilla, mobiilisovelluksilla ja verkkosivustoilla, jotka vaativat UX: n korkeampaa kiillotusta.”- Mike Roberts, toimitusjohtaja San Diego Code Schoolissa
What does a software developer do
Wikipedian määritelmän mukaan näyttää siltä, että ohjelmistokehittäjillä on melko samanlaiset vastuut kuin ohjelmistoinsinööreillä.
tässä on mielestäni reilua:
ohjelmistokehittäjä on joku, jolle on annettu tarkat ohjeet, joita noudattaa, mutta heillä on vapaus ja luovuus leikkiä omaksuakseen sopivimman lähestymistavan.
he eivät ole ”monkey see, monkey do” – tyyppisiä ohjelmoijia millään tavalla, mutta silti… he noudattavat selkeitä ohjeita. Joskus ohjelmistokehittäjiä voidaan pitää myös full-stack-kehittäjinä/insinööreinä.
ohjelmistoinsinööri/kehittäjän palkat
kuten aiemmin todettiin, ohjelmistoinsinööri-ja kehittäjätermejä voidaan käyttää keskenään.
vain joillekin yrityksille tai yksityishenkilöille ne tarkoittavat eri asioita.
eli palkkoja tarkasteltaessa voidaan harkita yhtä juniorikehittäjäksi ja toista seniorikehittäjäksi tai teknologiatiimin vetäjäksi.
sanotaan esimerkiksi, että ohjelmoijia pidetään yleensä lähtötason kehittäjinä. Siksi voimme kutsua heitä junior developers.
koska ohjelmistokehittäjät sijoittuvat ohjelmoijien yläpuolelle, voidaan heitä kutsua seniorikehittäjiksi.
ja koska ohjelmistoinsinööreillä on valvojan rooli (Wikipedian mukaan), jotka tekevät enemmän asioiden hallintaa kuin koodausta, voimme kutsua heitä teknisiksi johtajiksi.
Glassdoorin perusteella juniorikehittäjän keskipalkka summaa noin 63 502 dollaria / v.
seniorikehittäjän mediaanipalkka on noin 82 518 dollaria / v.
ja teknologiatiimin johtajan keskipalkka Payscalen mukaan on noin 101 381 dollaria / v.
yksi ohjelmistoinsinöörin tärkeimmistä eduista on palkka, joka nostaa sinut 1%: n joukkoon maailman väestöstä taloudellisen turvallisuuden suhteen.
Software engineer vs software developer — skills, role and responsibilities…
mielestäni pehmeät taidot ovat yhtä tärkeitä kuin tekniset taidot. Hyvä kommunikaattori ohjelmistokehittäjänä voi tehdä sinusta korvaamattoman avustajan tiimille.
jossain urasi käännekohdassa kohtaat tehtäviä, joita sinun olisi vaikea suorittaa yksin. Mahdollisuus kuunnella muita tiimin jäseniä huolellisesti keskeyttämisen sijaan ja tehdä pariohjelmointia-se auttaa sinua luomaan aseman hyvänä ohjelmistokehittäjänä/insinöörinä.
tässä on kolme hyvää nyrkkisääntöä, joiden uskon auttavan sinua tulemaan paremmaksi ohjelmistokehittäjäksi ja nostamaan sinut rankingissa ylöspäin.
1. Esitä kysymyksiä.
2. Ei koskaan multitaskausta.
3. Jos haluat tuloksen olevan 10, tee testi 9: lle ja 11: lle. Väärät tulokset voivat luoda vankan ratkaisun.
periaatteessa jonkun, joka haluaa tulla pidetyksi ohjelmistoinsinöörinä (senior developer tai tech lead), pitäisi saada tehtyä se kova juttu, jota kaikki muut juoksevat.
koulutus ohjelmistoinsinööriksi/kehittäjäksi
parasta on mitä ilmeisimmin kandidaatin tutkinto.
niin useimmat ainakin ajattelevat. Jos sinulla on aikaa, rahaa ja kärsivällisyyttä voit yhtä hyvin jauhaa ylimääräistä saada maisterin tutkinto. Täältä löydät joitakin parhaista ohjelmistotekniikan koulut.
iso osa StackOverflow ’ n tutkimista ammattikehittäjistä kertoi opintojensa keskittyneen tietojenkäsittelytieteeseen ja ohjelmistotekniikkaan.
pienempi osa kyselyyn vastanneista kertoi opiskelevansa pääaineenaan siihen liittyviä ohjelmistotekniikan aloja, kuten tietokoneohjelmointia, tietokonetekniikkaa tai tietotekniikkaa.
kun puhutaan formaalin koulutuksen tärkeydestä ohjelmistokehittäjänä, useimmat kehittäjät sanovat, ettei sellaista tarvitse olla. Heidän mielestään paljon tärkeämpää on kyky oppia itse ja kasvattaa tietojaan kouluajan ulkopuolella-itseoppineena.
monet kehittäjät suosittelevat verkkokurssien tai koodausleirien ottamista. Nämä voivat varmasti auttaa sinua laskeutumaan ensimmäinen työpaikka.
kirjojen avulla oppimista ja verkkokokeiden tekemistä voidaan pitää myös erittäin tehokkaana harjoituksena koodaustaitojen parantamiseksi.
avoimen lähdekoodin edistämistä arvostetaan suuresti myös kehittäjien keskuudessa. Voit suunnata GitHubiin ja rakentaa ohjelmistokehittäjäportfoliosi samalla kun osallistut muihin projekteihin ja laajennat osaamisaluettasi.
voit myös kokeilla mentorin etsimistä.
LinkedIn on mielestäni täydellinen paikka löytää mentori vuonna 2020.
pitää vain erottua tyypillisestä kaverista, joka etsii mentoria.
Jos laskeudut tulevan mentorisi postilaatikkoon viestillä, joka menee ”Hey dear Mike, I’ ve been following you for a while, I love your stuff. Etsin mentoria. Oletko vapaa?”…todennäköisesti et saa paljon vastauksia.
sen sijaan ole nokkela. Sinähän olet ohjelmistoinsinööri.
muista tämä — ”Jos saat jonkun hymyilemään tai nauramaan, sinulla on paljon suurempi mahdollisuus aloittaa merkityksellinen keskustelu.”
olen löytänyt melkoista menestystä seuraavilta riveiltä:
”Hey Mike. Halusin esitellä itseni tavalla, joka osoitti, että olen mielenkiintoinen, fiksu ja nokkela — valitettavasti kirjoitin tämän viestin sijaan.”
ja siirry sitten eteenpäin selittämään, miksi lähetät heille viestin.
se ei tietenkään välttämättä toimi ensimmäisestä kerrasta lähtien. Itse asiassa, jos se toimii ensimmäisellä kerralla, kutsun sitä f * cking-ihmeeksi.
Pure hampaitasi ja jatka viestien lähettämistä. Löydät lopulta sopivan mentorin. Ja kun löydät sen, varmista, että syötät liikaa. Ole valmis työskentelemään ilmaiseksi omaksu mahdollisimman paljon tietoa ja taitoja (henkilökohtaisia ajatuksia).
mentorisi pitäisi kuitenkin olla joku, joka haluat olla 10 vuoden päästä (muuten, mitä järkeä on hankkia mentori?).
LinkedIn ei kuitenkaan välttämättä aina toimi tilanteeseesi. Tässä tapauksessa, Google up paikallinen kehittäjä meetups omassa kaupungissa.
tai mene seminaareihin äläkä ujostele sitoutua puhujiin.
tai ehkä mennä yliopistoihin ja löytää sieltä samanhenkisiä ihmisiä. (Se voi olla hieman vaikeaa, koska nykyinen COVID-tilanne, mutta saat pisteen.)
toinen vaihtoehto on hakea työpaikkoja, joissa on seniorikehittäjien ympäröimä ja pystyy omaksumaan tietoa päivittäin.
sitä riittää.
ohjelmistokehittäjän vs ohjelmistoinsinöörin elämä
kaikenlaiset Kehittäjät aloittavat päivänsä todennäköisesti kahvikupillinen kädessä sähköpostejaan tarkistaessaan.
kun heidän scrum-kokouksensa ovat päättyneet, he etenevät tavanomaisissa tehtävissään.
ohjelmoijat (tai juniorikehittäjät) keskittyvät todennäköisimmin koodaamiseen.
ohjelmistokehittäjät (senior developers) saattavat tarkistaa tiimistä, onko jollakulla vaikeuksia tietyn tehtävän suorittamisessa.
ohjelmistoinsinöörillä (tech team lead) voi olla muita kokouksia, joissa varmistetaan, että projektin tavoitteet ja vaatimukset välittyvät selkeästi kehitystiimille.
töiden jälkeen he joko hengailevat ystäviensä kanssa tai istuvat tietokoneissaan, tekevät freelance-töitä, katsovat YouTube-videoita, kuuntelevat musiikkia tai pelaavat Fortnitea yrittäen lopulta varmistaa 1.sijan voiton 47. yrityksensä jälkeen.
heidän nukkumaanmenorutiininsa koostuu ahmimisesta anime-videoiden katselemisesta (eivät kaikki kai lol), Oprahin suosittelemien motivaatiokirjojen lukemisesta tai Hacker Newsin selaamisesta ennen kuin heidän silmänsä pettävät.