Microsoft Foundation Class Library (MFC) Jobs in Mumbai
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
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 its 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 the 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. A “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, and 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 its 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.
Lifespark Technologies is looking for individuals with a passion for impacting real lives through technology. Lifespark is one of the most promising startups in the Assistive Tech space in India, and has been honoured with several National and International awards. Our mission is to create seamless, persistent and affordable healthcare solutions. If you are someone who is driven to make a real impact in this world, we are your people.
Lifespark is currently building solutions for Parkinson’s Disease, and we are looking for an embedded software lead to join our growing team. You will be working directly with the founders on high impact problems in the Neurological Healthcare domain. You will be solving some of the most fundamental and exciting challenges in the industry and will have the ability to see your insights turned into real products every day
Responsibilities :
- RTOS based multithreaded software development
- Building future ready, scalable software architectures
- Liasing with hardware team to decide project requirements
- Realtime IoT functionality development on ESP32 platform
- Integration of third party services for cloud based communications and computation
- Maintaining and documenting software via git (GitLab)
- Coordinating releases, setup and maintenance of CI/CD pipelines
- Managing AWS based backend services, integration with AWS services such as S3, Sagemaker
- Deep integration with hardware team - stress testing hardware
- Development of device drivers
- Software testing and maintenance
Recommended experience :
- Good command over Linux
- Familiarity with real time tasks and timing sensitive system design
- Familiarity with BLE/Wifi/etc IoT communication protocols
- Familiarity with major third party platforms for cloud and ML/AI integration
- Testing actual physical outcomes of programmed solutions
- Deep familiarity with ESP-IDF
Location : IIT Bombay, Mumbai
Working mechanism : In-person
Compensation range : 6-12 lpa + ESOPs
For any queries, please contact Amey Desai
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.
- 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: 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