- The Sr. Embedded Software Engineer is able to analyze and implement solutions for complex technical problems based on requirements;
- has the ability to work independently and as part of a team to complete projects; provides innovation regarding sub-system design and implementation;
and utilizes technical knowledge and expertise in documenting, designing and developing gaming system applications.
Responsibilities
- Leads and participates in the full software development life cycle, including requirements analysis, design, coding, testing, and deployment.
- Conducts analysis of hardware components to evaluate compatibility with existing equipment, performance characteristics and features.
- Conducts analysis of moderate complexity on programming problems concerning a sub-system or group of application programs.
- Interfaces with hardware design and development team to integrate hardware components with operating systems, drivers and application software.
- Contributes to the design, development, testing, documentation and ongoing maintenance of the company's gaming software products.
Makes informed decisions on technology stack, frameworks, and overall system structure.
- Converts design into a working application, based on the requirement specifications, limitations of the system and equipment, and coding standards.
- Reviews product and project requirements and provides technical input on product definition and project plans.
- Creates and maintains comprehensive technical documentation, such as functional specifications, design specifications, code documentation, and system architecture documentation.
- Analyzes complex technical problems and proposes effective solutions. Troubleshoots and debugs issues in production and non-production environments.
- Implements and advocates for best practices in testing, including unit testing, integration testing, and automated testing.
Ensures high software quality.
- Assists with final system integration testing, software QA testing, and customer acceptance testing.
- Collaborates with QA team to identify, document, and resolve issues.
- Provides support for the field installation and testing of equipment and software.
- Possesses good delegation and time management skills
- Ensures that software solutions adhere to security best practices. Identifies and addresses potential security vulnerabilities.
- Identifies and optimizes code for performance, scalability, and efficiency.
- Works closely with customers and internal teams to identify and analyze requirements for development purposes.
Qualifications
- Requires a Bachelor's Degree (B.S) in Computer Science or equivalent work related experience.
- A minimum of five years' programming experience in developing Java Software applications.
- A minimum of five years' experience in working with Point-of-Sale (POS) hardware devices.
- Other desirable skills include C and / or C++, Java JNI, and networking / communications. Development emphasis in the area of GUI design, multithreaded applications, and experience with both Windows and Linux operating and Android systems.
- Ability to travel for potentially extended period of time for customer site installations and support. Normal trips range from one to three weeks;
however, on occasion, the period of time may be longer.
4 days ago