fra skrivebordet til den strålende weirdo #1:
«forskjellen mellom programvareutvikleren og en programvareingeniør er Den Samme Som Forskjellen Mellom Stor og stor.” — Ukjent.
det du skal lese, dreier seg mest om mine personlige tanker, fradrag og offbeat fantasi.
hvis du har forskjellige følelser, legg dem til i kommentarfeltet og la oss bestride!
så dagens emne…
personlig pisser det meg av. Hver gang jeg ser en artikkel om dette emnet, blir min følelsesmessige bankkonto ranet. Alt handler OM SEO. Upassende søkeord presset inn i små setninger bare for å få bedre rangeringer. Ingen hensikt å underholde eller opplyse leseren overhodet. Noen ganger kan slike artikler til og med være helt feil.Og Selv om formålet med dette blogginnlegget kan være å generere trafikk, prøvde jeg å gjøre det mer av en meningsfylt rant enn et livløst akademisk essay.
Så, la oss se hvordan du føler deg når du er ferdig med å lese dette papiret.
Uten videre:
Siden det ikke er noen riktige tolkninger av begge begrepene, bruker mange mennesker dem om hverandre.
noen selskaper anser imidlertid disse vilkårene som jobbtitler.
den generelle «programmer-developer-engineer» trenden går langs linjene av:
- en programmerer er noen som vet å kode, forstår algoritmer og kan følge instruksjonene. Likevel går det ikke lenger med hensyn til ansvar.
- en utvikler er noen bedre enn programmereren. Bortsett fra koding, gjør de også design, arkitektur og teknisk dokumentasjon av programvarekomponenten de bygger. De kan bli referert til som ledere, men ikke nødvendigvis.
- Endelig innebærer en ingeniør at du er den virkelige avtalen. Du har uteksaminert med en grad, har litt teknisk kunnskap og helst erfaring… og du er i stand til å designe et programvaresystem (en kombinasjon av programvarekomponenter dine peons, programmererne, har bygget). Du er som en tilsynsmann. Du kan se det større bildet. Og det er ditt ansvar å tydelig forklare det «bildet» til laget ditt.
«vanligvis vil programvareingeniører spille rollen som lagledere, være på forsiden i å håndtere kunder og ta på seg ulike prosjekter for teamet som jobber på baksiden.»- Talha Waseem, Tech Innhold Redaktør På InvoZone.
forresten, Det kan også avhenge av landet du er basert i. For Eksempel, I Frankrike, kan du bare kalle deg ingeniør hvis du har uteksaminert fra en ingeniørskole som er blitt anerkjent av Kommisjonen des Titres d ‘ Ing@nieur.
» I Canada, begrepet «Ingeniør» er begrenset til de som er sertifisert av en provinsiell forening. Så, ikke alle kan kalle seg en» ingeniør » I Canada.»- Briana Brownell, Grunnlegger og ADMINISTRERENDE DIREKTØR I PureStrategy.
Andre spekulerer i at disse kan bare være vilkår laget med det formål markedsføring. Kanskje selskaper vil at deres ansettelseslister og stillingsbeskrivelser skal se kule ut og tiltrekke seg flere søkere. Brillante!
Ok, la oss dykke dypt.
Her er noen…
- Viktige forskjeller mellom en programvare ingeniør og utvikler
- Hva er en programvareingeniør?
- Ok, Så hva er en programvareutvikler da?
- Hva gjør en programvareingeniør
- Hva gjør en programvareutvikler
- programvare ingeniør/utvikler lønn
- Software engineer vs software developer-ferdigheter, roller og ansvar…
- Utdanning som programvareingeniør/utvikler
- livet til en programvareutvikler vs programvareingeniør
Viktige forskjeller mellom en programvare ingeniør og utvikler
ifølge felim o ‘ donnell, direktør for operasjoner på liberty it, utviklere jobber spesielt med å levere programvare innenfor stramme parametere. De trenger ikke å se hele bildet. Utviklere trenger bare å fokusere på oppgaven som er tildelt dem av programvareingeniørene.På Den annen side sier O ‘ Donnell, en programvareingeniør er noen som tar en 50.000 fot utsikt over den utviklede programvaren. De kommuniserer med andre interessenter for å avklare prosjektkravene og er stadig på utkikk etter måter å optimalisere arbeidsprosessen på. De spør ofte seg selv — «Er det en bedre måte å gjøre dette på?»
så i utgangspunktet er det som gjør hele forskjellen mellom en utvikler og en ingeniør tankegangen som de nærmer seg jobben og deres appetitt for å lære.»med Mindre Du jobber på Et Sted Som Google og jager den prestisjefylte kampanjen fra» Software Engineer Level 4 » til «Software Engineer Level 5″, hvilken versjon av software engineering tittel noen bruker mest, indikerer bare hvordan de tenker på rollen selv.»- Justin Pincar Grunnlegger & CTO Av Oppnåelig.
Ærlig, å bli kalt en programvareingeniør eller en utvikler er bra. Det som ikke er bra, kalles en programmerer. Folk som kaller oss programmerere er vanligvis små-minded Luddite folk blottet FOR NOEN IT-kunnskap. Motbydelig. Jeg mener, du bruker alle de årene på Å få DIN CS-grad, jobber som en elite-programvareingeniør (eller utvikler), bare for å ende opp med å bli kalt en enkel «programmerer.»
C ‘ mon, programmering var noe jeg gjorde på rommet mitt på 03:00 am i en alder av 15.
«Software engineering» er min karriere, chap. Kinda som å kalle en regnskapsfører en skatt preparer eller din far ved hans fornavn.Åh, Og forresten, du er ikke en ekte programvareutvikler hvis Du ikke jobber På Linux og har et rainbow light mekanisk tastatur Fra Razer.
» Hvorfor trenger jeg det?»Jeg hører deg skrike.
vel, utseendet på arbeidsoppsettet definerer kvaliteten på arbeidet ditt. Hvis du ikke vet, nå vet du.
«Sir, Dette er Wendys.»
jeg vet, jeg vet.
jeg går ned.
La oss se på fakta…
Hva er en programvareingeniør?
en ingeniør er per definisjon en person som designer, bygger eller vedlikeholder motorer, maskiner eller strukturer.Wikipedia beskriver begrepet «software engineer» som en som anvender prinsippene for software engineering, til design, utvikling, vedlikehold, testing og evaluering av dataprogrammer.
Jack av alle handler.»jeg foretrekker å kalle meg en programvareingeniør fordi det høres mer solid og profesjonelt ut.»- Gene Mal, CTO På Static Jobs
Ok, Så hva er en programvareutvikler da?
per definisjon er en programvareutvikler noen som utvikler noe — greit nok.
Hva betyr «utvikle» da?Utvikle, per definisjon, betyr å vokse eller forårsake å vokse og bli mer moden, avansert eller forseggjort.
Ok.
La Oss se Hva Wikipedia mener om programvareutviklere:
en programvareutvikler er en person som lager programvare. Uttrykket ‘programvareutvikling’ betyr ofte mer enn bare å designe eller skrive programvaren, det betyr vanligvis noen som styrer prosjektet, eller gjør bare de viktigste tingene. De fleste programvareutviklere er fortsatt ledet av en ledende programvareingeniør som styrer prosjektet.
Damn, Selv Wikipedia er partisk.
Ok, la oss diskutere programmerere litt nå.Mine to cent: Hvis noen kaller meg en programmerer, knytter jeg meg til… en peon … en lat peon … en lat peon i World Of Warcraft.
jeg tror programmerere kan også bli kalt junior utviklere. Deres jobb er å følge planen som er utviklet av senior utviklere eller tech lead.Et interessant faktum: Programmerere bruker vanligvis 90% av tiden sin, enten i favorittkodeditoren eller På Stack Overflow, og søker etter reparasjoner. De andre 10% av tiden går inn i Å spille Fortnite.
Hva gjør en programvareingeniør
som noen anses å ha en grad i ingeniørfag og erfaring, kan programvareingeniører legemliggjøre rollen som en senior programvareutvikler (eller en teknisk teamleder), noe som betyr at de har høyere ansvar enn den gjennomsnittlige programmereren.Noen undergrads anser engineering å være mer av en arkitekturjobb-planlegger en programvareløsning. Programvareutvikling, derimot, handler mer om å tinkering med ting og prøve ut nye ting.»i våre lærlingprogrammer bruker Vi Programvareingeniør til å beskrive lærlinger som skal jobbe med mer utfordrende algoritmiske problemer og forretningsløsninger som er mer bedriftsorienterte. Våre Programvareutviklere jobber med en mindre bransje applikasjoner, mobile apps, og nettsteder som krever UX med en høyere grad av polsk.»- Mike Roberts, ADMINISTRERENDE DIREKTØR Ved San Diego Code School
Hva gjør en programvareutvikler
Ifølge Wikipedias definisjon ser det ut til at programvareutviklere har ganske lignende ansvar for programvareingeniører. Likevel rangerer ingeniørtittelen over programvareutviklerens.
Her er det som virker rettferdig for meg:
en programvareutvikler er noen som får spesifikke instruksjoner å følge, men de har frihet og kreativitet til å leke med for å ta den tilnærmingen de finner mest egnet.
De er ikke «monkey see, monkey do» type programmerere på noen måte, men likevel … de følger et sett med klare instruksjoner. Noen ganger kan programvareutviklere også betraktes som fullstack utviklere / ingeniører.
programvare ingeniør/utvikler lønn
som sagt tidligere kan vilkårene for programvareingeniør og utvikler brukes om hverandre.
Bare for noen selskaper eller enkeltpersoner betyr de forskjellige ting.
Så når vi ser på lønn, kan vi vurdere en som en junior utvikler og en annen som en senior utvikler eller en teknisk teamleder.
La oss si, bare for eksempel, at programmerere pleier å bli betraktet som entry-level utviklere. Derfor kan vi kalle dem junior utviklere.Som programvareutviklere rangerer over programmerere, kan vi kalle dem seniorutviklere.Og fordi programvareingeniører har rollen som en tilsynsmann( Ifølge Wikipedia), gjør mer å administrere ting enn koding, kan vi kalle dem tech leads.
Basert På Glassdoor, gjennomsnittlig lønn for en junior utvikler oppsummerer ca $63,502/år.
median lønn for en senior utvikler er ca $82,518 / år.Og gjennomsnittlig lønn for en teknisk teamleder i Henhold Til Payscale er rundt $101,381 / år.En Av de viktigste fordelene Ved å være programvareingeniør er Virkelig å ha en lønn som setter deg i topp 1% av verdens befolkning når det gjelder økonomisk sikkerhet.
Software engineer vs software developer-ferdigheter, roller og ansvar…
jeg tror myke ferdigheter er like viktig som dine tekniske ferdigheter. Å være en god kommunikator som programvareutvikler kan gjøre deg til en uvurderlig bidragsyter til teamet.
på et tidspunkt i karrieren din vil du møte oppgaver som du vil ha det vanskelig å fullføre på egen hånd. Å kunne lytte til andre lagmedlemmer nøye i stedet for å forstyrre, og gjøre parprogrammering — det er det som vil hjelpe deg med å etablere en posisjon som en god programvareutvikler/ingeniør.Her er tre gode tommelfingerregler som jeg tror vil hjelpe deg å bli en bedre programvareutvikler og stige deg opp rangeringen.
1. Still spørsmål.
2. Aldri multitask.
3. Hvis du vil at resultatet skal være 10, så test for 9 og 11. Feil resultater kan skape en solid løsning.I Utgangspunktet bør noen som ønsker å bli ansett som en programvareingeniør (seniorutvikler eller en teknisk leder) kunne få de harde tingene som alle andre løper fra ferdig.
Utdanning som programvareingeniør/utvikler
det beste å gjøre er åpenbart å få en bachelorgrad.
det er det de fleste tror minst. Hvis du har tid, penger og tålmodighet, kan du også male litt ekstra for å få en mastergrad. Her kan du finne noen av de beste software engineering skoler.En stor del av profesjonelle utviklere, undersøkt Av StackOverflow, sa at deres studier fokuserte på datavitenskap og programvareteknikk.En mindre prosentandel av de undersøkte respondentene sa at de hadde hovedfag i relaterte programvaretekniske felt som dataprogrammering, datateknikk eller IT.
når det gjelder viktigheten av å ha en formell utdanning som programvareutvikler, sier de fleste utviklere at det ikke er nødvendig å ha en. Det de synes er mye viktigere er evnen til å lære på egen hånd og øke kunnskapen din utenfor skoletiden… å være selvlært.
mange utviklere anbefaler å ta online kurs eller koding leirer. Disse kan definitivt hjelpe deg med å lande din første jobb.Å Lære gjennom bøker og gjøre online eksamener kan også betraktes som en svært effektiv praksis for å forbedre kodingsferdighetene dine.
Bidra til åpen kildekode er høyt verdsatt blant utviklere også. Du kan gå over Til GitHub og bygge ut programvareutviklerporteføljen din samtidig som du bidrar til andre prosjekter og utvider kunnskapsområdet ditt.
du kan også prøve å søke etter en mentor.LinkedIn, tror Jeg, er det perfekte stedet for å finne en mentor i 2020.
Du ma bare skille Seg ut fra den typiske fyren som soker etter en mentor.Hvis du lander i din fremtidige mentors innboks med en melding som går i tråd med «Hei kjære Mike, jeg har fulgt deg en stund, jeg elsker tingene dine. Jeg leter etter en mentor. Er du tilgjengelig?»…sjansene er at du ikke får mange svar.
I Stedet, vær vittig. Tross alt er du en programvareingeniør.Husk dette — » hvis du kan få noen til å smile eller le, har du en mye større sjanse til å starte en meningsfull samtale.»
jeg har funnet litt suksess i følgende linjer:
«Hei Mike. Jeg ønsket å presentere meg selv på en måte som viste at jeg var interessant, smart og vittig — Akk, jeg skrev denne meldingen i stedet.»
og deretter gå videre for å forklare hvorfor du sender dem en melding.
selvfølgelig kan det ikke fungere fra første gang. Faktisk, hvis det virker første gang, så kaller jeg det et f*cking MIRAKEL.
Grit tennene dine og fortsett å sende meldinger. Du vil til slutt finne en passende mentor. Og når du finner det, sørg for at du overdeliver. Vær villig til å jobbe gratis for å absorbere så mye kunnskap og ferdigheter som mulig (personlige tanker).
men mentoren din bør være noen som du vil være 10 år fra nå (ellers, hva er poenget med å få en mentor?).
LinkedIn skjønt, kan ikke alltid fungere for din situasjon. I dette tilfellet, Google opp lokale utvikler meetups i byen din.
eller gå på seminarer og ikke vær sjenert til å engasjere seg med høyttalerne.
Eller kanskje gå til universiteter og finne likesinnede mennesker der. (Det kan være litt vanskelig på grunn av den nåværende COVID-situasjonen, men du får poenget.Et annet alternativ er å søke på jobber der du vil være omgitt av seniorutviklere og i stand til å absorbere kunnskap daglig.
Nok om det.
livet til en programvareutvikler vs programvareingeniør
alle typer utviklere vil sannsynligvis starte dagen med en kopp kaffe i hånden mens de sjekker e-postene sine.
når scrum-møtene er avsluttet, går de videre med sine vanlige oppgaver.
Programmerere (eller junior utviklere) vil mest sannsynlig fokusere på koding.
Programvareutviklere (seniorutviklere) kan se på teamet for å se om noen har problemer med å fullføre en bestemt oppgave.
software engineer (tech team lead) kan ha andre møter for å sikre at prosjektets mål og krav blir formidlet klart til utviklingsteamet.etter jobb henger de enten med venner eller sitter på datamaskinene sine, gjør noe frilansarbeid, ser På YouTube-videoer, lytter til musikk eller spiller Fortnite som prøver å endelig sikre den 1.plass seieren etter deres 47. forsøk.deres sengetid rutine består av binge-watching anime videoer (ikke alle jeg antar lol), lese motiverende bøker Oprah anbefales, eller bla Gjennom Hacker Nyheter før øynene deres gir ut.