Python Developer Resume
Greenville, SC
SUMMARY
- Engineering professional with 10 years of experience in Software development.
- Mastering/Leading in the development of applications/tools using Python for 6 years.
- Worked on several python packages like numpy, scipy, pytables etc..
- Having good experience in Hadoop Big Data processing. Expertise in developing the queries in Hive, Pig
- Mastering Web Application Development using html, JavaScript.
- Having Good Experience in Object Oriented Concepts with C++, Java, Perl and Python.
- Experience in Design, Development, Testing, Automation, Enhancement and Maintenance of Applications and Tools.
- Good knowledge in various phases of SDLC - Requirement Analysis, Design, Development and Testing on various Development and Enhancement Projects.
- Having good domain expertise in developing applications/tools using Perl and programming in C, C++ and Java.
- Having experience in developing GUIs using Tcl, Tk and Java.
- Good Experience in C/C++ development of multi-threaded applications in a Linux Environment.
- Good Experience in error and exceptional handling.
- Good Experience in debugging the issues using debuggers like gdb, pdb.
- Development of Applications/Tools for validation of next generation IA32 Enterprise Processors.
- Familiarity with development best practices such as code reviews and unit testing.
- Experience in designing the automation framework using Perl and Shell scripting.
- Experience in writing test plans, test cases, test specifications and test coverage.
- Experience with Version Control, ideally SVN, CVS and GIT.
- Leading, guiding and helping the team members with the challenges faced during the project development process and problem solving.
- Have flexibility and ability to learn and use new technologies and also to work in team environment as wells as independently to get things done.
TECHNICAL SKILLS
Languages: C, C++, Java, Assembly language
Scripting: Perl, Python, Shell
GUI development: Tcl,Tk, Java
Markup Languages: Html and XML
Operating Systems: Windows, Linux
Code maintenance Tools: CVS, Tortoise SVN, GIT
Programming Methodologies: Waterfall, Iterative
Debuggers: gdb, pdb
Others: MS Excel, MS Office, MS Power Point, Latex
PROFESSIONAL EXPERIENCE
Confidential, Greenville, SC
Python Developer
Responsibilities:
- Understand the business process variants and created the process flow for automating the adhoc request.
- Working closely with team members in developing the PowerShell scripts for automating the several steps in Microsoft HDinsight environment.
- Developed the map-reduce flows in Microsoft HDInsight hadoop environment using python.
- Explored different implementations in hadoop environment for data extraction and summarization by using packages like Hive, Pig.
- Developed Hive UDFs and Pig UDFs using Python in Microsoft HDInsight environment.
- Reporting the issues and resolve the issues that arise out of the testing process with different type of systems.
Environment: Python, Powershell, Hive, Pig
Confidential
Responsibilities:
- Developed several algorithms for generating several data patterns
- Added several options to the application to choose particular algorithm for data and address generation.
- Developed separate flows to support different kinds of memory access
- Developed the application using C language and Assembly instructions
- Maintaining the versions using CVS and sending the release notes for each release.
- Wrapper developed in Python for instantiating multi-threaded application and running with other applications
- Supported the issues seen in the tool across all the teams for several projects.
Environment: C, Assembly Language, CVS, Python, Linux, gdb
Confidential, Greenville, SC
Python Developer
Responsibilities:
- Understood the injection mechanism of the memory hardware and developed several flows that needs to be implemented.
- Developed framework to inject single, double and multiple bit injections
- Developed the application in C++ language in Linux environment
- Came up with several options to the application to support one shot injection, continuous injection to mimic the real world scenario.
- Checked out the hardware correction algorithm by running with different memory patterns
- Maintaining the application revisions using CVS
- Wrapper developed in Python to run this application along with other applications
- Ported the application from Linux to Windows
Environment: C++, Python, Linux, Windows, CVS, gdb
Confidential, Greenville, SC
Python Developer
Responsibilities:
- Individual contributor in understanding the QPI physical layer spec and developing the test algorithms using the processor hooks and get them reviewed
- Implementation of the test algorithms in focused tool with self-checking methodology
- Sanitization of the test by running in RTL, previous generation processors
- Execution of the tests on the silicon and finding the bugs in the physical layer functionality
- Development of test framework using the Python
- Development of Assembly instructions for initializing the processor
- Automation for execution of tests in batch using Shell scripting
Environment: Python, Assembly language, Shell scripting, SVN
Confidential, Greenville, SC
Python Developer
Responsibilities:
- Lead the team in developing the test algorithms for covering all the scenarios during the virtual machine switching
- Implementation and sanity check of tests by running on previous generation processors
- Sanitization and debugging the failures during the execution of tests on the new Processor
- Enhancing the tests to support 16 threads and run in MP environment
- Development of user-defined data structures and library functions using C and C++ languages
- Confidential compilers to generate test objs using Assembly language and user- defined data structures
- Debugging using the gdb and hardware break points
Environment: C, C++, Assembly Language, SVN
Confidential, Greenville, SC
Python Developer
Responsibilities:
- Development of the test plan to cover all the RAS features
- Preparation of the test conditions/scenarios which cause the errors similar to real world scenarios seen during the Processor execution
- Implementation of procedures across the various validation tools that enable to cause the error conditions in Server Processor and process of self-checking
- Guided Intern to implement handlers to handle the error condition seen in Processor
- Execution of the tests developed on the processor and figure out the anomalies in the error flows
- Developed generic framework for RAS test development using XML
- Developed user defined error handlers using C language
- Developed tests for focused test environment tool for creating various error conditions using C and assembly language
Environment: XML, C, Assembly Language
Confidential, Greenville, SC
Python Developer
Responsibilities:
- Understand the fuse layout in the flash ROM
- Came up with the different usage models for flashing the ROM with different values and documented the same in the Product Release Documentation.
- Developed Fuse tool using Perl based on usage model from several teams.
- Supported the issues seen in the tool across all the teams till the product launch.
- Enhanced the tool and supported for 3 generations of the processors
- Graphical User Interface development using Tcl/Tk which provides various usage models/options to user by exposing several buttons
- Maintaining user data using Microsoft Excel
- Backend scripting/parsing using Perl and Python
- Enhanced the GUI using Java APIs and added features to tracking the fuse revision of several processors
Environment: Perl, Python, Tcl/Tk, Microsoft Excel, Java
Confidential, Greenville, SC
Python Developer
Responsibilities:
- Proposed Breakpoint and Array Dump tool for debug which reduces the time to debug
- Interacted with designers to discuss various flows of debug and coverage methods, design the tool framework
- Implemented and validated these tools which helped in getting the functional coverage and triaging the failures quickly
- Development of Python APIs to dump the array structures in the Processor at the failure point for debugging
- Development of the break point tool using Perl and Java User Interface
- Documented the simulation steps for debug using Shell scripting
Environment: Perl, Python, JavaScript, Shell scripting