ESSENTIAL DUTIES & RESPONSIBILITIES
- Implement, debug, configure, build, deploy and test applications.
- Implement: implement new requirements, handle change requests and fix bugs for different releases. Software engineer should deliver a high quality and functioning code.
- Debug: ability to track and debug the code to easily figure out issues' root causes.
- Configure: put configuration layering, change application configuration on different environment, maintain and manager different configuration files.
- Build: knowledge of how to write build scripts (e.g. using ant or maven) and how to configure nightly building tools (e.g. Jenkins)
- Deploy: deployment automation, how to easily deploy applications on different environments and operating systems.
- Test: test the work before publishing, test functional and non-functional system requirements.
- Technical design, analysis and research.
- Design: participate to find solutions.
- Analysis and research: stay up to date with new technologies and solutions for different problems, quick research is required.
- Ability to quickly analyze and provide solutions to business and technical problems.
- Understanding tasks priorities, using JIRA, participate in task estimation and follow releases policies and rules
- Setting priorities: discuss and understand priorities with leader.
- JIRA: regular access and updates on JIRA.
- Estimation: provide roughly and almost accurate estimates for the assigned tasks to assigned leader, stick to due dates and meet the deadlines.
- Follow the release policies and process.
- Other teams support, collaboration and training,
- Software engineer should be collaborative not only within the team but with other teams.
- Support and help could be required including shifting between teams in different releases.
- Training and guidance: knowledge transfer, training sessions and guiding other colleagues.
- 1-3 years of experience in Java software development.
- Bachelor's degree in Computer Science or equivalent education in the form of work experience at similar technology positions.
- Technical skills required:
- OOP concepts and design patterns
- JEE/J2EE and Frameworks (basics of JSP and Servlet)
- Application Servers (Apache Tomcat)
- Database (Native SQL, DB design and ERD, MySQL)
- ORM (JPA, Hibernate)
- Clean Code (Code quality standards)
- Unit Test and frameworks (Junit)
- Source/Revision Control (GIT or SVN)
- The following will be a plus:
- JEE/J2EE and Frameworks (any of EJB, Spring, JSF)
- Application Servers (one of the enterprise application servers e.g. weblogic, JBoss, websphere, Glassfish, OC4J)
- Web Services (REST and SOAP webservices basics)
- XML (XSD, DTD, XML)
- Build Tools (Maven)
- Big Data (Hadoop, Hive, Sqoop, any NoSQL database like Hbase or MongoDB)
- Search Frameworks (Apache Solr, ElasticSearch)
- General (Security, Aspect Oriented)
- Continuous Integration (Jenkins)
- Issue Tracking (JIRA)
Back to top