Candidates need to demonstrate a strong interest in innovation, a thorough understanding of software development, and the capacity to lead a group of engineers. The ideal candidates are those who are self-motivated to learn and develop their knowledge of different programming languages, and who make it a priority to keep their skills up to date. These candidates consistently exceed expectations in every way.
Responsibilities:
- Write code.
- Deal with ambiguity. Senior engineers are expected to tackle problems where the business problem is well-defined, but the technology strategy is not. Create well-designed, extensible, and secure solutions.
- Writing and explaining things simply. Senior engineers are expected to be able to explain problems and suggest solutions in simple, concise terms.
- Senior engineers are expected to be able to deliver the right things without guidance.
- Senior engineers are expected to balance speed of execution and delivery with building maintainable foundations for the future.
- Influence the long-term roadmap. Advocate for long-term technical investments and build software flexible enough to evolve in the future.
- Work with a variety of technologies ranging from embedded systems to Azure IoT applications.
- Provide accurate resource estimates, timelines, and forecasts for development activities.
- Author technical design documentation that fully defines all application code and the underlying methodology for the design decisions.
Required Knowledge, Skills, Abilities (Qualifications):
- Bachelor's degree in computer science, electrical engineering, related technical discipline, or equivalent practical experience.
- Excellent written and verbal English proficiency with the ability to communicate effectively.
- Knowledge of software engineering and best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, and testing.
- Experience programming web applications and back-end development and frameworks in server-side software. (full- stack)
- Expertise in various and pertinent coding languages (C#, C++, JavaScript, Python, etc.)
- Experience with open-source web application frameworks for building mobile and desktop web applications (e.g. Angular, jQuery, SolidJS, React)
- Experience with SQL databases and NoSQL databases
- Experience with open-source message broker that manages the routing, queuing, and delivery of messages between senders and receivers. (RabbitMQ and MQTT)
- Experience with open-source specifications built on top of the MQTT protocol, designed to standardize the data format and topic structure for Industrial Internet of Things (IIoT) devices. (Sparkplug B)
- Experience with open-source protocol buffers for serializing structured data. (Protobuf)
Preferred Knowledge, Skills, and Abilities:
- Experience as a senior software engineer on large-scale software projects
- Experience programming embedded systems that monitor and/or control external devices and knowledge of TCP/IP and network communication protocols.
- Experience with Azure Services
- Experience with Azure DevOps
- Experience with REST APIs.
Desired Skills and Experience
.NET
C#
Azure
RabbitMQ
All qualified applicants will receive consideration for employment without regard to race, color, national origin, age, ancestry, religion, sex, sexual orientation, gender identity, gender expression, marital status, disability, medical condition, genetic information, pregnancy, or military or veteran status. We consider all qualified applicants, including those with criminal histories, in a manner consistent with state and local laws, including the California Fair Chance Act, City of Los Angeles' Fair Chance Initiative for Hiring Ordinance, and Los Angeles County Fair Chance Ordinance. For unincorporated Los Angeles county , to the extent our customers require a background check for certain positions, the Company faces a significant risk to its business operations and business reputation unless a review of criminal history is conducted for those specific job positions.