Knowledge of: The principles, methods, and techniques in software engineering in web front end and backend development; data structures; algorithm analysis; computer organization and architecture; compiler (front-end parser); relational databases; operating systems; backend development in an object-oriented language; automata and formal languages or computational theory; systems configurations, library publishing packages, NuGet packages and repositories; networking or distributed computing; source control and NuGet packages. Ability to: Build user friendly software systems; employ a systematic and structured approach to software engineering; monitor and troubleshoot software errors; communicate technical details clearly and succinctly; take initiatives to learn new technologies; understand technical requirements and follow detailed technical instructions; work in a fast paced but flexible environment; collaborate and work as part of a team.