RESPONSIBILITES
- Develop software solutions by studying information needs, conferring with users, studying systems flow, data usage, and work processes, investigating problem areas, and following the software development lifecycle.
- Implement well-designed, testable, and efficient codes according to project requirements and adhere to coding standards, guidelines, quality procedures, and schedules.
- Lead software projects from scoping requirements through actual launch and implementation.
- Collaborate with team members on analysis, design reviews, and testing.
- Document and demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments, and clear code.
- Perform thorough unit testing and support in resolving defects while ensuring proper documentation of all activities.
- Complete peer-to-peer code reviews and improve operations by conducting systems analysis and recommending changes in policies and procedures.
- Provide inputs and assist in the preparation of high-level designs.
- Protect operations by keeping information confidential.
What do I need to succeed?
MUST HAVE:
- Bachelor’s degree in computer science or software or systems engineering.
- 6+ years of working experience as a Software Engineer with a consistent track record of delivery, preferably in an agile environment.
- Experience using Eclipse, Maven, and source control (SVN, Git).
- Well-versed in JAVA, J2EE, Spring Boot, design patterns, Web Services, REST-based APIs, Apache Kafka, schema registry, Apache Nifi.
- Must have client-facing experience.
- Clear and concise verbal communication skills and the ability to communicate with all levels of an organization, both internally and externally.
- Strong interpersonal skills with the ability to foster team collaboration.
- Be proactive with a strong desire to learn.
- Strong analytical thinking and problem-solving skills with the ability to create innovative solutions.
- Ability to work across multiple project areas and manage competing responsibilities simultaneously.
- Strong knowledge of and experience with object oriented and functional design patterns.
- Knowledge of and experience with PostgreSQL database
- Create coding and design guidelines to be used throughout our applications;
- Develop and maintain Java applications in the development and test environments.
- Strong knowledge of and experience with JSON packages and schemas.
- Knowledge of and familiarity with Java build systems, i.e. Maven
- Strong critical thinking, decision-making, problem-solving, and attention to detail skills.
NICE TO HAVE:
- Automation testing experience (JUnit).
- Application development experience in a large enterprise IT environment.
- Application development experience in an Agile environment using TDD and BDD.