Key Roles and Responsibilities:
- Develop applications that effectively accomplish client objectives and user needs.
- Design and write code for applications and maintain applications databases.
- Analyze and edit existing software applications to improve and optimize functionality, fix problems, and enable their use on new hardware platforms.
- Remodel and adapt applications as needed to optimize performance.
- Identify specific customer and client needs and preferences related to the application.
- Test applications extensively to ensure they are error and bug-free.
- Install applications and act as technical advisor.
- Communicate with relevant internal technical stakeholders to obtain information on project limitations, performance requirements, and interfaces.
- Consult with clients in the design phase to determine client needs.
- Produce software documentation following company software process and templates.
- Participates in software product review meetings and team meetings.
Knowledge, Skills, and Attributes:
- Broad understanding of computer science, with specific knowledge of computer programming, application design, and user-focused features
- Creative problem solvers
- Good interpersonal, communication, and organizational skills
- Good team players and maintain the integrity and display good attention to detail
- Ability to understand and analyze complex systems
- Proficient in writing software using the Java Programming Language and a standard object library
- Sound knowledge of software development process
- Familiarity with agile development such as Scrum
- Knowledge of software integrated development environments
- Extensive knowledge in various programming languages (Java, Perl, Python, C++, etc.)
- Demonstrated analytical, organizational, and project management skills, using relevant information to make timely and critical decisions that affect cross-functional teams
- Ability to handle client and customer issues tactfully and professionally
Academic Qualifications and Certifications:
- Bachelor’s degree in computer science or software engineering
- Relevant certifications
Required Experience:
- Software Applications Engineering, Software Development experience, or related work experience
- Experience with Programming Languages such as C, C++, Java, Python, etc.
- Experienced with Linux or Unix and Windows operating systems
- Experience working with SQL
- Project management experience and/or experience working in an Agile environment