Deweloper oprogramowania przeciw inżynierem Różnice: fikcyjne lub prawdziwe

Zespół Codegiant
27 sierpnia 2020 r. · 11 min. czytaj

Ze stołu genialnego faceta nr 1:

„Różnica między deweloperem oprogramowania i inżynierem programistą jest taka sama, jak różnica między dużym i dużym.”- Nieznany.

to, co przeczytasz, kręci się głównie wokół moich osobistych przemyśleń, dedukcji i niecodziennej wyobraźni.

Jeśli masz inne sentymenty, dodaj je w komentarzu i spierajmy się!

dzisiejszy temat…

osobiście mnie to wkurza. Za każdym razem, gdy widzę artykuł na ten temat, moje emocjonalne konto bankowe zostaje okradzione. Chodzi o SEO. Nieodpowiednie słowa kluczowe ściśnięte w małe zdania, aby uzyskać lepsze rankingi. Żadnych intencji zabawiania lub oświecania czytelnika. Czasami takie artykuły mogą być wręcz błędne.

i mimo, że celem tego posta na blogu może być generowanie ruchu, starałem się uczynić go bardziej znaczącym rantem niż martwym esejem akademickim.

zobaczmy więc, jak się czujesz, zanim skończysz czytać ten artykuł.

bez zbędnych ceregieli:

ponieważ nie ma właściwej interpretacji obu terminów, Wiele osób używa ich zamiennie.

jednak niektóre firmy uważają te warunki za tytuły pracy.

ogólny trend „programista-programista-inżynier” przebiega następująco:

  • programista to ktoś, kto wie, jak kodować, rozumie algorytmy i potrafi postępować zgodnie z instrukcjami. Nie idzie to jednak dalej, jeśli chodzi o obowiązki.
  • programista to ktoś lepszy od programisty. Oprócz kodowania, zajmują się również projektowaniem, architekturą i dokumentacją techniczną komponentu oprogramowania, który budują. Mogą być określani jako przywódcy, ale niekoniecznie.
  • wreszcie inżynier sugeruje, że jesteś prawdziwą okazją. Ukończyłeś studia, masz wiedzę techniczną, a najlepiej doświadczenie… i jesteś w stanie zaprojektować system oprogramowania (połączenie komponentów oprogramowania, które zbudowali twoi specjaliści, Programiści). Jesteś jak nadzorca. Możesz zobaczyć szerszą perspektywę. I Twoim obowiązkiem jest jasno wyjaśnić to” zdjęcie ” swojemu zespołowi.

„zazwyczaj inżynierowie oprogramowania będą odgrywać rolę liderów zespołów, będąc z przodu w kontaktach z klientami i podejmując różne projekty dla zespołu pracującego z tyłu.”- Talha Waseem, redaktor treści technicznych w InvoZone.

przy okazji, może to również zależeć od kraju, w którym mieszkasz. Na przykład we Francji możesz nazywać się inżynierem tylko wtedy, gdy ukończyłeś szkołę inżynierską uznaną przez Commission des Titres d ’ ingénieur.

„w Kanadzie termin „inżynier” jest ograniczony do tych, którzy są certyfikowani przez Stowarzyszenie prowincjonalne. Tak więc, nie każdy może nazywać siebie „inżynierem” w Kanadzie.”- Briana Brownell, założycielka i CEO w PureStrategy.

inni spekulują, że mogą to być tylko określenia stworzone w celach marketingowych. Być może firmy chcą, aby ich listy zatrudnienia i opisy stanowisk wyglądały fajnie i przyciągały więcej kandydatów. Brillante!

w porządku, zanurkujmy głęboko.

oto kilka…

kluczowe różnice między inżynierem oprogramowania a programistą

według felima O ’ Donnella, dyrektora operacyjnego w Liberty it, programiści pracują specjalnie nad dostarczaniem oprogramowania o ściśle określonych parametrach. Nie muszą widzieć całego obrazu. Programiści muszą tylko skupić się na zadaniu, które zostało im przypisane przez inżynierów oprogramowania.

z drugiej strony, O ’ Donnell mówi, że inżynier oprogramowania to ktoś, kto ma 50 000 stóp widoku na opracowane oprogramowanie. Komunikują się z innymi interesariuszami w celu wyjaśnienia wymagań projektu i stale szukają sposobów optymalizacji procesu pracy. Często zadają sobie pytanie – ” czy jest na to lepszy sposób?”

