The process of analyzing user needs and designing, constructing, and testing end-user
applications that will satisfy these needs through the use of software programming
languages. It applies engineering principles to software development. In contrast to simple
programming, software engineering is used for larger and more complex software systems,
which are used as critical systems for businesses and organizations.
- The ability to analyze complex technical information.
- The ability to analyze business requirements and assess impact within the existing
database architecture.
- Good research skills.
- Be an excellent problem solver.
- Have experience building software applications.
- Have experience, or at least a working familiarity, with JavaScript, Linux/Unix, Perl,
Shell, Java, Ruby, PHP, Python, Hands-On SQL, Microsoft ASP.NET MVC, Web API, Node.js.
- Have a thorough understanding of computer architecture, operating systems, and data
structures.
- The ability to transform requirements into design concepts and entity relationship
diagrams (ERDs).
- Working knowledge of C, C++, and C#.