Arukate arvutite ja arvutisüsteemide loomine, programmeerimine ja efektiivne kasutamine on aga seoses süsteemide keerukuse suure kasvuga üha problemaatilisem. Ei piisa vaid väga headest teadmistest mõnes kitsas valdkonnas, näiteks programmeerimises. On esmaoluline omada laialdasi teadmisi erinevatest omavahel seotud valdkondadest, ennekõike arvutite riistvarast, süsteemitarkvarast, kommunikatsioonivõrkudest ning erinevatest tarkvararakendustest.