Senior Software Engineer (Front End)
Posted on Nov 5, 2020 by Alarm.com
You will lead significant projects across our product line, seeing development through from architectural design to prototyping and development. One of the many challenges you will face is taking nuanced technological requirements and working alongside Product Managers, UX Designers, Quality Engineers, and other Software Engineers to transform them into extensible, clean code for user-friendly designs. Our customers expect top-notch reliability, speed, and ease of use, and it is up to our team to deliver exceptional home automation experiences.
Your work will provide you the opportunity to showcase creative problem solving, passion for learning, and motivation for improvement. You must be able to communicate effectively and blend multiple business needs in your work. Our platform supports several business units, so there are always multiple perspectives to consider. We also work at scale - we have millions of customers and millions of devices sending us data all the time.
Very few small companies innovate and develop across such a broad range of technologies as Alarm.com. This position is ideal for the candidate who seeks a friendly company culture where one can work closely with smart and highly productive people. Getting to work with cutting edge software and hardware to develop outstanding consumer products is the icing on the cake.
WHAT CAN YOU DO FOR ALARM.COM?
Develop full stack software, with an emphasis on Front End web development, working primarily with Ember and C#.
Engage in the research, evaluation, and application of new technologies and methodologies to solve challenging problems.
Take part in the entire project life cycle, from requirements development to deployment.
Work hard and be flexible. We have quick development cycles, evolving requirements, and lots of cross-team collaboration.
Exercise good judgment. Know when to work quickly and when to build a robust solution. Handle corner cases in a sensible way. Thoughtfully consider the trade-offs between UI perfection and technical complexity.
Bring your ideas and expertise! We want our engineers to collaborate on product development, not blindly build to a spec. Ensure that proposed UIs are feasible and consider localization, accessibility, and cross-browser compatibility.
WHAT DO YOU NEED?
Bachelor's in Computer Science, Computer Engineering, related field, or equivalent work experience.
5+ years of professional software development experience.
Proficient in CSS and HTML.
Proficient in object-oriented languages (eg C#).
Experience with package managers (eg npm).
Familiarity with TypeScript.
Familiarity with Web API design.
Familiarity with JSON serialization.
Familiarity with networking concepts, principles, and technologies (eg WebSockets).