tak więc to, co odróżnia programistę od inżyniera, to sposób myślenia, z jakim podchodzą do swojej pracy i apetyt na naukę.

„chyba, że pracujesz w miejscu takim jak Google i gonisz za prestiżową promocją z poziomu” Software Engineer Level 4 ” na „Software Engineer Level 5″, której wersji tytułu inżynierii oprogramowania ktoś używa głównie wskazuje, jak myśli o roli.”- Justin Pincar założyciel &

szczerze mówiąc, nazywanie się inżynierem oprogramowania lub programistą jest w porządku. To, co nie jest w porządku, to bycie nazywanym programistą. Ludzie, którzy nazywają nas programistami, to zazwyczaj małostkowi ludzie bez wiedzy informatycznej. Obrzydliwe. Jak oni śmie …

chodzi mi o to, że spędzasz te wszystkie lata na zdobywaniu tytułu CS, pracując jako elitarny inżynier oprogramowania (lub programista), tylko po to, aby skończyć jako prosty „programista”.”

C ’ mon, programowanie było czymś, co robiłem w moim pokoju o 03:00 w wieku 15 lat.

„Inżynieria oprogramowania” to moja kariera, kolego. To jak nazywanie księgowego podatnikiem albo twoim tatą po imieniu.

Aha, a swoją drogą, nie jesteś prawdziwym programistą jeśli nie pracujesz na Linuksie i masz mechaniczną klawiaturę rainbow light od Razera.

„Po co mi to?- Słyszę twój krzyk.

cóż, wygląd twojej pracy określa jakość twojej pracy. Jeśli nie wiesz, teraz wiesz.

„proszę pana, to jest Wendy.”

wiem, wiem.

dygresja.

spójrzmy na fakty …

Co to do cholery jest inżynier oprogramowania?

z definicji inżynier to osoba, która projektuje, buduje lub konserwuje silniki, maszyny lub konstrukcje.

Wikipedia opisuje termin „inżynier oprogramowania” jako ktoś, kto stosuje zasady inżynierii oprogramowania do projektowania, rozwoju, konserwacji, testowania i oceny oprogramowania komputerowego.

Jack wszystkich branż.

„wolę nazywać się inżynierem oprogramowania, ponieważ brzmi to bardziej solidnie i profesjonalnie.”- Gene Mal, CTO w Static Jobs

w porządku, więc czym jest programista?

z definicji programista to ktoś, kto coś rozwija — w porządku.

Co to znaczy „rozwijać”?

rozwijać, z definicji, oznacza rosnąć lub spowodować rosnąć i stać się bardziej dojrzałym, zaawansowanym lub skomplikowanym.

w porządku.

zobaczmy, co Wikipedia myśli o programistach:

programista to osoba, która tworzy oprogramowanie. Fraza „Rozwój oprogramowania” często oznacza coś więcej niż tylko projektowanie lub pisanie oprogramowania, zwykle oznacza kogoś, kto zarządza projektem lub robi tylko główne rzeczy. Większość programistów jest nadal prowadzona przez głównego inżyniera oprogramowania, który kieruje projektem.

cholera, nawet Wikipedia jest stronnicza.

w porządku, omówmy trochę programistów.

moje dwa grosze:

Jeśli ktoś nazywa mnie programistą, kojarzy mi się z … peonem … leniwym peonem … leniwym peonem w World of Warcraft.

myślę, że programistów można równie dobrze nazwać młodszymi programistami. Ich zadaniem jest podążanie za planem opracowanym przez starszych programistów lub lidera technologicznego.

ciekawostka: Programiści zazwyczaj spędzają 90% swojego czasu w swoim ulubionym edytorze kodu lub na Stack Overflow szukając poprawek. Pozostałe 10% ich czasu przeznacza się na grę w Fortnite.

co robi inżynier oprogramowania

ponieważ ktoś uważa, że ma wykształcenie inżynierskie i doświadczenie, inżynierowie oprogramowania mogą wcielić się w rolę starszego programisty (lub lidera zespołu technicznego), co oznacza, że mają wyższe obowiązki niż przeciętny programista.

niektórzy studenci uważają inżynierię za bardziej zadanie architektury — planowanie rozwiązania programistycznego. Z drugiej strony tworzenie oprogramowania polega raczej na majsterkowaniu i wypróbowywaniu nowych rzeczy.

