Are you hiring?Employers Click Here!
Sr. Java Engineer
Here's a bit more about the Senior Software Engineer position:
The Sr. Software Engineer is responsible for designing and analyzing applications, developing project plans, coding, testing and documenting all code utilizing Java and web-based programming tools. The Engineer will also be responsible for maintaining and upgrading existing applications and will communicate with customers to understand their requirements and assist in the implementation of work requests.
Candidate will be responsible for creating software that is both customer-facing and internal, primarily in the Java programming language. Candidate must demonstrate proficiency with common aspects of the Java language such as generics, collections, streams, multi-threading, as well as awareness of common software patterns.
The Candidate will spend time acting as a tech lead for a team or working with a group of teams and must be able to demonstrate that they can effectively communicate with their teams. The candidate must be able to act as a mentor to less experienced developers, participate in code reviews, and collaborate with the team. The candidate must be able to work with product owners to help translate product requirements into achievable user stories that the team can understand and successfully implement.
The candidate must demonstrate a solid grasp of object-oriented design principles, such as polymorphism, encapsulation, the Liskov substitution principle, composition, and inheritance as they are expressed in the Java language.
Common Enterprise Software:
We use several industry standard Java libraries, tools and frameworks that the candidate will have experience with: Spring, Hibernate, JSP, Struts, Maven, Tomcat and Jetty. The candidate should also have familiarity with other tools, frameworks or standards such as Redis, RabbitMQ, MongoDB, Swagger/OpenAPI, SAML,
Relational Database Systems:
Interface with a relational database is done via both SQL and through the Hibernate object-relational mapper, but the latter is not a substitute for the former, so understanding of common SQL constructs including joins, sub-selects and grouping, preferably with experience in Oracle syntax and tools, is required. The ideal candidate should be able to identify when to use a relational database and when a NoSQL solution would be appropriate.
The Browser is the Client:
Is a veteran of consuming remote web services via SOAP and REST clients.
· Communicate with Product Managers and Architects to design the application and improve the development process.
· Design and analyze applications, develop project plans, code, test and document all code
· Maintain and upgrade existing applications
· Interface with customers to assist in implementation of work requests
· Assist support personnel in resolving moderately complex program problems
· Mentor less experienced team members
· 10+ years of current Java experience in Core Java/J2SE
· Experience with Spring MVC, Spring Data and other Spring technologies
· Strong RDBMS (database) skills (PostgreSQL/Oracle)
· Experience with Maven and Tomcat, Jetty or other servlet containers.
· Familiarity with source control concepts and tools such as GIT or SVN
· Good understanding of Object Oriented concepts, Patterns
· Ability to read and quickly understand existing code
· BS in CS/ EE / Equivalent
· Experience with Linux