• Demonstrated strong analytical skills.
• Demonstrated strong communication skills, both verbal and written.
• Demonstrated skills in facilitation and presentation.
• 10+ years of full software development lifecycle experience using Object-Oriented Analysis, Design and Development, with Agile, J2EE or JEE core foundations.
• Strong written and oral communication skills. Ability to articulate conceptual and implement design while leading more junior level team members.
• Knowledgeable about Java programming patterns and when to leverage what pattern and antipatterns and when to avoid usage.
• Hands on working knowledge in developing, deploying and working in AWS A MUST HAVE
• Basic understanding of JVM, its limitations, weaknesses, and workarounds.
• Must have strong understanding of Java core foundations
• Java Data Types, Operations, Collections, Packages, Methods, Access Modifiers, Loops, Classes, Abstract Classes, Annotations, Enums, etc.
• File IO and Serialization, Exceptions - Checked , Unchecked, JVM and Memory Management, Multithreading and Synchronization, and Dependency Injection
• Familiar with various design and architectural patterns
• MVC, Singleton, DAO, Factory, Adapter, Observer Patterns
• Familiarity with comprehensive Java frameworks such as:
• Spring Framework, Spring IO, Spring Boot, Hibernate ORM, JMS API, Java Persistence API (JPA) specification
• Hands on familiarity with web service concepts of SOAP and RESTful web services.
• Seasoned in implementing automated testing platforms in code through unit tests.
• Familiar with SonarQue, Selenium, Junit, JMockit
• Proficient understanding of code versioning
• Familiar with tools such as Github or Perforce.
• Strong Hands on familiarity with build and deployment tools and processes
• Apache Maven, POM Setup, Ant, Jenkins, Bamboo, Chef, Rundeck
• Familiarity with continuous integration, continuous development/delivery
• Familiarity/understanding of containerization of services (Docker).