Senior Software Engineer - C/C++/Networking
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).
About Emproto Technologies Private Limited
Emproto is a young organization started by Tech enthusiasts who have worked as Product Managers and architects for organizations like Flipkart, Axis Bank, Synchronoss Technologies. Emproto is a Full stack mobile and web app development partner for organizations like Innoviti, Talisma, Savaari.com among others. It is a rapidly growing organization with about 60 problem solvers working on cutting edge technology stack.
https://emproto.com/our-work.php
Similar jobs
Technical Lead (Embedded Software - Linux)
Job Responsibilities:
Lead a team of software/Linux development engineers working on microcontroller firmware development, Linux platform drivers and IOT solutions. Should be able to guide team members, resolve technical roadblocks and deliver project commitments. Will be the go-to person and first-level escalation point for all technical issues faced by the team. Looking for someone with 6+ years in the embedded industry and a passion to build a core team in a growing company. Team size will vary from 6 to 12 people, mainly firmware and Linux engineers.
The selected candidate for this role will be reporting to the software director/manager in the organization.
- Work with firmware and application architects to create a project execution plan
- Review project proposals for execution scope & timelines
- Lead embedded software development activities by the team
- Work with QA teams to resolve bugs and ensure release readiness
- Work with h/w design and PM teams to ensure smooth execution and timely delivery of projects
The main responsibilities of this role are:
Technical:
- Strong programming skills (C, C++, assembly)
- Linux development experience (porting & platform drivers)
- Expert-level knowledge of embedded microcontroller & microprocessor-based systems
- Prior experience in delivering critical modules for microcontroller projects
- Good understanding of commonly used embedded communication protocols
- Good understanding of common embedded peripherals, interfaces & sensors
- Experience working on Real-Time systems (RTOS)
- Should be able to quickly learn new technologies and enable the team on the same
- Should be able to work with minimal technical guidance
Leadership:
- This role requires excellent communication skills
- Strong analytical & problem-solving skills
- Should be able to lead junior engineers by providing technical mentoring
- Owns task division, task allocation and tracking within the team
- Require multi-tasking and time management skills
- Prior experience working with overseas clients
- Periodically report progress to management
Other desirable skills:
Knowledge of Python
Experience: 6 to 10 years
Designation Offered:
· Software Engineer / Leading Engineer
Job Responsibilities:
· Responsible for designing, coding, and implementing software solutions using modern techniques and programming language
· Provides high-level database development assistance in creating specific applications for businesses
· Provides general support on information technology to design, develop, execute, and maintain the database application systems, applying several RDBMS
· Ensures research and innovation at all levels of the software development process
· May participate in multiple projects simultaneously as a senior development team member
· Functions as technical architect and Subject Matter Expert (SME) on enterprise related software systems
· Performs the role of the principal designer responsible for complex systems and their subsystems employing deep knowledge of current technology and tools, as well as relevant systems that are already existing
· Provides excellent customer service by responding to and assisting with help desk calls to resolving issues, including system outages
· Performs administrative duties as well as some project management tasks.
· Provide guidance and support to Application Developers
· Assist with schema design, code review, SQL query tuning
Experience:
· A minimum of 4 years and maximum of 6 years of relevant experience in a similar role
Qualification:
· Bachelor of Engineering (BTECH / BE) or Masters (MTECH / MS / MCA ) in Computer Science/Electronics/Information Science from reputed institutions
Skills Required:
Mandatory
· Strong skills in PSSQL, MYSQL and MSSQL programming languages
· Strong skills in scalable & large DB application development & field support for customers
· Good experience in MYSQL database, Linux environment development, developing large-scale, multi-tiered, scalable, reliable, and secure network applications
· Knowledge of Optimization & faster bug fixes
· Hands on experience on testing of database i.e., unit testing, stored procedures & trigger testing Etc.,
· Exposure & awareness of Versioning / Configuration & Defect Tracking tools are an added advantage
· Exposure to handling transactions, security, scalability, concurrency and management of the components
· Good in database documentation
· Hands on experience in different types of testing & interfacing with User interfaces (C#, JAVA, Python Etc,.)
Optional
· Knowledge of Splunk database is highly desirable
· Exposure to machine learning (ML) based projects where handled complex queries, written different types of procedures for ML data pre-processing.
· In database machine learning SQL on GPUs
Position Overview:
This position is part of highly skilled fimrware team that do software board bring up of bare silicon for next generation products. In order to write system software for embedded electronic products, this position requires academic background in electronics engineering to understand hardware concepts such as digital logic, schematics, and microprocessor communications to develop effective embedded software.
Candidate should have complete knowledge of Software development cycle from architecture definition to the implementation.
Responsibilities:
- Must wear multiple hats from analyzing field and factory reported issues to software integration.
- Be a liason for troubleshooting and debugging complex systems and identifying the root cause.
- Develop detailed design documents and customer facing application notes for the system and IOT features for Mobile routers.
- Act as a product lead and be part of bigger team in software bring up.
- Ability to work on Low level software such as bootloaders and understanding of low level functional blocks is a must.
- Work on Linux kernel and configuration.
- Write or port device drivers for Ethernet, USB, GPIO, LED, Bluetooth, Accelormeter, LCD and touch screen.
- Debug stability issues in data routing between WAN and LAN interfaces.
- Work with Software QA with test plan and execution.
- Work with Hardware team to identify and root cause stability problems.
Experience/Requirements:
- Demonstrable knowledge of C, C++, Assembly programming skills
- Overall 10+ years of experience in embedded environment preferabily Linux.
- Board bring up proficiency with bootloaders and other low level software, must be very good with debugging techniques.
- Experience in TCP/IP networking is must for trouble shooting throughput and other traffic issues.
- Driver experience with I2C, SPI, UART, LCD, Ethernet, PCIe is a plus.
- Experience with low level debugging using JTAG.
- Experience with Makefiles, and build environments such as PTXDIST, Yocto and Buildroot.
- Experience with version control such as git and svn.
- Good communication skills and team player.
- Ability to work independently and autonomously to meet deadlines, in a fast-changing environment.
Education:
Bachelor in Electronic and Communication or related degree- Bachelor’s degree in Electrical or Electronics Engineering with 1-3 years of relevant experience.
- Highly experienced in Embedded C, C++ coding as per MISRA standards
- Experience in firmware programming for 8 bit, 16 bit and 32 bit controllers.
- Knowledgeable in Linker Scripts, Make files & firmware debugging using JTAG or on the UART console.
- Experienced in Communication peripherals like SPI, UART, I2C, CAN, etc.
- Ideation, designing, prototyping, and developing as per product requirements.
- Expertise in system architecture and design for Embedded software systems.
- Develop modular Embedded Code to port into different projects.
- Experience on Real Time Systems and Scheduling mechanisms
- Development experience in "middleware" / “application” / Low layer.
- Experience with developing embedded code for networking technologies like TCP/IP and UDP would be a plus.
- Document state machine diagrams, flow charts to understand the system architecture
- Working closely with Design teams to understand Hardware Implementation.
- Develop Test methods, in some cases automated test cases to test the firmware code and support hardware engineers.
- Use Debuggers, oscilloscopes, power supplies, and other necessary electrical tools to debug the code for problem-solving.
- Excellent reading skills for complete understanding of technical documents such as Processor Architecture Specifications and MCU hardware manuals, schematics etc.
- Ability to generate ideas in response to complex issues and execute on solutions.
- Python programming is a big plus.
Job Description: Senior Software Developer (Exp.2-6 years)
Location: Bangalore
What you need:
* Bachelor’s/Master’s degree is preferred in computer science or related field (such as computer engineering, software engineering, biomedical engineering, or mathematical sciences) from premier institutes.
* 1-3 years of industry experience in professional software development.
* Strong C++ knowledge.
* Knowledge of ITK / VTK / OpenCV / Robots / Qt Framework is plus.
* Required Technical Competencies in Algorithms and data structures object oriented design and analysis.
* Expertise in Design Patterns & C++ programming concepts; Linear Algebra, Computer Vision, Software design, development and verification methodologies would be preferred.
* Should be open to work in fast growing medical devices start-up making cutting edge computer assisted & robotic assisted surgery products in India for the world.
* Should have willingness to develop something great from India.
What you will do:
* Work with program manager to understand business requirement and translate that into technical design.
* Create and own leading edge reusable algorithm solutions.
* Create and own cross-platform SDKs.
* Research cutting-edge algorithms and techniques.
* Lead technical design and implementation of a feature.
* Implement high quality code with comprehensive unit testing.
* Troubleshoot issues raised from production and resolve customer problems.
* Evaluate and adopt technologies which improve the team efficiency and platform capability.
* Code review peer developers code and provide constructive feedbacks to ensure consistency and quality of code.
* Be a part of core R&D team for developing Surgical Robots.
* Ensures the integrity and security of company intellectual property and confidential data.
Company Profile
Happy Reliable Surgeries Pvt Ltd (HRS Navigation) started in 2015. It is India's first and only company to develop high tech surgical navigation system for highly complex Brain & Spine surgeries. Our products directly compete with world’s biggest medical devices companies. We are proudly one of the few global companies who have capabilities to develop Computer assisted and Robotic Assisted surgeries products. R&D Centre is based at Bangalore. It has been started by Ex of a global medical device company. It has been incubated & mentored by IIM Calcutta.
Why Do We Exist: - Currently all hi-tech medical devices are imported. Which leads to very high cost of healthcare & non reachability to common people. Our Purpose is to make premium healthcare affordable & accessible by continuous innovation for our people. We want to make India Proud.
Our Achievements: -
- 10 Best start-up in Medical Devices (Insight Success Magazine)
- Won Top 50 emerging product start-up NASSCOM 2017 (National Award)
- Winners in Economic Power of Ideas award 2018 (IIM Ahmadabad) (National Award)
- Winners in Smart Fifty competition conducted by IIM Calcutta (National Award)
- Won Elevate 100, Karnataka top 100 company (State Award from Karnataka Government)
- Grown Exponential even in 2020 financial Year. (No Salary Cuts / Firings)
- 3000+ successful Surgeries performed by our products.
Role As part of the role, the Developers / Senior Developers will be responsible for Design, Coding and Integration while meeting the quality targets set for the project. The Tech Leads will be additionally responsible for Estimation, Architecture, Design, Technical Reviews, Customer Interaction, Building and Mentoring a talented team of Engineers
Knowledge & Skills
- Technical Experience on Physical Layer of 3GPP LTE Experience on DSP Development\
- Proficient in C
- Good understanding of Wireless Communications
- Experience on MAC-PHY interface
- Behavioral Interpersonal skills & Ability to work in team
- Good Communication Skills Good Analytical Skills
- Customer Orientation Job Title LTE Developer with DSP Physical Layer(Engineer/Senior Engineer)