- Design, develop, troubleshoot, debug and implement software products and solutions accordance with established standards.
- Participate in conducting analysis reports about user requirements, new task requirements and impact of new task on the internal work flow.
- Participate in technical design and functional specification reviews.
- Participate in code reviews to ensure adherence to coding standards.
- Supervise and mentor Software Developers with Team Leader coordination.
- Apply basic professional knowledge related to software engineering processes and tools used within the team.
- Research, evaluate and recommend software tools to team leaders.
- Bachelor’s degree or higher in Computer Science, Computer Engineering, Information Systems, or equivalent experience.
- 3-5 years' experience as Java Software Developer or prior experience in same position.
- Advanced and in-depth professional knowledge of software development, system/product design, and integration.
- Extensive technical background in software development tools and techniques.
- Excellent knowledge of Java (J2EE) for web applications (incl. Spring and Hibernate).
- Good Knowledge of JQuery.
- Excellent knowledge of Web Services.
- Good knowledge of HTML, CSS, JSON/XML and other basic syntax.
- Familiarity with a variety of SQL compliant database platforms, web servers, and environments.
- Experience with application servers: Weblogic, JBoss is plus.
- Excellent knowledge of multitier architecture.
- Good understanding of Enterprise Application Development.
- Very good knowledge of Design Patterns.
- Very good knowledge of configuration management systems e.g. SVN, TFS, Git...etc.
- Very good knowledge of automated build / continuous integration systems e.g. Maven, Hudson...
- Excellent knowledge of Object Oriented Concepts.
- Excellent understanding of Unit testing concepts.
- Excellent knowledge of reporting tools e.g. BIRT, JasperReports, Pentaho, Crystal Reports...etc.
- Good knowledge in SDLC models, including RUP or Agile (SCRUM).
- Creative approach to problem solving.
- Ability to work under pressure and meet deadlines.
- Able to work effectively in a team environment.
- Excellent communication skills.
- Excellent in English and Arabic Language.
- Time Management Skills.
- Ability to make self-studies.
- Highly organized and have the ability to multi-task.