Software Engineer

Overhead Door Corporation
Lewisville, United States of America
2 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Lewisville, United States of America

Tech stack

Clean Code Principles
API
Agile Methodologies
Amazon Web Services (AWS)
Software Applications
Unit Testing
Azure
C++
Code Review
Collaborative Software
Communications Protocols
Databases
Continuous Delivery
Continuous Integration
Data Structures
Software Debugging
Software Design Patterns
Embedded Software
Github
Hardware Interface Design
Joint Test Action (IEEE Standards)
Performance Tuning
Software Architecture
Software Maintenance
Cloud Services
RS-485 Standard
Software Systems
Universal Asynchronous Receiver/Transmitter
Web Application Frameworks
Software Organization
Google Cloud Platform
Serial Peripheral Interface
PIC Microcontroller
GIT
Information Technology
Bitbucket
Software Version Control

Job description

As a Software Engineer, you will work closely with cross-functional teams to design, develop, and maintain high-quality software solutions. You will be responsible for solving complex problems, writing clean and efficient code, and ensuring the delivery of software that meets business requirements and user needs. This position is not eligible for employer-sponsored work authorization., * Collaborate with product managers, designers, and other engineers to gather requirements and design technical solutions.

  • Write clean, efficient, and well-documented code following best practices and coding standards.
  • Develop, test, and maintain software applications, ensuring high performance and responsiveness.
  • Participate in code reviews, identifying areas for improvement and providing constructive feedback.
  • Troubleshoot, debug, and optimize existing software applications.
  • Contribute to software architecture discussions and technical decision-making.
  • Ensure the scalability, security, and reliability of software solutions.
  • Stay up to date with the latest industry trends, tools, and technologies.
  • Continuously improve processes and workflows to increase the efficiency of the development team.
  • Assist in the deployment, monitoring, and maintenance of applications in production environments., * Business development and product management background, with experience developing product plans and strategy work
  • Gather the Voice of the Customer input and develop Customer Fitness for Use Criteria
  • Collect and analyze feedback from customers, stakeholders, and other teams to shape requirements, features, and end products
  • Develop product requirements and multi-year roadmaps
  • Determine specifications, production timetables, pricing, and time-integrated plans for product introduction, through launch and commercializationEnsure products and releases are launched correctly and on schedule

Requirements

  • Bachelor's degree in computer science, Engineering, or a related field (or equivalent work experience).
  • Proven experience as a Software Engineer or similar role, with a strong portfolio of developed applications.
  • Expertise in embedded programming, including proficiency in C++ and knowledge of assembly for microcontroller programming.
  • Ability to read and interpret electrical schematics.
  • Strong knowledge of microcontrollers and embedded systems.
  • Understanding of hardware interfaces and communication protocols (e.g., UART, SPI, I2C, CAN, RS485).
  • Strong understanding of algorithms, data structures, and software design patterns.
  • Familiarity with version control systems (e.g., Git) and collaboration tools (e.g., GitHub, Bitbucket) for managing embedded software projects.
  • Familiarity with web development frameworks, cloud platforms, and databases.
  • Experience with testing frameworks and writing unit tests.
  • Ability to work in an Agile development environment.
  • Strong problem-solving skills and attention to detail.
  • Proficiency in embedded software debugging and performance optimization using tools like oscilloscopes, JTAG, and logic analyzers.
  • Excellent communication skills and ability to work well in a collaborative team setting.
  • Knowledge of software development best practices and methodologies., * Experience with Microchip microcontrollers (e.g., PIC, dsPIC, or SAM series) and embedded system development.
  • Knowledge of embedded security practices and securing communication between embedded devices.
  • Familiarity with continuous integration/continuous deployment (CI/CD) pipelines.
  • Experience in designing and optimizing APIs.
  • Knowledge of cloud services (e.g., AWS, Azure, Google Cloud).

Apply for this position