” w naszych programach praktyk używamy inżyniera oprogramowania do opisywania praktykantów, którzy będą pracować nad trudniejszymi problemami algorytmicznymi i rozwiązaniami biznesowymi, które są bardziej zorientowane na przedsiębiorstwo. Nasi programiści pracują nad mniejszymi aplikacjami biznesowymi, aplikacjami mobilnymi i stronami internetowymi, które wymagają UX z wyższym stopniem znajomości języka polskiego.”- Mike Roberts, CEO w San Diego Code School

co robi programista

zgodnie z definicją Wikipedii, wygląda na to, że programiści mają podobne obowiązki do inżynierów oprogramowania. Mimo to tytuł inżyniera jest wyższy niż tytuł programisty.

oto, co wydaje mi się sprawiedliwe:

programista to ktoś, kto otrzymuje konkretne instrukcje do naśladowania, ale ma swobodę i kreatywność do zabawy, aby przyjąć podejście, które uzna za najbardziej odpowiednie.

nie są programistami typu „Monkey see, monkey do” w żaden sposób, ale mimo to… postępują zgodnie z zestawem jasnych instrukcji. Czasami programiści mogą być również uznani za programistów/inżynierów z pełnym stosem.

inżynier oprogramowania/programista

jak wspomniano wcześniej, terminy inżyniera oprogramowania i programisty mogą być używane zamiennie.

tylko dla niektórych firm czy osób prywatnych oznaczają one różne rzeczy.

tak więc, gdy patrzymy na wynagrodzenia, możemy rozważyć jedną jako młodszego dewelopera, a drugą jako starszego dewelopera lub lidera zespołu technicznego.

powiedzmy na przykład, że programiści są zwykle uważani za programistów początkujących. Dlatego możemy je nazwać młodszymi programistami.

ponieważ programiści plasują się wyżej niż Programiści, możemy ich nazwać wyższymi programistami.

a ponieważ inżynierowie oprogramowania pełnią rolę nadzorcy (według Wikipedii), wykonującego więcej zarządzania niż kodowania, możemy nazwać ich Tech leadami.

w oparciu o Glassdoor średnia pensja młodszego dewelopera wynosi około 63 502 usd/rok.

mediana wynagrodzenia dla starszego dewelopera wynosi około $82,518 / rok.

a średnia pensja lidera zespołu technicznego według Payscale wynosi około $101,381/rok.

naprawdę, jedną z głównych zalet bycia inżynierem oprogramowania jest posiadanie wynagrodzenia, które stawia cię w pierwszej 1% światowej populacji pod względem bezpieczeństwa finansowego.

inżynier oprogramowania vs programista — umiejętności, role i obowiązki…

myślę, że umiejętności miękkie są równie ważne jak twoje umiejętności techniczne. Bycie dobrym komunikatorem jako programista może sprawić, że będziesz nieocenionym współpracownikiem zespołu.

w pewnym momencie swojej kariery będziesz musiał zmierzyć się z zadaniami, które ciężko byłoby Ci wykonać samemu. Umiejętność uważnego słuchania innych członków zespołu zamiast przerywania i programowania w parze-to pomoże Ci ustalić pozycję dobrego programisty/inżyniera.

oto trzy dobre zasady, które moim zdaniem pomogą Ci stać się lepszym programistą i podnieść cię w rankingu.

1. Zadawaj pytania.

2. Nigdy wielozadaniowość.

3. Jeśli chcesz, aby wynik był 10, następnie przetestuj na 9 i 11. Błędne wyniki mogą stworzyć solidne rozwiązanie.

zasadniczo, ktoś, kto chce być uważany za inżyniera oprogramowania (starszy programista lub lider techniczny) powinien być w stanie uzyskać trudne rzeczy, przed którymi wszyscy inni uciekają.

wykształcenie inżyniera/programisty

najlepiej jest oczywiście zdobyć licencjat.

tak przynajmniej większość ludzi myśli. Jeśli masz czas, pieniądze i cierpliwość, równie dobrze możesz szlifować dodatkowe, aby uzyskać tytuł magistra. Tutaj znajdziesz jedne z najlepszych szkół inżynierii oprogramowania.

spora część profesjonalnych programistów, ankietowanych przez StackOverflow, powiedziała, że ich studia koncentrują się na informatyce i inżynierii oprogramowania.

mniejszy odsetek badanych respondentów powiedział, że specjalizowali się w pokrewnych dziedzinach inżynierii oprogramowania, takich jak programowanie komputerowe, Inżynieria komputerowa lub IT.

