Software Engineer, Architect, Software Developer and Project Manager.