SMART Technologies is an award-winning company that collaborates with bright minds around the world who believe in the power of innovation. We’re large enough to do great things but small enough that you don’t get lost in the crowd. Our continued success is possible because of our ‘Best in Class’ culture and unique talents of every individual at SMART.
Make an impact in education and business and beyond. Be a part of meaningful work that fuels connections across the globe. These are the connections that really matter - and inspire greatness. #WeAreSMART #ConnectionsThatMatter
SMART is helping educators and businesses succeed all over the world. Our technology empowers teachers, students, and teams to learn and collaborate in innovative ways, inspiring breakthroughs from improved learning outcomes to moving businesses forward.
We're looking for a software engineer to help build SMART Control, our cloud platform for managing and communicating across SMART interactive displays and appliances at scale. SMART Control powers capabilities like SMART Control Alerts, which turns a SMART Board display into an emergency communication tool that pushes instant visual alerts across classrooms.
Reporting to the Manager, Software Engineering, you will work on projects related to new features across our device management and real-time communication systems - the services that connect, monitor, and deliver content and alerts to SMART displays in the field - as well as maintaining existing functionality. The ideal candidate is self-directed and a fast learner, flexible enough to work across both new technologies and legacy components.
Responsibilities and Duties
- Build RESTful web services using Java.
- Build frontend features using Vue.js.
- Work closely with the frontend development teams to integrate new product features.
- Design and implement new functionality in our web backend services.
- Partner with the test team to ensure automated testing has appropriate coverage.
- Participate in the full Agile software development lifecycle.
- Ensure new development is properly monitored, with appropriate metrics for observability.
- Contribute to the team's best practices to support fast, reliable delivery of new code.
- Write and maintain technical documentation.
- Other duties as required.
Core Skills
- Strong foundations in computer science — particularly data structures, concurrent programming, distributed services, and databases.
- Experience developing web backend services in Java, using Spring Boot or Jersey.
- Experience developing web frontend features in Vue 3.
- Understanding of how WebSockets and persistent connections work.
- Understanding of test-driven development practices, including writing and maintaining unit tests.
- Experience developing software using Agile practices.
- Experience releasing software through a continuous deployment pipeline.
- Strong communication skills.
- Ability to take the initiative and propose solutions.
Preferred
- Experience developing or architecting highly available services.
- Degree in Computer Science, Computer Engineering, or a related field.
Supervision
- This position does not have any direct reports.
For more information on who we are, check us out at smarttech.com or view our YouTube channel or just apply.
At SMART Technologies, privacy is not an afterthought. Privacy is at the core of our software design, which makes it an essential component at the core of our business. To read more, please review our privacy policy: https://home.smarttech.com/legal/privacy-policy
At SMART, we are committed to fostering an inclusive, respectful, and equitable workplace where all individuals regardless of race, national or ethnic origin, color, religion, age, sex, sexual orientation, gender identity or expression, marital status, family status, genetic characteristics, or disability can thrive. We welcome applications from all qualified candidates and are proud to be an equal opportunity employer.