
Sadasivan S.
Profile Summary
Professional Summary
Summary
• Over 14 years of experience in Full Cycle System Software development
• Expertise in system study, analysis, design and prototype coding
• Expertise in ISO/IEE standard software practices
• Expertise in OS development, build, and debug of kernels (Linux kernel)
• Expertise in device driver development (Linux)
• Expertise in UNIX internals and Socket programming
• Expertise in analysis, design, development, implementation of Networking applications
• Proficient in Multithreading implementation.
• Expertise in Scripting languages and tools (C/C++, Korn Shell, sed, awk, Perl), distributed networking (TCP/IP, Ethernet) to cross platform interfaces.
• Extensive working knowledge on x86 architecture
• Extensive working knowledge on ARM, Mips and ppc architecture.
• Extensive work experience in Memory management, I/O management, Networking and Hardware bring up.
• Experience in writing kernel module and device driver.
• Expertise in the following I2c bus protocols, UART, SPI bus Protocols, GPIO Programming, DMA, Ethernet
• Expertise in GPIO programming
• Expertise in PCI Express and PCI.
• knowledge in implementation of TCP/IP and in-depth knowledge of TCP/IP internals
• Expertise in Embedded system programming.
• Knowledge of IPV4 and IPV6 Networking protocols.
• Excellent problem solving and debugging skills
• Excellent interpersonal and communication skills
• Experience with multiple Linux distributions.
• Strong management experience along with teamwork building and excellent communication skills.
• Good at mentoring junior Engineers.
• Submitted kernel patches to Linux kernel community
Expertise
Software Developer
> 5 Year Experience5/5
Employment History
Linux Software developer (kernel and userland)
Linux Software developer - (Sr. Software Engineer)
Environment: Linux (4.x) C/C++ (x86) (x86 Servers (secured Gateway))
Responsibilities
• Debugged Linux kernel/driver issues.
• Developed multithreaded programming
• Hardware bring up on Linux
• Working knowledge on X86 Architecture.
• Worked on BMC side of the X86 server.
• Debugged Hardware Issues.
• Worked on I2c, UART development
• Worked on Debugging USB issues on X86 server.
• Developed Code using GPIO programming.
• Developed Diagnostic Test (Multi-threaded) for NVME/Hard drives for X86 Servers.
• Developed Diagnostic Test using socket programming for Network cards.
• Added Diagnostic features for LED, ID LED, Network Cards and other Hardware Components.
• Worked on Adding Crypto Card support
• Worked on Adding Different Network card support on X86 server.
• Used oscilloscope to debug the issues
• Have experience reading schematics and data sheets.
Linux Software Developer(kernel and userland) (Technical Lead)
Linux Software developer - (Technical Lead UCS Server division)
Environment: Linux (2.6 & 3.0) C/C++ (x86) (x86 Datacenter Servers)
Responsibilities
• Debugged Linux kernel/driver issues.
• Hardware bring up in Linux
• Developed memory test to test all the memory on the server.
• Debugged Hardware Issues.
• Worked on Cisco Storage Server
• Worked on BMC side for the x86 servers.
• Initiated and Developed storage test to test all storage devices for the x86 Blade and Rack Server
• Working knowledge on X86 Architecture.
• Coordinate with 3rd party vendors to run their test on the x86 server
• Developed diagnostic Tests to test each component of X86 blade and Rackserver.
• Worked on creating Linux ISO for based on RHEL73
• Run diagnostic test on GPU’s and different PCIE cards.
• Have experience reading schematics and data sheets.
Linux Kernel developer (Technical Lead)
Cavium Networks Inc (Montavista Inc) (acquired by Marvell) Mar2011 – Feb 2015
Embedded Linux kernel/driver developer - (Technical Lead)
Environment: Linux (2.6 & 3.0) C/C++ (x86, ARM, MIPS, PPC) (yocto)
Responsibilities:
• Linux Kernel programming and device driver development.
• Hardware bring up on Real time Embedded Linux.
• Trouble shooting HW device level problems.
• Worked on Kernel and device driver problems in CISCO (customer) switches and Routers.
• Worked on network, USB, SPI and I2c device drivers.
• Experience working with Linux kernel community.
• Worked on Virtualization software (VMware, VSphere) LXC., containers
• Experience with Xen hypervisor.
• Worked on scheduler, memory management, PCIE, USB, process Management.
• Worked on board bring up.
• Worked on networking stack (TPC/IP).
• Worked on cavium SDK.
• Worked on free scale sdk.
• Familiarity with libvirt, libxc, libxl etc.
• Worked on customer issues.
Embedded Software Engineer (Linux kernel/driver Engineer)
NTT DoCoMo U.S.A. Labs
Environment: Linux (2.4 & 2.6), C/C++, ARM Mar 2008 – Jan 2011
Embedded Software Engineer (Linux kernel/driver Engineer)
Responsibilities:
• Designed and Developed kernel module and device driver for the Config Access tool for mobile handset.
• Designed and Developed the ConfigAccess tool for openmoko
• Worked on the Process management and Memory Management of Linux kernel.
• Worked on device driver.
• Modified the Linux kernel to add tracing probes for Config access tool.
• Developed a tool for logging the Process creation and exit as well as file creation and exit.
• The following information about processes has been logged from the kernel data structures.
• Environment, Command line, Current working directory, root directory, executed command.
• Developed API for dumping the process tree
• Developed Filter module to filter the log files.
• Worked on the Integration and testing of OS switching project.
Embedded Software Engineer (Linux kernel/driver Engineer)
NEC Labs America Inc.
Environment: Linux (2.4 & 2.6), C/C++, MontaVista Linux, Vxworks, ARM Feb2005 - Mar2008
Embedded Software Engineer (Linux kernel/driver Engineer)
Responsibilities:
• Worked on embedded system Linux (Mont vista Linux) for the NEC FOMA 900iL mobile handset.
• Experiments with JFFS2 on NOR Flash and Nand Flash
• Worked on mtd device driver.
• Ported libc.so.6 onto Arm Linux.
• Modified the Linux Kernel (2.4) to control the swappiness.
• Mounted the Root file system on JFFS2.
• Performed memory constrained experiments on the board.
• Performed various test on the embedded system board to measure the Performance.
• Debugged the system using J-Tag partner.
• Experience in developing BSP.
• Experience with 3GPP and 3GPP2 standards
• Experience with CDMA/WCDMA air interface
• Designed and developed TCP/IP based network application for Vxworks.
• Embedded system programming for CO board (VDSL2).
• Socket programming (TCP/IP, UDP) for embedded systems.
• GUI (VC++) development for embedded systems.
• Developed a client server program between the PC and the CO board.
• Multithreaded implementation on server side of the program.
• The sever side of the program was in Vxworks whereas the client side
Of the program was developed in Windows and C++.
Education
Electronics Engineering
B.tech in Electronics Engineering (4 Years)
Languages
English
Full Professional Proficiency
Japanese
Professional Working Proficiency
Hindi
Professional Working Proficiency