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
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
What will make you a good fit for the role?