Linux kernel Jobs in Mumbai
Skills You'll Need
- At least 3 years of C++ programming experience in a Linux environment.
- Strong understanding of computer systems e.g. operating systems, networks, performance optimization, etc
- Experience in Object-Oriented design and multi threaded programming
- Experience in creating/supporting cross-platform multi threaded applications
- Strong analytical and problem solving skills
- Ideally some experience in developing low latency systems
- Experience with trading or execution systems preferred
- Bachelor's degree in Computer Science or Computer Engineering or related field
- Reliable and predictable availability
Ideally in Mumbai Metro Area but open to anywhere for the right candidate.
Company background and Vision
We at Neysa believe that good software is one where you don’t have to (necessarily) read the full manual. Good software is intuitive, inviting and accommodating. Most importantly, good software should make life easy. That’s easier said than done, though. Good software is hard to write. For the end user to be required to do the least amount of work, the developer has to do the most. To get the most out of a computer system, the code should be as native as possible. Neysa is out to build the most intuitive network management software ever, and we hope you would write code to bring that vision to life.
Day in the life In this role...
Work with time-sensitive and streaming data for analysis, filtering and sorting, for example, the C++ STL. Create parallel processing architectures which can scale up and down on demand. Interact with external systems and handle their idiosyncrasies in a live, data-heavy, time-constrained environment. Provide a resilient and predictable platform for upper-layer applications. Come up with bespoke solutions for real-world data handling problems. Handle cryptography and communication security over untrusted channels.
Must-have skills
On day one, we'll expect you to... Have a deep understanding of object-oriented programming, socket programming and memory management techniques. Have experience with multi-threaded and multi-core programming and it’s associated concurrency, locking and synchronisation techniques. Be aware of interprocess communications (IPC/gRPC) and message queueing. Be comfortable with mathematical functions and the associated libraries in system programming. You also should be unafraid to use math to optimise your code. Understand synchronous and asynchronous communication, and when to use what. Be comfortable in handling low level byte handling operations.
What separates the best from the rest
You will need to have... The initiative to work on your own, at your own pace, but on a schedule. The courage to iterate, re-iterate and the re-re-iterate till you get it right. And then defend your design philosophy. Think through all the possible applications of your work, and then make sure it performs awesome in every one of them. Making the right algorithm choices based on design requirements. Write good, commented and (hopefully) error-free code. Logic failures are acceptable, but poor error handling is not.
What you can expect
The best equipment which complements your talents. The best tools in the business for you to bring your creations to life. A great environment. Flexible work hours, and flexible work locations. You will need to be in office though. The opportunity to make your mark and shape the future. And have fun…
The Technical Skill Tree
Things you must know…
C, C++, Java, system programming, stream programming, socket programming, Linux Internals, Hooks and System Call and Kernel APIs. Locking and synchronising techniques like mutexes, atomics, deadlocks and races and ways to avoid them. “Safe” programming, exception handling. String input/output and manipulation, data structure(hash tables, graphs, stacks, queues, trees, binary trees) and operations on them. System memory management, instruction reordering and memory order.An “code-based” understanding of the TCP /IP stack and other networking protocols.
Great if you know....
Garbage collection in C++, thread-safe and type-safe programming, hierarchal exceptional handling. Specialised algorithms for data collection, analysis and presentation. Understanding of the REST, protobuf, XML, JSON and other data interchange formats. Understanding of cryptographic libraries, key management concepts, and symmetric and asymmetric encryption. STL containers, API service creation, “daemons”, operating system services, microservices,
We'll help you out on ...
Web servers, system administration, website management, code management systems, code debugging systems. CI/CD, Automation frameworks. Version management tools.
The Neysa Team
Neysa is founded by a team which has nurtured a multi-million dollar business from it’s inception and grown it to be the best in its industry. We are problem solvers at heart, and we get our kicks when our ideas are out there, taking a crack in the real world. Never accepting the status quo, we have always pushed the boundaries of what is possible. And changed our lives, the people we work with and the community in which we operate.
About the company
A strong cross-functional team of designers, software developers, and hardware experts who love creating technology products and services. We are not just an outsourcing partner, but with our deep expertise across several business verticals, we bring our best practices so that your product journey is like a breeze.
We love healthcare, medical devices, finance, and consumer electronics but we love almost everything where we can build technology products and services. In the past, we have created several niche and novel concepts and products for our customers, and we believe we still learn every day to widen our horizons!
Introduction - Advanced Technology Group
As an extension to solving the continuous medical education needs of doctors through the courses platform, Iksha Labs also developed several cutting-edge solutions for simulated training and education, including
- Virtual Reality and Augmented Reality based surgical simulations
- Hand and face-tracking-based simulations
- Remote immersive and collaborative training through Virtual Reality
- Machine learning-based auto-detection of clinical conditions from medical images
Introduction - Advanced Technology Group
As an extension to solving the continuous medical education needs of doctors through the courses platform, Iksha Labs developed several cutting-edge solutions for simulated training and education, including
- Virtual Reality and Augmented Reality based surgical simulations
- Hand and face-tracking-based simulations
- Remote immersive and collaborative training through Virtual Reality
- Machine learning-based auto-detection of clinical conditions from medical images
Job Description
The ideal candidate will be responsible for developing high-quality applications. They will also be responsible for designing and implementing testable and scalable code.
Key Skills/Technology
- Good command of C, and C++ with Algorithms and Data Structures
- Image Processing
- Qt (Expertise)
- Python (Expertise)
- Embedded Systems
- Good working knowledge of STL/Boost Algorithms and Data structures
Responsibilities
- Develop quality software and web applications
- Analyze and maintain existing software applications
- Develop scalable, testable code
- Discover and fix programming bugs
Qualifications
Bachelor's degree or equivalent experience in Computer Science/Electronics and Communication or a related field.
Industry Type
Medical / Healthcare
Functional Area
IT Software - Application Programming, Maintenance
- Works towards developing Stable & Efficient Firmwares for Embedded
- Responsible for developing Firmware which are Stable, Efficient and scalable.
- Responsible to create coherent and scalable architecture designs.
- Responsible for understanding and utilizing best BLE / IOT
- Responsible for understanding various RTOS design principles.
- Qualification: B.E. / B.Tech / M.C.A. in Computer Sciences.
- Must Proficient in Embedded C, C++, BLE, Zephyr RTOS, nRF.
- Ready to work from home.
- Should have above 4 years of experience.
Job Description:
- The Position will gather user requirements, create and maintain procedures, and assist in the configuration/customization of the system.This position requires flexibility with changing priorities.
- Generates new code and corrects, convert’s, and/or modifies existing code to meet specifications.
- Prepares detailed specifications from which code will be written.
- Writes and update’s Technical Documentation such as users' manuals, product specification’s, and Training Materials.
- Performs a variety of Testing Procedures on assigned products, analyzes test results, and correct the problems.
- Good Knowledge in Asp.Net , C# Windows application , MVC/Web API & SQL Experienced in integrating clinical Diagnostic Processes into LIS processes through software development Life-cycle test, and verification and validation. Development of instrument interfaces from LIS to Clinical Laboratory Instruments, and data interfaces with external Stakeholders. Knowledge and Experience in LIS life cycle form Implementing requirements and Design through Configuration and Development
Job Description: Senior Software Engineer- Embedded Systems
Videogram is looking for Software Engineer in Embedded Systems who will be responsible for designing the embedded systems and installing them in machines and tools. You will be playing an important role in our software team who will be responsible to design and develop the software that controls the processor (micro-controllers and digital signal processors) of the machine. You come with a role as a professional Embedded System Software Engineer to execute a complete embedded software development lifecycle.
Responsibilities:
- Design and implement software of embedded devices and systems from requirements to production and commercial deployment. Responsible for the complete embedded software development lifecycle
- Design, develop, code, test, and debug system software
- Coordinate with the engineers from other disciplines to develop the end product of the requisite standards
- Customize the software to suit the needs of the product nature and expected functioning
- Debug the system to remove the anomalies and inconsistencies
Requirements:
- Candidates require a bachelor's degree in computer science, electrical engineering, software development, embedded software, etc.
- The candidate should be an undergraduate in Computer Science or a relevant field
- Hands-on experience in C++11 or later programming languages
- Knowledge of GIT Version control
- Experience in doing bare metal or RTOS development
- Hands-on experience in developing the code in Linux
- They require exceptional programming skills and competence in using software tools.
- Knowledge of operating systems and of the interaction between hardware/software is important for this profile.
- The attributes of problem-solving ability, analytical skills, proactive behavior, and an adaptable approach are important in this position.
- This discipline of engineering provides scope for creative minds and poses challenges to perform quality work.
- Scripting in Python & Bash is an add-on
- Experience in any of the following technologies:
UART | SPI | I2C |MIPI DSI |Display Port | Low-Level Sata
Additional/ Desirable Interests:
- Personal interest in videography/ photography and audio production
- Experience working programmatically with videos/ images/ audio
- Exposure to low-level details of any video/ image codecs
- Exposure to movie container file formats especially QuickTime/mp4
- Working knowledge of exFAT file system