Post Job Free
Sign in

Software Engineer

Location:
Pleasanton, CA
Salary:
100000
Posted:
August 31, 2014

Contact this candidate

Resume:

Shameek Chakraborty

address: Pleasanton, CA *****

email: *********@*****.***, *******.***********@*****.***

phone: 507-***-****, 925-***-****

Systems Software Engineer

Software Engineer with highly specialized knowledge of Storage Systems, and Enterprise Servers; working for fortune 500

companies with 12+ years of US experience. Strong quantitative and programming skills as well as a system-level approach to

design and development allow me to tackle new problem spaces and make valuable contributions with minimal ramp-up time.

SUMMARY

- Very strong system programming background with C/C++ for large enterprise class software

- Expert level debugging skills in multi-threaded and clustered environment. Debugging skills include analysis of

application core dump, stack corruption, memory leaks. Very good knowledge of System Dump & Hang Analysis using Kernel Debugger

(kdb) - memory corruption, system hang, kernel panic, race conditions and server level issues.

- Very good knowledge of UNIX/Linux User Space, Kernel and Device Driver structure and operations. Good problem solving

skills at system level.Highlyexperienced in debugging device driver related issues.

- Worked on design/maintenance of various types of systems software components like Logical Volume Manager, DNS, telecom

and networking test automation platform, Embedded Systems Software components, Firmware

- 8+ years of experiencein UNIX/Linux internals: File I/O, IPCs,Socket Programming, Semaphores, OS Signal Handlers, Multi

-threaded programming, software development for Multi-processor systems

- Experienced engineer with expertise in Storage firmware design/implementation and debug on HDD, SSD. Implemented complex

features like Firmware Download, Interface Firmware components (SAS/PCIe drivers).

- 8+ years of experience on embedded software/firmware development.Very good experiencein programming at the hardware

level. Experienced with System primitives such as timers, DMA, interrupts, cache configuration and device registration.

- Low level software design, development, debug skills

- Very goodexperience with Embedded Linux running on microcontrollers (PowerPC/MIPS)

- Very good knowledge of ARM, PowerPCprocessor

- Very good grasp of Storage Domain, technologies such as SAS, PCIe, I/O subsystem

- Knowledge of Security Embedded Software development environment

- In-depth knowledge of protocol state machines, telecom and networking systems software (OSS), protocols like ISDN/SS7,

TCP-IP/X.25

- 5+ years of experience in developing solutions for telecommunications and networking systems software involving call

processing software and protocol state machines

EDUCATION: B.Tech. Electrical Engineering, 1995

IIT (BHU) Varanasi, India

TRAINING:

Six months of intensive class-room/lab training at Infosys Bangalore, India in Software Engineering.

TECHNICAL SKILLS

Hardware: IBM POWER7Servers, ARM-based SoC, PowerPC-based Microcontrollers

(PowerPC 405), MIPS, JTAG, In-circuit emulator (ICE), Dialogic Voice Boards

Operating Systems: UNIX/LINUX, Embedded LINUX, HP-UNIX, DEC, and Embedded Systems RTOS

Telecom/Datacom Protocols: ISDN/SS7, Q.931, TCP/IP, and X.25

I/O Interface: SAS (Serial Attached SCSI), PCIe, Fibre Channel

Application Protocols: DNS, LDAP

Systems Software Knowledge: UNIX Kernel (I/O Stack), Device Drivers, UNIX Internals, UNIX Network Programming, Multithreaded

programming, Multi-processor systems

Languages: C/C++, Perl, ARM Assembly, Shell Scripting

Functional Knowledge: UNIX Systems Programming, Embedded Software, Server Firmware, Cryptography, Storage Firmware

(HDD/SSD),IBM POWER Systems, LVM, UNIX Kernel/Drivers, Datacom Protocols, Telecom/Networking-based Systems (OSS), and SS7

Network

AWARDS

- Employee Recognition Award from Seagate for HDD firmware feature development

- Awards from IBM for troubleshootingLinux related issues and feature development

