Java Developer

The Software Developer is responsible for analyzing business requirements, designing architectural solutions to problems, developing superior software solutions, and continually assessing and improving upon performance of application and data structures. To be successful, the Software Developer must be an adaptable team player who can work in a dynamic, challenging, and highly technical environment.

 

The Software Developer will report to the Director of Messaging and Middleware who will provide the priority for requested features and bug fixes.

Responsibilities

  • Analyze requirements.
  • Architect and develop product features.
  • Work with project managers and vertical directors to set expectations.
  • Keep team on track with deadlines.
  • Document designs, code, and all project assets in an organized and up-to-date manner.
  • Provide initial analysis and produce accurate levels of effort.
  • Implement established Publishing Services processes in the course of his/her work.
  • Support development operations.
  • Maintain code bases.
  • Provide solutions to complex engineering tasks.
  • Troubleshoot problems and issues with code and data.
  • Research emerging technologies and make recommendations for processes improvements.
  • Participate in code review in a senior technical capacity.

Qualifications

General Knowledge, Skills, and Abilities

  • Ability to assess a task, sometimes without perfect or complete information.
  • Ability to keep self-engaged in their work, on task and meeting deadlines.
  • Excellent prioritization and organization skills.
  • Strong communications skills both written and verbal.
  • Fundamental understanding of database technologies and best practices.
  • Ability to analyze code and optimize performance.
  • Sufficient security knowledge to spot potentially insecure code.
  • Possesses general business acumen.

Technical Requirements

  • Java
    • Core Java must be VERY solid. Understanding must be both practical/applied and conceptual.
    • Should have a strong working knowledge of the Collections API.
    • Should have a strong working knowledge of the Messaging API.
    • They’re interested in MVC, Singleton, Factory, Annotation, and Testing-Driven Development.
    • Understanding of user interface and front end technologies is desirable.
  • Hibernate
    • Intimate familiarity with the concept of persistence and persistent state within an application.
    • Strong understanding and demonstrable working knowledge of data access methods and APIs.
    • Strong understanding and demonstrable working knowledge of fetching strategies.
    • Well-versed in the design of RDBs, including best practices with regard to performance.
    • Understanding of Hibernate transactions and transaction configuration.
  • Spring
    • Demonstrated practical knowledge of Spring context, beans, properties and schemas.
    • Extensive experience in building Spring-driven applications.
    • Extensive experience with Spring MVC and spring transaction management.
    • Deployment Environments.
    • Strong working knowledge of web application containers.
    • Should have at minimum intermediate level proficiency with UNIX/linux.
  • Databases
    • Should be technically familiar with a variety of databases.
    • Experience with MS-SQL Server, MySQL desirable. Postgres a plus.
    • Understanding of tuning queries for performance desirable.
    • Understanding of NoSQL databases is a plus.
  • Other Technologies
    • Familiar with caching frameworks, strategies and limitations.
    • Strong JMS, and experience with a message broker (AMQ, RabbitMQ or similar).
    • Experience with Git or SVN, and versioning source code.
    • Experience with JIRA or similar project management tool.
    • Experience with web application performance profiling tools is a plus.

Education

A desirable candidate will have at minimum a Bachelor’s Degree in Computer Science or a related Engineering or Information Sciences program from an accredited university. If not, the candidate must demonstrate commensurate experience in collaborative technical environments.

Job Location:

Baltimore, MD

Job Description:

The Software Developer is responsible for analyzing business requirements, designing architectural solutions to problems, developing superior software solutions, and continually assessing and improving upon performance of application and data structures. To be successful, the Software Developer must be an adaptable team player who can work in a dynamic, challenging, and highly technical environment.   The Software Developer will report to the Director of Messaging and Middleware who will provide the priority for requested features and bug fixes. Responsibilities
  • Analyze requirements.
  • Architect and develop product features.
  • Work with project managers and vertical directors to set expectations.
  • Keep team on track with deadlines.
  • Document designs, code, and all project assets in an organized and up-to-date manner.
  • Provide initial analysis and produce accurate levels of effort.
  • Implement established Publishing Services processes in the course of his/her work.
  • Support development operations.
  • Maintain code bases.
  • Provide solutions to complex engineering tasks.
  • Troubleshoot problems and issues with code and data.
  • Research emerging technologies and make recommendations for processes improvements.
  • Participate in code review in a senior technical capacity.
Qualifications General Knowledge, Skills, and Abilities
  • Ability to assess a task, sometimes without perfect or complete information.
  • Ability to keep self-engaged in their work, on task and meeting deadlines.
  • Excellent prioritization and organization skills.
  • Strong communications skills both written and verbal.
  • Fundamental understanding of database technologies and best practices.
  • Ability to analyze code and optimize performance.
  • Sufficient security knowledge to spot potentially insecure code.
  • Possesses general business acumen.
