Software Manager Resume
Los Angeles, CA
SUMMARY:
- Over 25 years of experience in designing and developing PC based software for Automation control and Motion control Industry and over 10 years’ experience of hands on management and architecting automation software around the hardware.
- My background in electronics with software design/development experience makes me a unique person with knowledge of both hardware and software.
- I like new technologies, explore new technology and do not hesitate to acquire, learn and implement new technology by analyzing risk and benefits. I am well organized and I can demonstrate it. I believe in continuous learning.
- I have extensive background in full life cycle of software and hardware development process and successfully handled multiple projects without affecting the delivery schedule.
TECHNICAL SKILLS:
Hardware:
CPU: INTEL 8085, Zilog Z80, INTEL 8086, ARM processors
Microcontroller: MCS 51 series 8031, 8051, MCS 48 Series - 8748
Design: Digital Circuit
Tools: In Circuit Emulators, ORCAD,JTAG
Software:
Development Platform: Visual Studio 6, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual studio 2012, Visual studio 2015, Code Red, Eclipse, Codeblocks
Framework: .NET 2.0, .NET 3.5, NET4.0, .NET4.5
Technology: Embedded Software development, COM, ATL COM, ActiveX control, .NET User Controls, GUI Design (Windows Form Application), Multithreading, Design pattern MVC and MVVM.
Languages: Assembly languages, C, C++, C#, VB NET, Shell ScriptPLC programming for automation project.
Tools: Visual Source safe, Install shield, MS Project, Bugzilla, SVN, TFS
Operating System: DOS, Linux, Windows
Database: MySQL
PROFESSIONAL EXPERIENCE:
Software Manager
Confidential, Los Angeles CA
Responsibilities:
- Managing team of six software engineers to create scalable software applications that uses object oriented analysis and design principles and supports frequent UI and functional changes.
- Direct interaction with hardware engineering, key customers, marketing, distributors, and support teams to gather requirements.
- Implemented waterfall.
- Implemented Agile development methodology with two weeks cycle sprints and stand-up meetings.
- Successfully implemented test driven development for quick turnaround of the software releases.
- Implemented ISO procedures for software development that emphasizes on design review and design changes.
- Created source control and release strategy for software product.
- Implemented bug reporting/tracking mechanism combines with software enhancement request and accessible by everyone.
- Introduced value based priority mechanism to decide between features and bugs.
- Manage release and delivery of the software product.
- Implementing Omron software design processes.
- Project management including project scope, schedule, budget, risks, countermeasures.
- Leading and managing the project that involves software engineers from overseas Omron UK office.
- Gathered feedback from Omron and Delta Tau overseas offices, local support teams and customer’s to identify areas of improvement from existing IDE.
- Work with team leaders from UK and Japan to plan improvement and estimate project time.
- Presented project budget to senior management for approval.(PPE:Budget approved:$950K)
- Prepared specifications for IDE aligned with approval.
- Preparation for design review and software development plan and software quality.
- Hands-on Project management
Confidential
Responsibilities:
- Study and evaluate KW IEC61131 PLC programming software to integrate with our IDE.
- Study and evaluating CODESYS IEC61131 PLC programming software to integrate with our IDE.
- Present both platforms to the VP’s of engineering and marketing and select.
- Scope out the implementation of integrating selected platform to our motion controller.
- Create detailed design and development plan
- Allocate the task in the software team
- Contribute in developing some of the function block.
Confidential
Motion controller
Responsibilities:
- Created vision and initiated the project
- Using agile software development methodologies.
- Managing three software engineer and one consultant.
- Development divided in small modules and allocated the ownership of these modules in the team.
- Wrote detailed specification for the consultant to avoid ambiguity and managing project time and total project cost.
- Used design patterns for common problems and reusability.
- Architect around .NET C # 4.0 multithreaded components for data refresh using Data refresh is vital requirement in machine operation
- Wrote custom control in C# .NET for efficiently displaying executing Confidential program lines.
- Created user control in C# .NET for Confidential control for displaying position, offsets, etc. using MVC design pattern
- Developed the Confidential application software using these user and custom controls.
- Wrote Confidential parser using regular expressions in C#.
Confidential
Responsibilities:
- Build the team for this project by hiring two software engineers.
- Managing a team of 6 engineers and Overseeing the project all the way to the release stage..
- Converted marketing requirement and customer feedback into detailed software specification and divided into small module and allocated the task within the team.
- Contributing leadership experience toward scheduling, feature prioritization.
- Study the visual studio interfaces available through VSIP program and build prototype using these interfaces. The prototypes development was in C#.
- Customizing and extending Visual Studio IDE by creating custom packages, Add Inns, Macros, templates and implementing various interfaces tailoring it to fit our requirements.
- Developed C# user control for status display, errors control, unsolicited response etc and integrated as different Tool-windows for IDE. The user controls are build using MVC pattern.
- Created Custom Project type. This will allow user to create visual studio (VB or C# etc) style project for crating automation software.
- Our motion controller need to program using PLC script language, Motion program Script language. Created custom language service, which is understood by visual studio IDE. The language service needs to write lexer and parser for syntax checking.
- Implemented Visual Studio style language Intellisense using MySql Database.
Confidential
Responsibilities:
- Wrote Telnet Protocol (Asynchronous Telnet Client) in C# .NET framework 2.0 as communication engine to our newly Power PC based motion control. This communication library uses Socket class provided by Framework
- Wrote SSH (Secured Shell) interface program using open source library in C# .NET as a secured communication engine to our newly Power PC based motion control.
- Implemented multithread approach for handling data exchange efficiently.
Confidential
Responsibilities:
- Coordinating the project with three engineers.
- Wrote specification
- Designed the database to store the amplifier, motor, encoder data. It also stores the supporting hardware board details from our company.
- Design and developed user interface in C# .NET4.0.
- Testing of different types of encoder, motor and amplifies combinations.
- Created hardware diagnostics interface pages for easy testing of the board by user.
Confidential
Responsibilities:
- Coordinating tool development with firmware team and hardware team.
- Leading the development with one software engineer.
- Study and learn Beckhoff TwinCAT software utility for Confidential device setup and created requirements for our tool.
- Study of Confidential master and then define API functions to be used in Confidential .
- Study the Confidential device xml file and wrote xml parser in C# for reading device information like PDO mappings.
- Designed and developed the User Interface in C# for setting the PDO mappings.
- Created industrial control using GDI+ tools from C# .NET framework 3.5.
Sr. Software Engineer
Confidential, Los Angeles CA
Responsibilities:
- Implemented in C++ under Visual Studio 6 and then ported over VS2003 environment.
- Implemented different threads for data gathering, data parsing, data processing and data output to our motion controller using shared dual port RAM. These threads were running concurrently. (Multithreading). Also implemented Error events so that the User interface designed using this middleware can consume this event asynchronously and display the errors.
- Contributed leadership experience towards design robustness.
- Created over 100 test scenario to make better and robust communication driver.
- Tested multiple seamless connections (Clients) to our hardware using this server.
- Lead the design
- Requirement gathering by interacting with users.
- The programming language was C++ and Borland Cbuilder was programming environment.
- Software verification by creating test cases.
- Software testing.
- Created Installation using Installshield.
- Lead the design efforts for robust User interface.
- Customer Interaction for collecting requirements for GUI .
- Created design specification for User interface.
- Implemented GUI in C++ under Borland IDE.
- Created Test Cases and tested the software on Demo machine.
- Created Installation using Installshield.