Work hard. Have fun. Make history.
The Role:
As a Senior Software Development Engineer – Applications, you will engage with an experienced cross-disciplinary staff to conceive and design innovative consumer products.
The Senior Software Development Engineer – Applications will provide technical leadership and contribute to the definition, development, integration, test, documentation, and support of custom embedded Java software applications across multiple platforms. This hands-on position requires broad engineering competence and in-depth technical knowledge of embedded and application software development, as well as demonstrated experience successfully planning, organizing, and conducting software development projects in a dynamic environment. In this role, you will:
- Be responsible for the architecture of software solutions, the determining of current limitations and compatibilities between subsystems, the selection of new concepts and methodology, and the development of major routines and utilities
- Create new UI applications and edit current UI applications
- Prepare technical requirements and software design specifications
- Instill best practices for software development and documentation, make sure designs meet requirements, and deliver high quality work on tight schedules
- Bachelor’s degree in Computer Science or related field
- 7+ years of software development engineering experience with experience developing embedded applications
- 7+ years of mobile applications development (preferably using Java)
- Embedded UI framework experience (Java AWT and Swing desired)
- Design and architecture knowledge, as well as familiarity with object oriented design patterns
- Understanding of Software Development Life Cycle (SDLC) principles
- Excellence in technical communication with peers and non-technical cohorts.
- Experience taking a leading role in building complex software systems that have been successfully delivered to customers
- Ability to rapidly prototype and evaluate customer applications and interaction methodologies
- Development experience on multiple Linux platforms and mobile devices (Android, iOS)
- Experience in applying open-source technologies (Linux, SQLite, MySQL, OpenGL, Spring, Hibernate)
- Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
- Demonstrated ability to mentor other software developers to maintain architectural vision and software quality
- Experience defining system architectures and exploring technical feasibility tradeoffs
- Master’s degree in Computer Science
- Ability to take a project from scoping requirements through actual launch of the project
Per l’annuncio completo clicca qui.