ZCMS is the solution that manages most of our clients IT Firewall Policies.
It is completely instrumental to deliver our Network Security strategy and we are now planning a major makeover including repackaging the solution as a new product. To do this we need to extend our team and optimize our ways of working.
We are looking for a senior developer that can take lead in architectural discussions and decisions. A person with experience to work in highly autonomous and efficient DevSecOps teams that have strong skills to create the technical and cultural environment needed. The task at hand is a major uplift of the ZCMS solution and includes both maintaining and redesigning the current Java application modules from scratch as well as adding completely new use cases creating complex functionality.
Your primary objective will be to design and develop these modules, and to coordinate with the rest of the team. Thus, a commitment for collaborative problem solving, sophisticated design, and product quality is essential. As a Senior person you should consider a special responsibility for setting the team norms that lead to a good creative work environment where communication, transparency and knowledge sharing will lift this team and application to the next level.
As an added learning experience, you will be part of a geographically distributed and multi-cultural team that will be part of a transformation towards a product centric delivery model.
Coordinate and lead solution architectural work
Translate use cases into applications functionality.
Identify the corner cases, alone and together with team in dedicated brainstorming meetings
The expectation on you as an architect is to also be hands-on in all parts of the work including development and test.
Help maintain code quality, organization, and propose/design/implement any needed automatization
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
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.
Well understanding of concepts such MVC (MVVM or other), JDBC, RESTful, Microservices, Containerization.
Well grounded in a lean agile mindset
Eager to learn more, eager to help others, flexible in day to day
Experience of below is needed to understand current solution
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
Previous experience of working with Ericsson or quick learning curve in understanding a new business.
Previous knowledge of IP Networking (IPv4, IPv6, subnets, firewalls, policies, policy provisioning in firewalls like SRX and PaloAlto etc.)