The Senior Java Developer is responsible for designing application changes, overseeing the work of junior developers, and works within a cross-functional development team to deliver high quality, user-friendly solutions for our business partners and customers.
Duties and Responsibilities
Responsible for complex and highly integrated software systems developed in a fast-paced agile-like development environment.
Analyzes, designs, programs, debugs and modifies software enhancements and / or new products used in local, networked or other programs.
Able to identify and fix defective, poor performing or non-scalable code.
Using current programming languages and technologies, writes code, performs testing and debugging of applications.
Creates and maintains documentation and procedures for installation, maintenance & training.
Participate in the review of project deliverables including requirement specifications, functional design documents and technical design documents.
Collaborates with technical and non-technical associates to understand user and organizational needs specific to at least one system process or component.
Coordinates work across teams to build seamless features.
Completes coding using proper coding and quality standards.
Analyze, maintain, and track defects for testing.
May interact with users to define system requirements and / or necessary modifications.
Perform code reviews providing positive and constructive feedback as well as accept feedback about your own code.
Prioritize, multi-task and execute on many simultaneous requests.
Bachelors in Computer Science (or equivalent) with 5 to 8 years of experience in Java, J2EE technologies.
Experience working and developing with Java and J2EE technologies.
Can write Spring 4 beans and Hibernate or JPA data objects .
Knowledge of Spring 4 bean scope, usage and implementations.
Can write JUnit test cases.
Working knowledge of SOAP / RESTful web services, JSON.
Can develop RESTful API endpoints containing JSON.
Knows how to develop and debug AOP injected code .
Understands software security practices including user authentication and authorization, data validation, and has an understanding of common DOS and SQL injection techniques.
Familiar with profiling, code coverage, logging, common IDE's, and other development tools.
Demonstrates good judgement, creativity and ingenuity in proposed technical solutions.
Can write design specifications and use appropriate charts and diagrams to illustrate your ideas.
Should be a good team player and quick self-learner.
Time management, detail-oriented, able to multi-task, prioritize and able to quickly change priorities.
Experience working with UNIX environments and exposure to RDBMS and SQLs.
Strong communication skills (verbal and written) with ability to communicate across teams, internal and external at all levels.
Self-motivated, detail oriented and ability to excel in both team environment and independently.
Experience working in an agile environment.
Technical : o 5+ years of software development experience in Java, J2EE technologies.
o Familiarity with SQL and non-SQL databases.
o Experience working in an agile environment.
o Proficient knowledge and experience in WordPress.
o Good analytical thinking and problem solving skills.
o Ability to diagnose and troubleshoot problems quickly.
o Motivated to learn new technologies, applications and domain.
o Possess appetite for learning through exploration and reverse engineering.
o Ability to take full ownership of tasks and projects.
Behavioral Attributes :
o Team player with excellent interpersonal skills.
o Good verbal and written communication.
o Possess Can-Do attitude to overcome any kind of challenges