The Senior Software Engineer is a creative and skilled senior developer responsible for researching, designing, prototyping, coding, and debugging new innovative solutions, as well as analyzing and modifying existing code. You will ensure that these components and the overall application are robust and easy to maintain. You will coordinate with cross functional team members working on different modules and layers of the product infrastructure. Therefore, a commitment to collaborative problem solving, sophisticated design, and quality product is important.
At Elixir you will:
- Collaborate with product managers, designers, and fellow engineers to define software requirements and specifications.
- Design, develop, and deploy scalable and reliable full-stack applications that integrate frontend and backend components.
- Implement robust and efficient APIs, data models, and database structures to support seamless data processing and analysis.
- Optimize application performance, reliability, and security through continuous monitoring, testing, and code reviews.
- Collaborate with colleagues to integrate algorithms and statistical models into the Elixir platform.
- Participate in code and design reviews, providing constructive feedback and promoting best practices.
- Stay up to date with emerging technologies and industry trends and identify opportunities for innovation and improvement within the platform.
- Mentor and guide junior engineers, fostering a collaborative and inclusive work environment.
To be successful in the position you are highly passionate about application design and programming and aspire to contribute to our digital transformation agenda. You will join an inspiring and curious team responsible for designing and developing our category leading communications operations platform that turns highly regulated customer communications into a competitive advantage and impacts how information is communicated to thousands of consumers worldwide.
Essential Functions
Working as a member of a multi-functional agile squad, the essential functions of the role include but are not limited to:
- Design, develop, test, deploy, maintain, and enhance large scale software solutions.
- Drive the adoption of TDD best practices in your squad, including the development and maintenance of comprehensive test suites, and delivering high-quality, working code.
- Develop and implement technical strategies to achieve business goals and drive innovation.
- Solve technical problems of the highest scope, complexity, and ambiguity in collaboration with squad members.
- Promoting great architectural practices and process improvements through code reviews.
- Identify and correct bottlenecks that optimize delivery execution and the adoption of development best practices.
- Fix bugs and perform product maintenance activities on existing software systems.
- Apply Test-driven Development (TDD) and automated testing practices to produce reliable code.
- Collaborate with multiple cross-functional teams to deliver high-quality work in rapid product development.
- Provide technical support to product users when necessary and provide a high quality of communication and support.
- Maintain any training or certification as required, including compliance, annual refresher, policy, or job-specific training.
- Embrace and sustain a work environment that supports Elixir’s core values: Community, Learning Culture, Integrity, and Pioneering.
- Other duties as required.
Competencies
- 5+ Years of experience in development in Java core, J2EE, Web, Application Server and Database.
- Hands on experience on Java Application Servers like Tomcat, Glassfish, WebLogic etc.
- Extensive experience in building REST services using Java is required.
- Extensive experience building and maintaining distributed applications.
- Extensive experience in Java application performance profiling and analysis.
- Enterprise architecture experience with large volume, high availability enterprise applications.
- Good knowledge of databases such as MySQL, Oracle, or MongoDB??
- Experience with content management systems (CMS) and version control (Git)??
- Ability to accurately estimate and scope development work.??
- Self-starter who can grasp difficult concepts quickly and work with minimal supervision.??
- Knowledge of development best practices using modern technology stacks??
- Knowledge of production grade applications and services with consideration for security, scalability, and reliability will be a big plus.??
- Understanding TDD, automated testing practices and the ability to apply them to produce solid code will be a big plus.??
- Problem-solving skills and critical thinking???
- Ability to work independently and with a team.??
- Communication skills??
- People and interpersonal skills???
- Is inquisitive and:? asks great questions.
Required education and experience
- Proven experience and proficiency working as a software engineer with end-to-end software development project lifecycle delivery execution
- Solid problem-solving and critical thinking skills
- Experience using standard Unit Test frameworks and the ability to do performance testing
- Hands on experience with Agile development including daily scrum and weekly iteration reviews and planning
Preferred education and experience
- Bachelor’s degree in Computer Science, Computer Engineering, or a related field
- Experience working with Docker/Containers and K8s will be a plus
Supervisory responsibilities
No
Work environment
The work is performed in an office environment and may be distracting at times with others conversing. Work environment could be in Elixir’s office, working from home, or a hybrid of both.
Physical demands
This position requires hours of computer screen time, hearing, speaking, and sitting or standing at a desk.
Expected hours of work
Regular business hours plus some evening hours for global conference calls. Additional hours on weekends or holidays may be required on a seasonal basis to meet business needs.
Travel
None