**Tarkvarainsener** on inimene, kes rakendab tarkvaraarendamise põhimõtteid arvuti tarkvara projekteerimise, arendamise, hooldamise, testimise ja hindamise suhtes.

Enne 1970. aastate keskpaika nimetasid tarkvara alal tegutsejad ennast programmeerijateks või tarkvaraarendajateks sõltumata nende tegelikest tööülesannetest. Paljud inimesed eelistavad nimetada end tarkvaraarendajaks ja programmeerijaks, sest enamik nõustub sellega, mida need mõisted tähendavad, kuid tarkvarainseneri täpne tähendus on endiselt arutlusel.

Haridus
-------

Praegu on peaaegu pooltel tarkvara alal tegelejatel informaatika, infosüsteemide või infotehnoloogia eriala teaduskraad. Seni on aga väga vähestel tarkvaratehnikaalane haridus, kuid see on tõusuteel. 1987. aastal tutvustas Imperial College London esimest kolmeaastast tarkvaratehnika bakalaureusekursust Suurbritannias ja maailmas. Järgmisel aastal avati Sheffieldi Ülikoolis sarnane kursus. Lisaks avati kursus 1996. aastal Ameerika Ühendriikide õppeasutuses Rochester Institute of Technology, kuid seal ei saadud kuni 2003. aastani ABET-akrediteeringut, mil said selle ka Rice'i ülikool, Clarksoni Ülikool, Milwaukee tehnikakool ja Mississippi Riiklik Ülikool.

Alates 2004. aastast on umbes 50 Ameerika Ühendriikide ülikoolis pakutud tarkavaratehnikat bakalaureuseõppes, mis õpetab nii informaatikat kui ka tarkvarainseneri töö põhimõtteid ja tavasid. 1979. aastal avas Seattle'i Ülikool esimesena tarkvaratehnika magistriõppe. Pärast seda avati paljudes ülikoolides sarnane õpe. 1998. aastal avas US Naval Postgraduate School esimese ülikoolina maailmas doktoriõppeprogrammi tarkvaratehnikas. Lisaks avati mitmeid veebikursusi, näiteks magistriõpe, mida pakutakse California osariigi ülikoolis Fullertonis informaatika ja -tehnoloogia osakonnas. Steve McConneli arvates on suur puudus tarkvarainseneridest, kuna enamik ülikoole õpetab pigem informaatikat mitte tarkvaratehnikat. IEEE andis ETS Universityle ja Québeci Ülikoolile Montréalis ülesandeks töötada välja tarkvaratehnika teadmiste kogu (SWEBOK), mis on muutunud ISO-standardiks, mis kirjeldab tarkvarainseneri tööks vajalikku teadmiste kogumit.

Elukutse
--------

### Tööhõive

Tarkvarainsenerid teevad koostööd ettevõtetega, valitsusasutustega ja mittetulundusühingutega. Osad nendest on ise enda tööandjad ning nende ülesandeks on anda nõu teistele inseneridele. Lisaks on organisatsioone, kellel on spetsialistid, kes lahendavad kõiki tarkvaraarenduse ülesandeid, kuid on ka ettevõtteid, kus eraldatakse tarkvarainsenerid konkreetsete tarkvaratehnika ülesannete alusel. Suuremates projektides eristatakse tarkvarainsenere inimestest, kes on spetsialiseerunud ainult ühele rollile, kuna nad osalevad nii projekti kavandamises kui ka programmeerimises. Väiksemates ettevõtmistes täidavad tarkvarainsenerid tavaliselt mitut või kõiki ülesandeid korraga. Spetsialistid jagatakse tavaliselt alljärgnevalt:

* tööstuses (analüütikud, arhitektid, arendajad, testijad, tehniline tugi, juhid);
* akadeemias (õpetajad, teadlased).

Tarkvarainseneride ja teiste IT-spetsialistide tulevaste tööhõivevõimaluste üle käib märkimisväärne arutelu. Näiteks on proovitud leida vastust küsimusele, kas 2012. aastal oli rohkem IT-alaseid töökohti kui 2002. aastal. Võimalused edasiarenemiseks võiksid olla tarkvarainsener, seejärel vanemtarkvarainsener või kohe vanemtarkvarainsener, sõltuvalt oskustest ja mainest. On olemas teenused, mis suudavad paremini kindlaks teha inseneri koodikirjutamisvõimet, kuna paljud insenerid ei suuda oma võimeid sama kiirusega edasi arendada. Nii on võimalik tööandjal leida endale hästi tööle sobivat töötajat ning töötajal leida endale sobiv töö.

### Töö

Töö on kontoripõhine ja enamik tööd tehakse tavalise tööaja piires. Mõnikord võib tulla ette ka töötamist kontorist eemal ja töötamist hilistel tundidel või nädalavahetustel, olenevalt kliendi asukohast, kui klient peaks asuma teises ajavööndis. Seda tööd saab teha kõikjal, kõige tähtsam on, et arvuti oleks olemas.

Viited
------

1. 1 2  Cowling, A. J. 1999. The first decade of an undergraduate degree program in software engineering. Ann. Softw. Eng. 6, 1–4 (Apr. 1999), 61–90.
2. ↑  "ABET Accredited Engineering Programs". April 3, 2007. Tsiteeritud: 14. detsember 2018
3. ↑  McConnell, Steve (July 10, 2003). *Professional Software Development: Shorter Schedules, Higher Quality Products, More Successful Projects, Enhanced Careers*. ISBN 978-0-321-19367-4. Tsiteeritud: 14. detsember 2018
4. ↑  *Software Engineering – Guide to the Software Engineering Body of Knowledge (SWEBOK)*, International Organization for Standardization, 2005, Tsiteeritud: 14. detsember 2018
5. ↑  "Kitchen Soap – On Being A Senior Engineer". Kitchensoap.com. Tsiteeritud: 14. detsember 2018