- Employee Recognition Award from HP for automation of Network System Testing

- Customer Satisfaction award from Infosys

EXPERIENCE SUMMARY

Employer Name: Trustonic

Address: Santa Clara, CA

Position: Sr. Software Engineer

Date: 2014

Description:

Trusted Execution Environment – TEE is a secure area that resides in the application processor of a mobile device. Support

integration of TEE into silicon partners' SoC

Environment: C/C++, Embedded Linux, Cryptography, Android, ARM Cortex

Responsibilities:

- Verification of Trusted OS and drivers through testcase implementation on different chipsets.

- Port Trusted OS on different hardware like Broadcom chipsets and debug issues –mainly linux, boot code, power

management.

- Write prototype for customers for Mobile security environment eg. AES encryption, RSA sign/verification etc.

Employer Name: IBM

Address: 11501 Burnet Rd, Austin, TX 78758

Position: Systems Advisor (Contract)

Date: 2011 – 2013

Description:

The Logical Volume Manager controls disk resources by mapping data between a simple and flexible logical view of storage space

and the actual physical disks.My role was to provide development support (backend support) for AIX kernel – Logical Volume

Manager for premium IBM customers.

Environment:C, AIX kernel, KDB, DBX, Multithreading, Unix internals, Shell scripts,awk, sed, AIX kernel components - LVM, File

Systems, VMM, POWER Servers

Responsibilities:

- Debug customer reported problems in C source code of AIX user space/kernel, file bug reports and implement code fixes

for customers in LVM component.Provide quick workaround and solutions for demanding customers.

- Debug system crashes (kernel dumps) and system hangs.

- Analyzed kernel traces for tracking I/O flow in various layers of AIX I/O stack

- Troubleshoot Storage related issues that cause LVM operations to fail.

- Provide workarounds to recover from system failure.

- Fixed core dumps, memory errors in C code for the LVM binaries and LVM library

- Debug customer issues on GLVM component thatextends LVM mirroring function across TCP/IP network

Employer Name: Qualcomm

Address: 9600 N MoPac Expwy, Austin, TX 78759

Position: Application Engineer (Contract)

Date: 2010 – 2011

Description:

This position involves providing engineering support for the tool chain running on Qualcomm’s DSP processor for Qualcomm’s

internal customers. The tool chain includes GNU compiler, linker, assembler, debugger and QDSP Instruction Set Simulator.

Operating systems being supported include a Qualcomm specific RTOS. Also provide support formultimedia test framework on QDSP

processor.

Environment:C, GNU tools (compiler, linker, assembler, debugger i.e. gcc, ld, gdb, binutils etc), Qualcomm DSP Core (Hexagon),

Instruction Set Simulator, Qualcomm’s RTOS, Multimedia Test Framework

Employer Name: Cavium Networks

Address: 805 E Middlefield Road, Mountain View, CA 94043

Position: Application Engineer (Software)

Date: 2010

Description:

Provide engineering support to end customers for software running on Cavium chips (Octeon). Octeon is MIPS64 based multi-core

processor that offer high performance low power solutions for packet switching applications. Cavium specific software includes

embedded Linux (user space, GNU tools, Ethernet drivers, u-boot, PCIe/DMA drivers etc) Cavium SDK, APIs etc.

Environment: Embedded Linux, C, GNU tools, Linux drivers, Cavium drivers, MIPS, PCIe, Emulators (JTAG), TCP/IP, IP-Sec.

Employer Name: Seagate Technologies

Address:1280 Disc Drive, Shakopee, MN 55379

Position:Sr. Firmware Engineer

Date: 2005 – 2010

Description:

This position involves collecting requirements, design, and implementation of disc drive controller firmware for an embedded ARM

SoC. This firmware controls every aspect of the drive’s behavior from interface to the host (Serial Attached SCSI, Fibre

Channel) to writing data on the media and reading it back. My area was to work on Interface Firmware development (SAS), Firmware

