5 Concourse Pkwy, suite 3000 Atlanta, GA 30328
Duties and Responsibilities
- Translates technical specifications, and/or logical and physical design into code for internal clients.
- Develops code based on reading and understanding business and functional requirements following agile process.
- Participates in design, code, and test inspections throughout the life cycle to identify and resolve issues.
- Translates application storyboards and use cases into functional applications
- Design, build, and maintain efficient, reusable, and reliable Java code
- Ensure the best possible performance, quality, and responsiveness of the applications
- 7+ years of full software development lifecycle experience using Object-Oriented Analysis, Design and Development, Waterfall and 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 anti patterns and when to avoid usage.
- 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.
- 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