Job Description
<p><strong>Position: Senior Java Software Engineer (JEE/JSF)</strong></p><p>Software engineering expert across all phases of the software development lifecycle for migration of .NET web applications to Java web applications.</p><p><br></p><p><strong>Client</strong></p><p>Company: Private company with branches in Saudi Arabia and the UAE</p><p>End-Client Organization: Government organization located in Riyadh, Saudi Arabia</p><p><br></p><p><strong>Location</strong></p><p>Remote; can be anywhere within 2 timezones of Riyadh, Saudi Arabia.</p><p><br></p><p><strong>Duration</strong></p><p>2 months, with potential extension for 1 extra month.</p><p><br></p><p><strong>Compensation</strong></p><p>Between 3000-4000 US dollars per month.</p><p><br></p><p><strong>Domain / Applications</strong></p><p>Large hospital; client-facing portal services/applications to be migrated.</p><p><br></p><p><strong>Tasks and Responsibilities</strong></p><p>● Migrate approximately 12 small .NET web applications Java (using Java Server Faces).</p><p>● Design robust, high-performance, low-maintenance, and documented solutions.</p><p>● Produce high-quality implementations of applications, including writing Java code and SQL queries.</p><p>● Maintain existing applications and services.</p><p>● Suggest and demonstrate efficient designs & technologies for applications developed by the group.</p><p><br></p><p><strong>Key Technologies</strong></p><p>● Java (version 1.8), Java Enterprise Edition, Java Server Faces (JSF 2.3), web applications, Javascript, jQuery, XML, SQL, Glassfish 5.1.0, gradle, git.</p><p><br></p><p><strong>Required Experience</strong></p><p>● 8 years experience MINIMUM building Java-based applications.</p><p>● 6 years experience developing applications using an ORM framework.</p><p>● 6 years experience using Java Server Faces, at least version 2.2.</p><p>● 6 years experience producing and analyzing complex SQL queries.</p><p>● 4 years experience with REST web services.</p><p>● 4 years working with Javascript frameworks, e.g. jQuery, dojo.</p><p>● 8 years working with HTML and CSS.</p><p>● 2 years working with Gradle.</p><p><br></p><p><strong>Required Skills</strong></p><p>● Absolutely excellent understanding of how to use Java Enterprise Edition to develop web applications and REST-based services.</p><p>● Absolutely excellent understanding of how to use Java Server Faces to build dynamic web applications.</p><p>● Absolutely excellent understanding of relational databases, SQL statements, and JDBC.</p><p>● Absolutely excellent understanding of the HTTP protocol and of how REST API’s sit upon that.</p><p>● Absolutely excellent understanding of the Java programming language and object oriented principles.</p><p>● Ability to communicate extremely well, and collaborate smoothly with others even under pressure. This is absolutely critical for the job since our client is remote.</p><p>● Excellent understanding of key concepts in Java distributed web applications, especially concurrency, exception handling, session management, multi-tier design, and building of API’s.</p><p>● Strong understanding of the software engineering lifecycle, and tools to support it.</p><p>● Strong understanding of software engineering best practices and processes for teams, e.g. Scrum or Kanban.</p><p>● Excellent understanding of SQL databases, Oracle in particular. Excellent ability to create complex SQL queries when needed.</p><p>● Excellent understanding and deep familiarity based on hands-on usage of concepts such as inversion of control, dependency injection, beans, bean lifecycle, design patterns (Factory, Proxy, MVC, etc.), autowiring, and bean validation.</p><p>● Strong understanding and experience in the design of reliable, high-performance, easily maintainable applications.</p><p>● Strong understanding and proven experience in writing tests at different levels, unit, integration, and otherwise.</p><p>● Strong understanding and awareness of memory usage considerations in design and implementation.</p><p>● Highly polished abilities to develop and maintain complex JEE and JSF-based applications.</p><p>● Good understanding of how to configure any leading Java application server, notably Tomcat, Wildfly, or Glassfish.</p><p>● Highly polished abilities to use a leading Java IDE, e.g. Eclipse, IntelliJ.</p><p>● Highly polished abilities to use Gradle for building Java WAR files.</p><p>● Strong understanding of the official Oracle specifications for servlets, filters, and other web artifacts.</p><p>● Good English skills, both written and spoken.</p><p><br></p><p><strong>Required Education</strong></p><p>● MUST have a four-year Bachelor’s degree at minimum in Computer Science, Information Systems, or other Information Technology specialization.</p>