As a Senior Software Engineer, you will work closely with architects to translate overall system architecture and product requirements into well-designed and implemented software components. You will take ownership of the implementation of individual software components with a high emphasis on quality and sound software engineering practices. The ideal candidate is up to date on current technology trends and brings new ideas to the team.
Job Description Summary:
As a Senior Software Engineer, you will work closely with architects to translate overall system architecture and product requirements into well-designed and implemented software components. You will take ownership of the implementation of individual software components with a high emphasis on quality and sound software engineering practices. The ideal candidate is up to date on current technology trends and brings new ideas to the team.
Roles and Responsibilities:
In this role, you will:
- Identify the scope of the work, provide initial estimates and justify the estimate with facts.
- Engage in technical discussions; participate in technical designs and present technical ideas through white boarding.
- Maintain code quality through best practices, unit testing and code quality automation.
- Seek and provide feedback on design and development.
- Understand whole product, its modules and the interrelationship between them while being an expert in the assigned component or module.
- Help in designing interfaces and information exchange between modules.
- Be an expert in writing code that meets standards and delivers the desired functionality using the technology selected for the project.
- Be fluent in core data structures as well as algorithms and can implement them using Java.
- Work with Product Managers (PMs) to understand product requirements & vision.
- Continuously measures deliverables of self and team against scheduled commitments. Effectively balances different, competing objectives.
- Proactively identifies and removes project obstacles or barriers on behalf of the team.
- Shares knowledge, power, and credit; establishing trust, credibility, and goodwill
Qualifications and Requirements:
- Bachelor’s degree in Computer Science, Computer Engineering, Software Engineering, Electrical Engineering, or STEM degree.
- Minimum of 4 years of software development work experience.
- Minimum of 3 years of work experience in utilizing Spring Framework (Core, MVC, Integration and Data) and Spring-Boot.
- Willingness and ability to occasionally work with global teams, including time-zone flexibility.
- Legal authorization to work in the U.S. is required. We will not sponsor individuals for employment visas, now or in the future, for this job opening
Desired Characteristics
- 5+ years of software development work experience.
- Demonstrated experience with: OAuth2, Solr, PostgreSQL, and Angular.
- Strong analytical skills, with excellent problem-solving abilities and experience creating flexible code.
- Experience with high volume processing and large datasets is a big plus.
- Skilled in breaking down problems, documenting problem statements and estimating the effort required for implementation and test.
- Demonstrated understanding of Messaging/Event technologies, e.g., JMS, EventHub, ActiveMQ.
- Ability to make informed technology choices when exploring technology options and analyzing the impact of technology decisions.
- Continuously measures deliverables of self and team against scheduled commitments. Effectively balances different, competing objectives.
- Excellent and verbal written communication skills
- Ability towork independentlyand demonstrates willingness to take