Senior Software Developper
Rio de Janeiro, BR
Job Purpose
The Senior Software Developper calls for an experienced, knowledgeable, and talented individual to design and develop software for the User Configurable Open System (UCOS) product.
As a senior software engineer, you will have an opportunity to apply your versatile embedded, systems, and application software development skills to UCOS’s expanding use in myriad industrial controls and automation systems and Industrial IoT. You will lead and collaborate with other engineers while contributing at all phases of the software development lifecycle.
Job Description
- Architect, design, implement, test and deliver high quality, performant software products.
- Work cross functionally with software, application, and quality engineers to ensure products meet engineering and client success criteria.
- Actively participate in the definition and implementation of new processes and improvements
- Identify and create new technologies and ideas to increase the organization’s intellectual property and to better address customer needs.
- Present your designs and solutions to internal and external teams and review designs of software and quality engineers.
- Develop test plans and test automation processes to increase automated functional tests.
- Mentor team in development/test technologies, tools, and processes
- Location: Tech Center - Ilha do Fundão - RJ
You are meant for this job if:
- Requires a Bachelor of Science degree or related
- Expertise in software engineering
- Expert experience in C/C++, developing embedded software and systems software
- Deep knowledge of object-oriented programming and experience with at least one of (Java, C#, Python, Ruby)
- Knowledge of containerization technologies (such as Docker), Kubernetes technologies (such K3S, Helm charts, Rancher), and IoT protocols (MQTT, REST API, Kafka)
- Knowledge of cloud technologies such as AWS
- Systems software programming knowledge of Windows and Linux OS
- Working knowledge of Microsoft MFC (Microsoft Foundation Class), WPF, Qt, or similar GUI framework
- Understanding of database technologies such as SQL, ODBC, and relational database schema design
- Understanding of networking protocols (TCP/IP, UDP), wired interfaces (Ethernet, USB), and wireless interfaces (Wi-Fi, Bluetooth, Cell, Satellite)
- Experience designing, building, and maintaining APIs for internal/external services
- Exposure to the principals of Industrial Protocols, Platforms and APIs: OPC (DA & UA), Profibus, Profinet, Modbus (RTU, TCP, Enron), EtherIP, etc.
- Exposure to serial communication protocols (I2C, RS-485, RS-232, CAN, SPI)
- Exposure to industry standard embedded design and debugging tools is a plus (JTAG, protocol analyzers, emulators)
- Knowledge of web technologies, such as JavaScript, CSS, HTML5, XML, JSON, and/or Ajax
- Exposure to Configuration Management tools (Version control, bug tracking, change management, automated builds, and coding standards)
- Exposure to developing in agile and Iterative Software development processes
- Excellent verbal and written communications skills
Skills