
About Wideeye
About
Connect with the team
Similar jobs
Required Skills:
- 4+ years of experience in embedded software development.
- 2 - 4 years of hands-on experience in C/C++ programming.
- Knowledge of TCP/IP internals and common network protocols such as DHCP, DNS, IPV4/IPV6, NAT
- In-depth knowledge of Layer 2 and Layer 3 protocols (Ethernet, IP, TCP/UDP, MPLS, BGP, OSPF)
- In-depth knowledge of RDK-B architecture, TR-069/TR-181, and networking stacks
- Work on TR-069, TR-181 data models, and DOCSIS / DSL / GPON technologies
- Experience and knowledge on IEEE802.11/Wi-Fi protocols such as WPA, RADIUS, WPS, 802.11n/ac/ax/be, mesh networking
Mandatory Skills:-
C Programming and data structures.
Linux Internals ( System calls, IPC, Network Programming, POSIX Multi-thread programming)
Desirable Skills :-
C++ and OOPs knowledge
Linux system start-up sysvinit, systemd,
Bootloaders : uBoot
Message bus protocols like dbus
Basic Linux Device driver knowledge
Linux Build framework – Yocto-Bitbake, Makefiles
Python scripting
Debug using tools such as GDB
Version control - GIT and SVN
The Senior Software Engineer works with an experienced cross-functional team to deliver innovative wireless communication security products. They will utilize real world knowledge and a disciplined approach to product development, and adapt readily - Time-To-Market demands, ensuring product quality and timely delivery in a highly dynamic market environment.
ESSENTIAL FUNCTIONS :
- Design and deliver server platform based software products from conceptual stages to production delivery.
- Work independently on all phases of server centric software development including specification, architecture design, rapid prototyping, efficient coding, integration, debug and unit testing. Support UL and EN regulatory compliance
- Work collaboratively and effectively as part of a small team on fast paced projects that have tight deadlines.
- Support manufacturing life cycle for new products from NPI to production run and incremental software release of functionality.
- Lead, train, and mentor junior engineers
- Document and present design requirements to staff
- Possess a demonstrated ability to communicate with customers via email and phone
REQUIRED SPECIFIC JOB KNOWLEDGE, SKILL AND ABILITY :
The individual must possess the following knowledge, skills and abilities and be able to explain and demonstrate that he or she can perform the essential functions of the job, with or without reasonable accommodation, using some combination of skills and abilities.
- Must be an excellent SW developer. We expect experience developing software C/C++ in Linux and Perl. Other scripting languages is a plus (i.e. Python).
- Strong experience with SQL, Database design (MySQL a plus)
- Experience with Network Security Administration and understanding of the full SDLC.
- Experience with Multithread, Socket connection, OpenVPN server setup, OpenSSL, Certificate, Encryption, and TCP/IP troubleshooting.
- Experience with Testing tools, virtualizing servers, and using source control (SVN a plus).
- Experience with Linux development infrastructure, tool chain and build environment (Jenkins a plus).
- Experience developing both Linux application software; installing Linux software and configuring Linux systems.
- Experience with Application server remote update, and Apache Server authentication.
- Proven record of designing and delivering complex networking products from inception to production delivery.
- Previous experience developing quality software for commercial products.
- Experience with communication systems involving wireless, radio, security and mesh networking technologies is a plus.
Experience with OSI networking protocols and applications is a plus.
- Experience with system development tools, including Source-Level Debuggers, Protocol Analyzers (Wireshark), Code Analysis tools, etc.
- Experience with any of the following is nice to have: Apache Server, GPIO, TCL/Tk, BACnet, Cloud server setup, and WebGUI design (javascript and jQuery a plus).
Responsibilities:
- Design and implement embedded software applications for IoT devices using C programming language.
- Develop and maintain firmware for Raspberry Pi-based systems, ensuring optimal performance and compatibility with various IoT sensors and peripherals.
- Collaborate with hardware engineers to define and document system requirements and specifications.
- Conduct thorough testing and debugging of embedded software to identify and resolve any issues or bugs.
- Optimize code and improve system performance to enhance the overall user experience.
- Stay updated with the latest industry trends and technologies in embedded systems and IoT development.
- Work closely with the product management team to translate customer requirements into technical specifications.
- Provide technical support and guidance to the team during the development and deployment phases.
- Participate in code reviews and contribute to the continuous improvement of software development processes.
Qualifications:
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
- Strong proficiency in C programming language with a solid understanding of embedded systems.
- Experience developing software for Raspberry Pi or similar single-board computers.
- Knowledge of IoT protocols and technologies such as MQTT, CoAP, TCP/IP, and wireless communication (Wi-Fi, Bluetooth, etc.).
- Familiarity with various sensors, actuators, and electronic components commonly used in IoT devices.
- Solid understanding of software development methodologies and version control systems (e.g., Git).
- Strong problem-solving skills and the ability to debug complex issues in embedded systems.
- Excellent communication and teamwork skills to collaborate effectively with cross-functional teams.
- Prior experience in developing IoT applications or working on IoT projects is a plus.
- Work directly with the other Software/Firmware Engineers and Electrical/RF/Systems Test Engineers to write needed software
- Design and implement software platform for firmware on embedded CPUs with multiple OS such as Windows, Linux, FreeRTOS, TI-RTOS and embedded Linux
- Use compliers, debuggers revision control and automated build systems.
- Design/develop components of software platform for use by other developers to extend its capabilities and build custom applications/behavior on top
- Develop build methodologies, debugging tools/utilities
- Develop and release Software using Agile methodology
- Write unit tests and support continuous integration and automated test methodology
- Brainstorm for new ideas and ways to improvement product and processes
- Consult with peers for feedback during debug/testing stages
- Document and maintain design processes
RESPONSIBILITIES AND QUALIFICATIONS
Responsibilities
+ Design, build and maintain low latency, high-performance electronic trading platform components, with a focus on market data, exchange and client connectivity and risk controls.
+ Deliver continuous optimization for latency, scale and resiliency improvements.
+ Participate in system builds for various markets globally, have curiosity and interest in understanding market microstructure details, work closely with engineering, sales and product teams globally for successful delivery of projects.
+ Basic Qualifications
+ Bachelors or Masters degree in computer science or engineering or equivalent experience
+ 5+ years of professional experience developing deterministic high performance, low latency systems in python/C++ (counted in single digit microseconds)
+ Prior experience with FIX and binary exchange connectivity and market data protocols preferred
+ Strong knowledge of object oriented programming, data structures, algorithms and design patterns
+ Critical path analysis, performance optimization and hardware acceleration.
+ Linux systems programming experience including memory management, concurrent programming infrastructure, and the networking stack
+ Experience developing distributed architecture systems and messaging protocols
+ Strong analytical and problem solving skills
+ Comfortable in a fast-paced environment, self-motivated, results driven and commercially focused
Preferred Qualifications
+ Software development in python/C++ in the context of high performance (low- latency, high-throughput) real-time computing.
+ Familiarity with STL and C++11 language extensions, Boost
+ Network programming (sockets, TCP/UDP/Multicast protocols)
+ Multi-threading, concurrent programming
+ Intimate knowledge of compilers, flow of data at hardware level (memory/ caches, buses) + Some experience with FPGA or other hardware acceleration technologies
+ Experience processing large static datasets as well as high volume ticking data sources
+ Over 3 years' experience in Financial industry (Plus)










