Programozó - Programmer

Szamítógép programozó
Két nő működteti az ENIAC -t (teljes felbontás) .jpg
Betty Jennings és Fran Bilas , az első ENIAC programozó csapat tagja
Foglalkozása
Nevek Szamítógép programozó
Foglalkozás típusa
Szakma
Tevékenységi szektorok
Informatika , Szoftveripar
Leírás
Kompetenciák Számítógépes kód írása és hibakeresése, dokumentációs feladatok. Néhány tervezési és fejlesztési munkát gyakran végeznek.
Iskolai végzettség szükséges
A tanulószerződéstől a kapcsolódó területen szerzett alapképzésig változik

A számítógépes programozó , akit néha szoftverfejlesztőnek , programozónak vagy újabban kódolónak neveznek (különösen informálisabb környezetben), olyan személy, aki számítógépes szoftvereket készít . A számítógépes programozó kifejezés utalhat a számítógépek egy területének specialistájára, vagy egy generálisra, aki sokféle szoftverhez ír kódot.

A programozó leggyakrabban használt számítógépes nyelve (pl. Assembly , COBOL , C , C ++ , C# , JavaScript , Lisp , Python , Java ) a programozó kifejezés elé kerülhet . Néhányan, akik webes programozási nyelvekkel dolgoznak, a címeiket is a webes előtaggal látják el .

Terminológia

Nincs az egész iparágra kiterjedő szabványos terminológia, ezért a "programozó" és a " szoftvermérnök " ugyanazon szerepkörre utalhat különböző vállalatoknál. Leggyakrabban a "programozó" vagy "szoftverfejlesztő" munkakörrel rendelkező személy összpontosíthat a részletes specifikáció számítógépes kódba történő bevezetésére, a hibák kijavítására és a kódvizsgálatok elvégzésére. Lehet, hogy van egy bizonyos fokú számítógép-tudomány , a társult fok , vagy lehet, hogy autodidakta vagy részt vett egy programozási boot camp . A " szoftvermérnök " munkakörrel rendelkező személytől elvárják, hogy megértse a szoftverfejlesztési elveket, a fejlettebb matematikát és a tudományos módszert , és szükség lehet szoftvermérnöki, számítástechnikai vagy informatikai végzettségre . Egyes országok jogilag megkövetelik a tényleges mérnöki végzettséget mérnöknek. Azokban a vállalatokban, amelyek különbséget tesznek, a szoftvermérnököknek szélesebb és magasabb szintű felelősségeik lehetnek, például új programok, funkciók és platformok tervezése vagy "felépítése"; a szoftverfejlesztés életciklusának kezelése, beleértve a tervezést, megvalósítást, tesztelést és telepítést; programozói csapat vezetése; kommunikáció üzleti ügyfelekkel, programozókkal és más mérnökökkel; figyelembe véve a rendszer stabilitását és minőségét; és a szoftverfejlesztési módszerek feltárása .

A rendszerépítész egy kapcsolódó munkakör, amely magában foglalhatja a műszaki tervek elkészítését, miközben a tényleges programozást másokra bízza.

Történelem

Ada Lovelace -t sokan az első számítógépes programozónak tartják.

Brit grófné és matematikus Ada Lovelace gyakran tekintik, hogy az első számítógép-programozó, mint ő volt az első, hogy tegye közzé a program része (pontosabban egy algoritmus ) szánt végrehajtás Charles Babbage „s analitikus motor októberben 1842. Az algoritmust használtuk Bernoulli számok kiszámításához . Mivel Babbage gépét Lovelace idejében soha nem készítették el működő szabványként, soha nem volt lehetősége arra, hogy az algoritmust működés közben lássa.

Az első ember, hogy végre egy programot egy működő, modern, elektronikus számítógép volt a számítógép tudós Konrad Zuse 1941.

Az ENIAC programozócsapata - Kay McNulty , Betty Jennings , Betty Snyder , Marlyn Wescoff , Fran Bilas és Ruth Lichterman - az első rendszeres számítógépes programozó.

A szoftveripar

Az első cég, amelyet kifejezetten szoftvertermékek és szolgáltatások nyújtására alapítottak, a Computer Usage Company volt 1955 -ben. Ezt megelőzően a számítógépeket vagy az ügyfelek, vagy az akkori néhány kereskedelmi számítógép -gyártó programozta , mint például a Sperry Rand és az IBM .

A szoftveripar a hatvanas évek elején bővült, szinte azonnal azután, hogy a számítógépeket először tömegesen értékesítették. Az egyetemek, a kormányok és a vállalkozások igényt teremtettek a szoftverek iránt. Sok ilyen programot házon belül, teljes munkaidőben dolgozó programozók írtak; egyeseket térítésmentesen osztottak szét egy adott gép felhasználói között, míg másokat kereskedelmi alapon értékesítettek. Más cégek, például a Computer Sciences Corporation (1959 -ben alapították) is növekedni kezdtek. A számítógépgyártók hamarosan elkezdték összekötni gépeikkel az operációs rendszereket , rendszerszoftvereket és programozási környezeteket ; Az IBM 1620 az 1620 szimbolikus programozási rendszerrel és a FORTRAN -nal érkezett .

Az iparág nagymértékben kibővült a személyi számítógép (PC) 1970-es évek közepén történő felemelkedésével , amely az átlagos irodai dolgozók számára hozta a számítástechnikát. A következő években a PC is hozzájárult a játékok, alkalmazások és segédprogramok folyamatosan növekvő piacának megteremtéséhez. Ennek eredményeként megnövekedett a szoftverfejlesztők iránti kereslet ebben az időszakban.

A 21. század első éveiben újabb sikeres üzleti modell alakult ki a tárolt szoftverek számára, az úgynevezett szoftver-szolgáltatásként (SaaS). Bizonyos szabadalmazott szoftverek gyártói szempontjából a SaaS csökkenti a jogosulatlan másolás miatti aggodalmakat , mivel az csak a weben keresztül érhető el, és definíció szerint semmilyen ügyfélszoftver nem töltődik be a végfelhasználó számítógépére. A SaaS rendszerint elfogy a felhőből .

A munka jellege

A számítógépes programozók írják, tesztelik, hibakeresik és fenntartják a részletes utasításokat, az úgynevezett számítógépes programokat , amelyeket a számítógépeknek követniük kell a funkcióik elvégzéséhez. A programozók logikai struktúrákat is terveznek, terveznek és tesztelnek a problémák számítógépes megoldására. A programozás számos technikai újítása - a fejlett számítási technológiák és a kifinomult új nyelvek és programozási eszközök - újradefiniálta a programozó szerepét, és megemelte a ma elvégzett programozási munka nagy részét. A munkakörök és -leírások szervezetenként változhatnak.

A programozók számos környezetben dolgoznak, beleértve a vállalati információtechnológiai (IT) osztályokat, a nagy szoftvercégeket , a kis szolgáltató cégeket és minden méretű kormányzati szervezetet. Sok professzionális programozó is dolgozik tanácsadó cégeknél az ügyfél telephelyein, mint vállalkozók . A programozói munkához általában nem szükséges engedély , de a szakmai képesítéseket általában a programozók birtokolják. A programozást széles körben hivatásnak tekintik (bár egyes hatóságok nem értenek egyet azzal az indokkal, hogy csak a törvényes engedélyezési követelményekkel járó pályák számítanak hivatásnak).

A programozók munkája nagymértékben eltér attól a vállalkozástípustól, amelyhez programokat írnak. Például a pénzügyi nyilvántartások frissítésével kapcsolatos utasítások nagyon különböznek azoktól, amelyek a repülésszimulátoron kiképző pilóták számára szükségesek a repülőgépen történő feltételek megismétléséhez . Egyszerű programok néhány óra alatt írhatók. A bonyolultabbak több mint egy éves munkát igényelhetnek, míg mások soha nem tekinthetők „befejezettnek”, hanem folyamatosan fejlesztik őket, amíg használatban vannak. A legtöbb esetben több programozó dolgozik együtt csapatként egy vezető programozó felügyelete alatt.

A programozók programokat írnak a specifikációk szerint, amelyeket elsősorban magasabb rangú programozók vagy rendszerelemzők határoztak meg . A tervezési folyamat befejezése után a programozó feladata, hogy ezt a tervezést logikus utasítássorozatká alakítsa át, amelyet a számítógép követni tud. A programozó ezeket az utasításokat a sok programozási nyelv egyikén kódolja. A program céljától függően különböző programozási nyelveket használnak. A COBOL -t például általában olyan üzleti alkalmazásokhoz használják, amelyek általában nagyszámítógépen és középkategóriás számítógépeken futnak , míg a Fortran a tudományban és a mérnöki tudományban. A C ++ és a Python széles körben használatos tudományos és üzleti alkalmazásokban. A Java , a C# , a JavaScript és a PHP népszerű programozási nyelvek a webes és üzleti alkalmazásokban. A programozók általában több programozási nyelvet ismernek, és mivel sok nyelv hasonló, gyakran viszonylag könnyen megtanulhatnak új nyelveket. A gyakorlatban a programozókat gyakran az általuk ismert nyelv, például Java -programozók , vagy az általuk végzett funkció típusa vagy a környezet, amelyben dolgoznak, például adatbázis -programozók , nagygépes programozók vagy webfejlesztők .

Amikor módosítja a programot meghatározó forráskódot , a programozóknak tudatosítaniuk kell más programozókkal, hogy a rutinnak milyen feladatot kell végrehajtania. Ezt úgy teszik, hogy szoftverdokumentációt írnak, és megjegyzéseket illesztenek be a forráskódba, hogy mások könnyebben megértsék a programot. Az időtakarékosság érdekében a programozók gyakran használnak alapvető kódtárakat , amelyek módosíthatók vagy testre szabhatók egy adott alkalmazáshoz. Ez a megközelítés megbízhatóbb és következetesebb programokat eredményez, és néhány rutin lépés kiküszöbölésével növeli a programozók termelékenységét.

Tesztelés és hibakeresés

A programozók tesztelik a programot, futtatva azt, és keresve a hibákat (hibákat). Azonosítás után a programozó általában elvégzi a megfelelő korrekciókat, majd újra ellenőrzi a programot, amíg a hibák elfogadhatóan alacsony szintje és súlyossága megmarad. Ezt a folyamatot tesztelésnek és hibakeresésnek nevezik . Ezek fontos részei minden programozó munkájának. A programozók ezeket a problémákat a program teljes élettartama alatt javíthatják. A meglévő programok frissítését, javítását, módosítását és bővítését néha karbantartási programozásnak nevezik . A programozók hozzájárulhatnak a felhasználói útmutatókhoz és az online súgókhoz , vagy együttműködhetnek műszaki írókkal az ilyen munkák elvégzéséhez.

Alkalmazás versus rendszer programozás

A számítógépes programozókat gyakran két nagy típusba sorolják: alkalmazásprogramozók és rendszerprogramozók. Az alkalmazásprogramozók programokat írnak egy adott feladat elvégzésére, például egy programot a szervezeten belüli készletek nyomon követésére. Felülvizsgálhatják a meglévő csomagolt szoftvereket, vagy testre szabhatják az általános alkalmazásokat, amelyeket gyakran független szoftvergyártóktól vásárolnak . A rendszerprogramozók ezzel szemben programokat írnak a számítógépes rendszerszoftverek karbantartásához és vezérléséhez, például operációs rendszerekhez és adatbázis -kezelő rendszerekhez . Ezek a dolgozók változtatásokat hajtanak végre az utasításokban, amelyek meghatározzák, hogy a rendszer hálózata, munkaállomásai és CPU -k hogyan kezelik a kapott különböző feladatokat, és hogyan kommunikálnak a perifériás berendezésekkel, például nyomtatókkal és lemezmeghajtókkal .

Képzettségek és készségek

A programozónak műszaki ismeretekkel kell rendelkeznie a számítástechnika bizonyos vonatkozásaiban. Egyes pozíciók megkövetelik a megfelelő területen szerzett végzettséget, például informatika, információtechnológia, mérnöki, programozási vagy egyéb kapcsolódó tanulmányok.

Szoftvertípusok

A programozók közvetlenül együttműködhetnek a különböző területek szakértőivel, hogy szoftvereket - akár egyedi ügyfeleknek tervezett programokat, akár általános használatra csomagolt szoftvereket - készítsenek, a videojátékoktól az oktatási szoftvereken át az asztali kiadványok készítéséig vagy a pénzügyi alkalmazásokig. A csomagolt szoftverek programozása a számítógép -szolgáltatási iparág egyik leggyorsabban növekvő szegmense. Egyes vállalatok vagy szervezetek-még a kicsik is-saját informatikai csapatot állítottak fel annak érdekében, hogy biztosítsák a belső szoftverek tervezését és fejlesztését, hogy megfeleljenek a belső végfelhasználóik nagyon speciális igényeinek, különösen akkor, ha a meglévő szoftverek nem megfelelőek vagy túl drágák. . Ez a helyzet például a kutatólaboratóriumokban .

Egyes szervezetekben, különösen a kicsi szervezetekben, a programozói elemzők által ismert emberek felelősek mind a rendszerelemzésért, mind a tényleges programozási munkáért. A nagyszámítógépes környezetből az elsősorban személyi számítógépeken (PC) alapuló környezetbe való átmenet elmosta a programozó és a felhasználó közötti egykor merev különbséget. Egyre gyakoribb végfelhasználók veszik át a programozók által korábban elvégzett feladatok nagy részét. Például a csomagolt szoftverek, például a táblázatkezelő és adatbázis -kezelő szoftvercsomagok növekvő használata lehetővé teszi a felhasználók számára, hogy egyszerű programokat írjanak az adatok eléréséhez és a számítások elvégzéséhez.

Emellett az internet térnyerése a webfejlesztést a programozási terület hatalmas részévé tette. Jelenleg sok szoftveralkalmazás olyan webes alkalmazás , amelyet bárki használhat webböngészővel . Ilyen alkalmazások például a Google keresési szolgáltatás, az Outlook.com e-mail szolgáltatás és a Flickr fotómegosztó szolgáltatás.

A programozó szerkesztők, más néven forráskód -szerkesztők , olyan szövegszerkesztők, amelyeket kifejezetten a programozók vagy fejlesztők számára terveztek, hogy írhassanak egy alkalmazás vagy egy program forráskódját. Ezeknek a szerkesztőknek a többsége olyan programozók számára hasznos funkciókat tartalmaz, amelyek magukban foglalhatják a szín szintaxis kiemelését , az automatikus behúzást, az automatikus kiegészítést , a zárójelegyezést, a szintaxisellenőrzést és a beépülő modulok engedélyezését . Ezek a funkciók segítik a felhasználókat a kódolás, hibakeresés és tesztelés során.

Globalizáció

Piaci változások az Egyesült Királyságban

A BBC News szerint a számítástechnikai hallgatók 17% -a nem talált munkát a szakterületén 6 hónappal az érettségi után 2009 -ben, ami a megkérdezett egyetemi tantárgyak közül a legmagasabb, míg az orvostanhallgatók 0% -a munkanélküli volt ugyanebben a felmérésben.

Piaci változások az USA -ban

A dot-com buborék összeomlása (1999–2001) és a nagy recesszió (2008) után sok amerikai programozó munka nélkül vagy alacsonyabb fizetéssel maradt. Ezenkívül az Egyesült Államokban évek óta csökken a számítógéppel és egyéb STEM-fokozatokkal (STEM-lemorzsolódással) való beiratkozás, különösen a nők esetében, ami Beaubouef és Mason szerint a tudomány iránti általános érdeklődés hiányának tulajdonítható. matematikából, és attól a látszólagos félelmétől is, hogy a programozás ugyanolyan nyomásnak lesz kitéve, mint a gyártó és a mezőgazdasági karrier. A programozók számára az amerikai munkaügyi statisztikai hivatal (BLS) Occupational Outlook 2016 és 2026 között 7 százalékos csökkenést, 2019 -től 2029 -ig további 9 százalékos csökkenést, 2020 -tól 2030 -ig pedig 10 százalékos csökkenést jósol. a világ bármely pontjáról elvégezhető, ezért a cégek néha olyan országokban alkalmaznak programozókat, ahol alacsonyabb a fizetés. A szoftverfejlesztők BLS -projektjei azonban 2019 -re 2029 -re 22% -kal növekednek, 1 469 200 -ról 1 785 200 -ra, átlagos évi 110 000 dolláros alapbérrel. Ez az előrejelzés alacsonyabb, mint a korábbi 2010 és 2020 közötti 30% -os növekedés a szoftverfejlesztők számára. Bár a megkülönböztetés némileg kétértelmű, a szoftverfejlesztők az alkalmazások fejlesztésének szélesebb körét veszik igénybe, és általában magasabb képzettségűek, mint a programozók, így az outsourcing kisebb kockázatot jelent. A programozók hanyatlásának másik oka, hogy készségeiket egyesítik más szakmákkal, például a fejlesztőkkel, mivel a munkaadók idővel növelik a pozícióra vonatkozó követelményeket.

Lásd még

Hivatkozások

További irodalom

  • Weinberg, Gerald M. , A számítógépes programozás pszichológiája , New York: Van Nostrand Reinhold, 1971
  • Tapasztalati tanulmány a programozási munka természetéről: Lucas, Rob. "Dreaming in Code" New Left Review 62, 2010. március – április, 125–132.
  • Thompson, Clive (2019). Kódolók: Új törzs létrehozása és a világ újrateremtése . Penguin Press. ISBN 978-0735220560.

Külső linkek