About the job
As a Software Engineer II at Avalore, you will play a pivotal role in developing, maintaining, and enhancing sophisticated software systems. This includes diverse projects such as processing-intensive analytics, innovative algorithm development, manipulation of extensive data sets, real-time systems, and business management information systems, all driven by well-documented requirements. You will have the opportunity to work both independently and collaboratively within a team environment.
Your responsibilities will include reviewing and testing software components to ensure alignment with design requirements, resolving software problem reports, and employing appropriate software development and design methodologies. You will provide critical input on system design, covering hardware/software trade-offs, software reuse, and the analysis and synthesis of requirements from the system level down to individual software components.
- Analyze user requirements to derive software design and performance specifications.
- Debug existing software and rectify defects.
- Offer recommendations for enhancing documentation and software development standards.
- Design and code new software or modify existing applications to introduce new features.
- Integrate existing software into modified systems or operating environments.
- Create simple data queries for existing or proposed databases.
- Write or review comprehensive software and system documentation.
- Lead a team appropriately aligned with the software development process of each project.
- Design or implement complex database or data repository interfaces and queries.
- Develop or implement algorithms to meet or exceed system performance and functional standards.
- Assist in the development and execution of test procedures for software components.
- Develop software solutions by analyzing system performance metrics, collaborating with users or system engineers, and investigating problem areas.
- Modify existing software to fix errors, adapt to new hardware, or enhance performance.
- Utilize scientific analysis and mathematical models to design, develop, and modify software systems to predict and measure outcomes.
- Implement recommendations for improving documentation and software development processes.
- Oversee one or more software development teams, ensuring compliance with project constraints.
- Collaborate with engineers to derive software requirements and gather project limitations and capabilities.