jeśli chodzi o znaczenie posiadania formalnego wykształcenia jako programista, większość programistów twierdzi, że nie jest to konieczne. To, co uważają za dużo ważniejsze, to umiejętność samodzielnego uczenia się i poszerzania wiedzy poza godzinami pracy szkoły … bycie samoukiem.

wielu programistów zaleca wzięcie udziału w kursach online lub obozach programistycznych. Te z pewnością pomogą Ci wylądować swoją pierwszą pracę.

uczenie się przez książki i zdawanie egzaminów online można również uznać za wysoce skuteczną praktykę poprawiającą twoje umiejętności kodowania.

wkład w open source jest wysoko ceniony również wśród programistów. Możesz udać się na GitHub i rozbudować swoje portfolio programistów, jednocześnie przyczyniając się do innych projektów i poszerzając zakres wiedzy.

Możesz również spróbować poszukać mentora.

LinkedIn, jak sądzę, jest idealnym miejscem na znalezienie mentora w 2020 roku.

trzeba się tylko wyróżnić od typowego faceta szukającego mentora.

jeśli wylądujesz w skrzynce odbiorczej swojego przyszłego mentora z wiadomością, która brzmi: „Hey dear Mike, I’ ve been following you for a while, I love your stuff. Szukam mentora. Jesteś wolny?”…są szanse, że nie otrzymasz wielu odpowiedzi.

zamiast tego bądź dowcipny. W końcu jesteś inżynierem oprogramowania.

pamiętaj o tym – ” jeśli potrafisz sprawić, by ktoś się uśmiechał lub śmiał, będziesz miał znacznie większą szansę na rozpoczęcie sensownej rozmowy.”

znalazłem całkiem spory sukces w następujących wierszach:

” Hej Mike. Chciałem się przedstawić w sposób, który pokazałby, że jestem ciekawy, mądry i dowcipny-niestety, zamiast tego napisałem tę wiadomość.”

a następnie przejdź do wyjaśnienia, dlaczego wysyłasz im wiadomość.

oczywiście może nie działać od pierwszego razu. W rzeczywistości, jeśli to działa za pierwszym razem, to nazywam to pieprzonym cudem.

zaciśnij zęby i dalej wysyłaj wiadomości. W końcu znajdziesz odpowiedniego mentora. A kiedy go znajdziesz, upewnij się, że przesadziłeś. Bądź gotów pracować za darmo, aby wchłonąć jak najwięcej wiedzy i umiejętności (osobiste myśli).

jednak twoim mentorem powinien być ktoś, kim chcesz być za 10 lat (w przeciwnym razie jaki jest sens zdobywania mentora?).

jednak LinkedIn może nie zawsze działać w twojej sytuacji. W takim przypadku Google up lokalne spotkania programistów w Twoim mieście.

lub idź na seminaria i nie wstydź się angażować prelegentów.

a może pójść na uczelnie i znaleźć tam ludzi o podobnych poglądach. (Może to być nieco trudne ze względu na obecną sytuację COVID, ale masz rację.)

inną opcją jest ubieganie się o pracę, w której będziesz otoczony przez starszych programistów i będziesz mógł codziennie przyswajać wiedzę.

dość tego.

życie programisty vs inżyniera oprogramowania

wszystkie typy programistów prawdopodobnie rozpoczną swój dzień z filiżanką kawy w ręku podczas sprawdzania wiadomości e-mail.

Po zakończeniu spotkań scrum, idą do przodu ze swoimi zwykłymi zadaniami.

Programiści (lub młodsi Programiści) najprawdopodobniej skupią się na kodowaniu.

Programiści (starsi programiści) mogą sprawdzić w zespole, czy ktoś ma trudności z wykonaniem określonego zadania.

inżynier oprogramowania (tech team lead) może mieć inne spotkania, aby upewnić się, że cele i wymagania projektu są wyraźnie przekazane zespołowi programistycznemu.

Po pracy spędzają czas ze znajomymi lub siedzą na komputerach, wykonując niezależną pracę, oglądając filmy na YouTube, słuchając muzyki lub grając w Fortnite, próbując w końcu zapewnić sobie zwycięstwo w 1.miejscu po 47. próbie.

ich układ przed snem składa się z oglądania filmów anime (Nie każdemu chyba lol), czytania książek motywacyjnych polecanych przez Oprah lub przewijania wiadomości hakerskich przed ich oczami.

Related Posts

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *