Telecom company
• Translate the use cases into applications’ functionality, during the Analysis phase
• Be able to identify the corner cases, alone and together with team in dedicated brainstorming meetings
• Analyze, Design, Implement, Refactor, Test, Build, Document (for Dev Team, Ops Team and Users), Deploy and maintain efficient, reusable and reliable code
• Run quick and efficient code refactoring, and this effort to be included in the functionality use case
• Ensure the best possible performance, quality, and responsiveness of the application
• Identify bottlenecks and bugs (designing a good and careful logging system, and system metrics, and doing local/remote debugging when needed), and design/create solutions to these problems
• Help maintain code quality, organization, and propose/design/implement any needed automatization Information
• Proficient in Java, with a good knowledge of its ecosystems
• Solid understanding of object-oriented programming
• Skill for writing reusable Java libraries,
• Knack for writing clean, readable Java code
• Knowledge of concurrency patterns in Java
• Familiar with various design and architectural patterns at different application’s layers
• Well understanding of concepts such MVC (MVVM or other), JDBC, RESTful, Microservices, Containerization.
Experience of:
• EJB containers/specification especially with Stateless Enterprise Java Beans and a layered functionality dissemination like (or equivalent) Action / Façade / Service Bean / DAO layers
• Spring frameworks, especially with Spring Security (like being able to add SSO with Azure AD, quick)
• Any of the following UI (Client, Presentation layer) frameworks (or equivalent) such: Ext.JS, Struts 2
• JPA 1.0/2.0, Hibernate, SQL applicable into maintaining the existing DB schema and creating new updates that represent and support the new functionalities while keeping the DB and APP constraints in sync and following the market best practices
• DB servers like MySQL (or equivalent) with as much as possible DBA exposure
• Automatic unit testing using frameworks like: JUnit, DBUnit, PowerMock/EasyMock/JMockit/Mockito
• Application servers like JBoss/Wildfly, being able to run solution upgrades between JBoss/Wildfly versions.
• Any templating language like JSP, Velocity, Freemarker
• REST APIs from the design and implementation (JAX – RS / RestEasy / Swagger) to the consumer (SoapUI, Postman, Swagger)
• XML processing APIs like JAX – P (XSL / XPath), JAX–B (SAX / DOM)
• Web Services following JAX–WS / SOAP specs
• Job Schedulers that can integrate into/with an EJB container like: Quartz
• building tools such as Maven (or equivalent) in a multimodule project context
• CI/DI processes and tools like: Gerrit, Git, Jenkins, Tuleap/Jira (ALM), Docker