Diagnostics like Factory commands, Media Scan Tests and Embedded Systems Kernel.

Environment:C,ARM assembly based software, ARM based SoC, SAS, PCIe, Fibre Channel,Emulators (JTAG/ICE), debuggers, ASIC

simulation,Perl, Windows based cross-compiler and Perforce

Responsibilities:

- Firmware feature development and bug fixing on the interface side of disk drives involving the SAS (Serial Attached

SCSI) Protocol. Been involved in debugging assert failures, timeouts, protocol violation.Locate hardware issues atASIC leveland

provide workaround in the firmware.

- Design/implementation ofQuick and Robust Download for SAS interface. Feature development and bug fixing on download

microcode & reset code, firmware initialization area. Creatememory maps, firmware image file formats, flash layouts, memory

layouts of the target firmware for different Seagate products. Debugging code download/software reset and hardware

initialization

- Design/implementation of embedded systems kernel for SSD

- Design/implementation of PCIe software driver for SSD

- Design/implementation of Factory Command Features for HDD.

- Design/implementation of features involving Media Scan Tests, DST for HDD

- Debugged issues involving shared data problem between kernel tasks and IRQ handlers, memory corruption, deadlocks, race

conditions, task starvation and other areas. Developed extensive experience in debugging memory corruption incorrect programming

of hardware, thread safety problems, Re-entrancy issues, Instruction Area corruption etc.

- Been extensively involved in Configuration Management activity involving firmware verification/integration, releasing

code, build activities etc.

Employer Name: IBM

Address: 3605 Hwy 52 N, Rochester, MN 55901

Position: Software Engineer (Contract)

Date: 2002 – 2005

Description:

FSP (Flexible Service Processor) boots up the main operating system of the iSeries and pSeries machines, carries out the initial

hardware diagnostics and initialization and helps the system to isolate run time problems. It also allows connectivity to the

server through HMC, helps in configuring the servers (for example create logical partitions).

Environment:C/C++/Linux, Linux Shared Libraries, UNIX internals, LinuxDevice Drivers (DMA), Power PC, Microcontroller, Multi-

threaded applications,Linux Systems Software,ELF

Responsibilities:

- Provide Linux expertise and help in DMA and PowerPC interface software related areas.

- Design/implemented PERC (process error context) which is a thread safe Linux shared library that captures the stack of

the application during core dump and allows error logging.

- Design/implementation/testing of Linux shared library for providing DMA (Direct Memory Access) to and from the

microcontroller address space to the host address space. DMA APIs interact with the DMA device driver to transfer data between

the host and the microcontroller address space using IBM’s I/O Bridge.

- Maintenance/testingof DMA device driver.

- Design, implementation of CEC Term. This allows FSP to reboot the system.

- Testingof CPU controls.This allows user to dump microprocessor registers, setup break points, step through instructions

etc.

- Testing of CuOD (Capacity On Demand). This is IBM’s “on demand” technology offered on its mainframes and AIX servers.

- Provide engineeringsupport to internal & customer testing of eServers through analyzing and fixing problems in the

embedded systems software. Debug software related issues like memory errors, configuration issues, system software issues,

device driver issues, microprocessor and hardware related issues (specially debugging hardware issues involved in DMA

transfers).

- Testing of mailbox - it is a daemon/device driver package which runs on Linux and allows message passing between

different partitions of an IBMeServer.

EARLIER CAREER

Telcordia Technologies, Piscataway, NJ

Software Engineer (Contract)

Design and implementation of call processing software(ISDN-PRI).

Hewlett Packard – India Software Operations, Bangalore, India

Sr. Software Engineer

Provide sustenance/feature development of HP-UNIX DNS server/client.

Infosys, Bangalore, India

Systems Analyst

OCTAVE is a telecom/datacom test platform developed by Nortel Networks for testing various functionalities of a DMS 100 Switch.I

did feature development that's part of OCTAVE platform like enhancing OCTAVE to support various protocols X.25, ISUP, interface

with Soft-switch etc.



Contact this candidate