Tietoinsinööri tutkii, suunnittelee ja toteuttaa tietokoneohjelmistoja, jotka voivat suorittaa monenlaisia ongelmanratkaisutehtäviä. Ammattilaiset työskentelevät tietopohjaisten järjestelmien (KBS) kanssa, jotka yhdistävät tekoälyn tiedon louhintaan, tietojen syöttämiseen, laskentatehtäviin ja päätöksentekosovelluksiin. He yrittävät muotoilla koodeja ja ohjelmia, jotka toimivat samalla tavalla kuin ihmisen asiantuntija tietyssä tehtävässä, kuten monimutkaisten fysiikan yhtälöiden ratkaisemisessa. Suurin osa tietoinsinööreistä on ohjelmistokehitysyritysten palveluksessa, vaikka jotkut työskentelevät yksityisissä yrityksissä ja konsulttiryhmissä.
Uuden tyyppistä KBS:ää tutkiessaan tietoinsinööri ottaa ensin huomioon nykyisten teknologioiden rajoitukset ja tehokkaampien ohjelmien tarpeen. Hän saattaa keskustella ohjelmoijien, ohjelmistokehittäjien ja loppukäyttäjien kanssa saadakseen tietoa heidän huolenaiheistaan, ongelmistaan ja tarpeistaan. Insinööri käsittelee uutta ohjelmistoprojektia heidän kritiikkinsä mielessä.
Uuden tekoälyjärjestelmän rakentaminen vaatii usein viikkoja tai kuukausia omistautunutta työtä. Insinööri yrittää saada järjestelmän toimimaan komentojen ja ongelmien avulla aivan kuten tietyn toimialueen asiantuntija tekisi. Hän asettaa ohjelman käyttöön loogisia vaiheita ongelman ratkaisemiseksi tai päätöksen tekemiseksi nopeasti. Itse asiassa aikaa ja energiaa säästyy verrattuna ohjelmaan, joka käyttää kaikki mahdolliset reitit etsiessään vastausta algoritmisesti.
Tietoinsinöörin on tärkeää olla erittäin yksityiskohtainen ja organisoitu. Uutta ohjelmaa kirjoittaessaan hänen tulee olla varma, ettei virheitä tehdä. Pienikin virhe koodissa voi häiritä koko ohjelmaa ja häiritä datatulostusta. Lisäksi tietoinsinöörillä on oltava kaukonäköisyys sisällyttää ohjelmaan erityisiä ohjeita, jotka vähemmän kokenut ohjelmoija voi jättää huomiotta. Hän saattaa esimerkiksi pystyä estämään yleiset tiedonsyöttövirheet laskentataulukkosovelluksessa ohjelmoimalla tietokoneen tunnistamaan, kun jokin tieto eroaa suuresti aiemmista merkinnöistä. Jos sovellus havaitsee, että esimerkiksi 100:n sijaan syötettiin 10, se voi kysyä käyttäjältä, onko hän varma, että syöttö on oikein.
Tietoinsinööriksi ryhtymisestä kiinnostunut voi tutkia kandidaatin tutkinto-ohjelmia akkreditoiduissa korkeakouluissa ja yliopistoissa. Suhteellisen harvat koulut tarjoavat erityisesti tietotekniikan tutkintoja, mutta tietojenkäsittelytieteen tai ohjelmistotekniikan ohjelma voi tarjota asianmukaisen koulutuksen. Monet tulevat insinöörit päättävät suorittaa maisterin tutkinnon tai uudemman ennen kuin etsivät töitä erikoisalalta. Uudella tietoinsinöörillä on yleensä mahdollisuus työskennellä kokeneiden ammattilaisten kanssa useita viikkoja tai kuukausia hallitakseen taitojaan.