Technical Requirements
  • Java
    • Core Java must be VERY solid. Understanding must be both practical/applied and conceptual.
    • Should have a strong working knowledge of the Collections API.
    • Should have a strong working knowledge of the Messaging API.
    • They’re interested in MVC, Singleton, Factory, Annotation, and Testing-Driven Development.
    • Understanding of user interface and front end technologies is desirable.
  • Hibernate
    • Intimate familiarity with the concept of persistence and persistent state within an application.
    • Strong understanding and demonstrable working knowledge of data access methods and APIs.
    • Strong understanding and demonstrable working knowledge of fetching strategies.
    • Well-versed in the design of RDBs, including best practices with regard to performance.
    • Understanding of Hibernate transactions and transaction configuration.
  • Spring
    • Demonstrated practical knowledge of Spring context, beans, properties and schemas.
    • Extensive experience in building Spring-driven applications.
    • Extensive experience with Spring MVC and spring transaction management.
    • Deployment Environments.
    • Strong working knowledge of web application containers.
    • Should have at minimum intermediate level proficiency with UNIX/linux.
  • Databases
    • Should be technically familiar with a variety of databases.
    • Experience with MS-SQL Server, MySQL desirable. Postgres a plus.
    • Understanding of tuning queries for performance desirable.
    • Understanding of NoSQL databases is a plus.
  • Other Technologies
    • Familiar with caching frameworks, strategies and limitations.
    • Strong JMS, and experience with a message broker (AMQ, RabbitMQ or similar).
    • Experience with Git or SVN, and versioning source code.
    • Experience with JIRA or similar project management tool.
    • Experience with web application performance profiling tools is a plus.
Education A desirable candidate will have at minimum a Bachelor’s Degree in Computer Science or a related Engineering or Information Sciences program from an accredited university. If not, the candidate must demonstrate commensurate experience in collaborative technical environments.

Job Qualifications:

The Software Developer is responsible for analyzing business requirements, designing architectural solutions to problems, developing superior software solutions, and continually assessing and improving upon performance of application and data structures. To be successful, the Software Developer must be an adaptable team player who can work in a dynamic, challenging, and highly technical environment.

 

The Software Developer will report to the Director of Messaging and Middleware who will provide the priority for requested features and bug fixes.

Responsibilities

  • Analyze requirements.
  • Architect and develop product features.
  • Work with project managers and vertical directors to set expectations.
  • Keep team on track with deadlines.
  • Document designs, code, and all project assets in an organized and up-to-date manner.
  • Provide initial analysis and produce accurate levels of effort.
  • Implement established Publishing Services processes in the course of his/her work.
  • Support development operations.
  • Maintain code bases.
  • Provide solutions to complex engineering tasks.
  • Troubleshoot problems and issues with code and data.
  • Research emerging technologies and make recommendations for processes improvements.
  • Participate in code review in a senior technical capacity.

Qualifications

General Knowledge, Skills, and Abilities

  • Ability to assess a task, sometimes without perfect or complete information.
  • Ability to keep self-engaged in their work, on task and meeting deadlines.
  • Excellent prioritization and organization skills.
  • Strong communications skills both written and verbal.
  • Fundamental understanding of database technologies and best practices.
  • Ability to analyze code and optimize performance.
  • Sufficient security knowledge to spot potentially insecure code.
  • Possesses general business acumen.

Technical Requirements

  • Java
    • Core Java must be VERY solid. Understanding must be both practical/applied and conceptual.
    • Should have a strong working knowledge of the Collections API.
    • Should have a strong working knowledge of the Messaging API.
    • They’re interested in MVC, Singleton, Factory, Annotation, and Testing-Driven Development.
    • Understanding of user interface and front end technologies is desirable.
  • Hibernate
    • Intimate familiarity with the concept of persistence and persistent state within an application.
    • Strong understanding and demonstrable working knowledge of data access methods and APIs.
    • Strong understanding and demonstrable working knowledge of fetching strategies.
    • Well-versed in the design of RDBs, including best practices with regard to performance.
    • Understanding of Hibernate transactions and transaction configuration.
  • Spring
    • Demonstrated practical knowledge of Spring context, beans, properties and schemas.
    • Extensive experience in building Spring-driven applications.
    • Extensive experience with Spring MVC and spring transaction management.
    • Deployment Environments.
    • Strong working knowledge of web application containers.
    • Should have at minimum intermediate level proficiency with UNIX/linux.
  • Databases
    • Should be technically familiar with a variety of databases.
    • Experience with MS-SQL Server, MySQL desirable. Postgres a plus.
    • Understanding of tuning queries for performance desirable.
    • Understanding of NoSQL databases is a plus.
  • Other Technologies
    • Familiar with caching frameworks, strategies and limitations.
    • Strong JMS, and experience with a message broker (AMQ, RabbitMQ or similar).
    • Experience with Git or SVN, and versioning source code.
    • Experience with JIRA or similar project management tool.
    • Experience with web application performance profiling tools is a plus.

Education

A desirable candidate will have at minimum a Bachelor’s Degree in Computer Science or a related Engineering or Information Sciences program from an accredited university. If not, the candidate must demonstrate commensurate experience in collaborative technical environments.

Apply Now