Primary Skill: System Software Development
Skill sets req:
- Linux porting/development; Linux kernel concepts
- Expertise in Linux BSP device driver development
- Customizing kernel + Porting + Developing Applications Linux Device Driver Development (Character devices) Good Concepts of Network Drivers File Systems Concepts
- Expertise in porting, network stack; optimization, network programming
- Bootloader/Uboot porting
- Camera driver development (Good to have)
About VVDN Technologies
Similar jobs
Job Overview:
We are seeking a talented Android Framework Engineer to join our development team at Primebook. As an android framework developer, you would be responsible for development, coding, testing and debugging of system features and system apps of PrimeOS, driving technical excellence, and shaping the direction of our products. You will work closely with our CTO to create cutting-edge features that meet user needs and business goals.
Key Responsibilities:
- Understand product requirements and translate them into technical requirements.
- Create secure and high-quality production level code that runs well with different android versions and devices with different screen sizes.
- Development and debugging of android framework components like SystemUI, PhoneWindowManager, Settings database etc.
- Should be capable of developing applications from scratch, debug and fix issues quickly when they are found.
- Collaborate with various teams (Product, Design & Testing) to develop and ship new features.
- Should be able to write scalable and efficient code for handling the load of 100k+ users.
- Ensure the best possible performance, quality, and responsiveness of the application, good knowledge of threads in android is necessary.
- Excellent debugging skills, including identifying memory leaks, performance bottlenecks, and using tools like ADB, proguard, etc
Qualifications:
- A “Bring It On” attitude; bias for action; self-driven, end-to-end ownership; entrepreneurial approach; focus on operational excellence; ability to work with ambiguity.
- B.tech degree in Computer Science or equivalent
- 3-5 years of experience with portfolio of work to show the skill set
- Should have developed at-least 2-3 android apps from scratch
- Experience in compiling AOSP and solving common build errors is a must have
- Should have experience working with SystemUI and android framework_base
- Excellent knowledge of Java, Kotlin, MVVM architecture
- Experience with popular libraries (Jetpack, Retrofit, Glide, OkHttp, Gson etc.)
- Experience with RESTful APIs to connect Android applications to backend services
- Must be good at building logics and working with data structures
Perks and Benefits:
Job type: On-site, 5 days a week
Industry Type: Computer Hardware Manufacturing
Functional Area: Testing And Development
Employment Type: Full Time, Permanent
Salary: Upto 20 Lacs (depends on skill)
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 definitely 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 synchronization 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 optimize 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 synchronizing 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.
DESCRIPTION
Candidate will be responsible for Analysis of requirements, implementation, integration,
testing and documentation of Automotive Software components (Designing and Configuration of SWC,
BSW, MCAL drivers).
Responsible for maintaining quality of Software deliverables.
Candidate will be involved in entire Software development Life cycle.
TECHNICAL REQUIREMENTS
Well versed in AUTOSAR components’ design, configuration and Integration with experience in embedded ‘C’
coding. Good system level knowledge. Self-driven, motivated,
good problem-solving ability, analytical, communication and debugging skills.
Understanding of SDLC.
Strong Embedded Software and AUTOSAR knowledge on automotive control units.
Hands on exp. of AUTOSAR tool chains like Davinci Developer, DaVinci Configurator
Pro, Geny, and Canoe.
Good understanding of AUTOSAR architecture and concepts - BSW, RTE and SWC.
Must have designing & Integration experience of SWC.
Must able to integrate vector stack, configuration of RTE, OS and Understanding of
System/ECU Extract and generation phases.
Must have knowledge of configuration and implementation of various SW BSW modules
(Com /Memory/Watchdog/ IO/ Diagnostic Stack etc.).
Must have knowledge of configuration and implementation MCAL drivers (DIO/ADC /I2C
/EEPROM/PWM/CAN/LIN etc.)
Hands on experience on 8bit, 16bit and 32bit microcontrollers. Experience with Renesas
RH850 controller will be an added advantage.
Hands on experience on Automotive Communication Protocol like CAN, LIN and
Diagnostics (UDS/K-line). Geny, CANdela, ODX etc.
Should know Software Development life cycle. Experience with Automotive Software
development, integration and test tools.
Working knowledge of Device Driver programming of microcontroller of 8bit, 16bit and
32bit microcontroller. Hands on experience on basic Software handling
Good understanding of Hardware and experience of module development for ADC,
PWM, Timer, NVM etc.
Experience on Microcontroller in initial configuration and CPU clock settings.
Experience on Software Modules integration and integration testing.
Hands on experience on standard Architectural handling
Experience in compilation and debugging environment setting (GNU environment).
Knowledge on Communication protocol: CAN, LIN, RS232, I2C,SPI, usage of Communication tools
like Canoe, can analyzer
Knowledge
Hi
About us
Job description
Requirements
- C/C++ is a must. Rust is preferred. We already have part of the core product written in Rust. If you know Haskell, please let us know. We don't use Haskell in our stack but like folks who know it.
- It is essential that if you have done courses or have work experience in Operating Systems, Distributed Systems, and Computer Networks.
- Good exposure to debugging (more than just `!analyze -v`). We suck at debugging here, so can use your help!
- Great version control (Git) hygiene and familiarity with CI/CD. Test- and issue-driven development (that's our new term).
- Candidate should prioritize documentation to meeting (can't emphasize enough). Who has time to talk and listen (and forget) when one can write and read? During the interview, we may ask you how to organize your notes, references, and knowledge (We use Notion and self-hsoted Gitlab).
- Familiarity with scripting languages such as Python or Nim is appreciated. Both languages are used heavily in DevOps here.
- If you don't know Java, that's +1 ;-p (just kidding).
Regards
Team Merito
Job Description
-
Able to design and architect product solutions.
- Sound knowledge in OOPS concepts and OOAD
-
Knowledge on C++ 11/14, STL and BOOST libraries usage is added advantage
-
Implementation of automated testing & unit test framework
-
Know how on profiling tools & debugger
-
Developed software with interfaces to low level system and hardware resources
-
Excellent communication skills, written and verbal
-
Team player & high review aspects with CPP Core guidelines
-
Requirements Engineering and Bug Tracking tools
-
Thorough knowledge in Build and Release. Good exposure on GIT, Gerrit, SVN and Jenkins
-
Should be a quick learner and can take on things independently
-
Autosar / Automotive Domain knowledge would be a plus
Qualifications
BE/ BTech. in CS/IT/ENC/EEE
Additional Information
Having 4 to 8 years of experience
C/C++ Developer
We’re doing things no one has ever done. From developing game-changing technology and solutions to
helping the world’s top brands connect like never before, every day brings new challenges and opportunities
to innovate. We offer the chance to make your mark on something awesome.
What are we looking for?
Strong C/C++ programming and debugging skills in a Linux environment.
Experience with Design Patterns, ACE Framework, and Socket Programming.
Experience in Multi-threaded software development for Multicore Architectures.
Experience in VOIP application development, preferably on client/server platforms.
Understanding of system performance and scaling
Experience in embedded software development
Excellent problem solving/debugging skills design, develop, troubleshoot and debug
Software programs for databases, applications, tools, networks etc.
Requirements:
Bachelor's degree in Computer Science or related field or equivalent experience.
3-6 years of software engineering or related experience.
Location: Bangalore/Hybrid Model
About the role
Experience in Firmware/Software programming in embedded Linux & RTOS based application development. Candidate must have a very good understanding of ARM processor, hardware and custom board or product development experience.
Roles and Responsibilities:
- Design, code and integrate software for an embedded Linux/RTOS targeted application (applications, drivers, framework)
- Customization, deployment and maintenance of Linux distribution
- Interact with Linux kernel, integrate new device drivers Improvement and maintain existing software components
- Perform unit test, Integration test, verification and validation of the product developed.
- Assist with the hardware design surrounding the processor
- Document the projects according to standards (protocols, architecture, technical specifications, etc.)
Qualifications:
- Bachelor degree in Electronics or computer science engineering.
- Minimum 6 - 12 years of experience in embedded Linux programming.
Specific skills:
- Expert in C programming with RTOS.
- Hands-On experience with Protocol development.
- Nice to have Protocol development experience such as USB or DP, HDMI or equivalent.
- System level design and understanding of overall system
- Strong knowledge of Linux, ARM processor architecture with SOC, FPGA interface is a plus.
- Hand-on experience on Linux kernel and device-driver development and debugging.
- Knowledge/Experience of TCP/IP, Network programming.
- Ability to write effective and reusable code according to best practices.
- Must be a dynamic, autonomous, and team-oriented individual.
- Knowledge of hardware and low-level development is an asset.