
Software Developer
- Rio de Janeiro - RJ
- Permanente
- Período integral
- 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
- 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