Job Details
Experience Needed:
Career Level:
Education Level:
Salary:
Job Categories:
Skills And Tools:
Job Description
Solution Design and Specification
- Understands functional specifications to devise technical design specifications
- Formulates plan outlining steps required to develop program, using structured analysis and design
- Prepares flowcharts and diagrams to illustrate sequence of steps program must follow and to describe logical operations involved
- Converts project specifications, using flowcharts and diagrams, into sequence of detailed instructions and logical steps for coding into programming languages
- Develops system specification
Solution Coding :
- Reads, writes, and organizes well-engineered code that is readable, adequately commented, robust, and adheres to best standards, SOLID principles, and reusable patterns.
- Writes testable code with unit tests
- Codes program modifications or reuses existing code using the program development software alternatives or integrating purchased solutions
- Modifies and troubleshooting applications programs
- Develops data and process modeling, and develops graphical user interfaces (GUIs) and prototypes
Solution Testing and Documentation
- Reads, writes, and organizes test suites using best practices and reusable patterns.
- Writing automation tests avoiding duplication, and improve automation testing coverage
- Prepares test data, test cases and files for Unit / integration testing
- Tests programs to detect syntax or logic errors during program test, or using diagnostic software to detect errors
- Replaces, deletes, or modifies codes to correct errors
- Assists, with guidance, in overall system testing
- Writes documentation to describe program development, logic, coding, and corrections
- Writes manual for users to describe installation and operating procedures
Solution Implementation, Maintenance and Customization
- Supports the implementation of software packages
- Performs maintenance and modifications of projects currently in production
- Effective use of source control system packages and package management system, build and IDE tools and configuration of development environment
- Syncs and commits changes with source control safely
Software Release Management
- Ensures all release notes are completed properly
- Ensures all scripts / software components are bundled as part of the provided release
Guiding Junior Team Members
- Provides technical expertise to new and/or junior members in the team to guide them on a day to day basis and help them scale up faster
Self Development
- Strives to achieve the highest levels of proficiency on all the competencies and skills required to perform the role
- Identifies the training and development requirements for self and agrees on them with manager to ensure that the required trainings are arranged and attended
- Sets the performance goals in the beginning of the year after discussion with the manager and ensures that the goals are achieved during the year
Policies, Systems, Processes and Procedures
- Implements procedures and controls covering all areas relevant to the role so that procedural/legislative requirements are fulfilled while delivering a quality, cost effective service
- Ensure that the design and the development of the software, is in line with industry’s best security standards, practices, or methodologies
- Ensure that the information security framework and all relevant procedures, standards and practices are followed by all team members
- Build appropriate controls into business application software so that the business activity it supports is secure and reliable
Quality Management
- Complies with all relevant quality management procedures and controls to guarantee compliance and delivery of high-quality products/service
Job Requirements
- BS/MS in computer science or equivalent
- Excellent communication skills, learner, problem solver and team player.
- Must have :
- Good understanding and hands on experience of OOP
- Hands on experience using spring framework (Spring boot, MVC, JBA, Batch, …etc.) for backend
- Hands on experience in front end development utilizing different technologies for example (Angular, React, HTML5, …etc.)
- Hands on experience in (REST, SOAP, JSON, XML, and API design)
- Experience in SQL database (oracle is preferred)
- Preferred
- Understanding of security concerns
- Quality assurance and automated testing tools knowledge
- Hands on experience developing enterprise applications with high volume transactions is preferred.
- Experience in message driven development
- Knowledge of NoSQL databases is preferred (Cassandra, elastic, Redis)
- Knowledge of microservices reactive architectures is preferred
- Knowledge of cloud computing platforms (AWS)
- Knowledge of Big Data and Hadoop Spark frameworks