Join our Client's Engineering team as a Software Developer, where you will play a vital role in the development of innovative software programs and applications.
Key Responsibilities:
Assist in designing and developing software to integrate our Client's intercom systems with various third-party systems. This is a hands-on role focused on designing specifications, writing code, and QA testing.
Create schedules and concept designs from Development Requests, estimating effort, time, costs, risks, and challenges.
Write technical specifications and code to develop demonstrable prototypes based on concept designs.
Develop test plans, participate in testing and verification, and obtain third-party certifications when necessary.
Create comprehensive documentation, including flowcharts, layouts, diagrams, charts, and code comments. Lead and participate in code reviews.
Create development tools and aids as needed, and assist team members in utilizing shared resources.
Stay updated on the latest development tools, programming techniques, and computing equipment. Participate in educational opportunities and professional organizations.
Recommend measures to secure customer information and protect our Client's intellectual property.
Present work products, receive feedback, and keep product development stakeholders informed of progress.
Qualifications:
Bachelor's degree in math, computer science, or software engineering.
Minimum 1 year of experience in designing and developing production-quality software.
Effective communication skills, both oral and written.
Proficiency in documenting and communicating software architecture and design.
Demonstrated experience with C programming language.
Familiarity with Linux.
Ability to work steadily and maintain organization in a fast-paced environment.
Strong analytical skills to interpret specifications, provide feedback, and implement solutions.
Familiarity with software development schedules and lifecycle management techniques.
Preferred Experience (not required):
Proficiency in additional programming languages.
Experience with third-party APIs, SDKs, middleware solutions, VOIP protocols, and audio over network (SIP, RTP).
Knowledge of Open-Source tools and licensing.
General electronics knowledge or a desire to learn.