Sr. Developer Resume
MichigaN
SUMMARY
- Software Solution Developer and Technical Leader with 10 years of strong technical and management experience in software technologies
- Hands - on expertise on various technologies like C++, Core Java and Swings, QT, CORBA, Multi-threading, Architectural and Object oriented designs patterns, operating systems like Windows, Linux
- Presently working with Confidential on Image Explorer project for concept description on Collision Detection using Axis Aligned Bounding Binary Trees for Broad and Narrow phases and performance determination for various mathematical shapes like boxes, spheres, triangle meshes etc. in medical images
- At Confidential, successfully delivered Cranial 2.0 (Navigated Computer Assisted Brain Surgery) product as Project lead, leading the 8 members team from development and testing
- At Confidential HealthCare, as Platform Lead Designer, led 12 team members team for the architectural and design decisions and successfully delivered 3 Digital X-Ray product lines simultaneously from single source code base for Workflow platform
- Involved in technical proposal writing, requirement specifications writing, architecture, design, coding, testing, integration, documentation, code review, global team management and customer technical interaction.
- Good knowledge and hands on experience of different SDLC methodologies viz. Agile, Waterfall, iterative, spiral. Currently using Scrum tool called Rally for Sprints planning, user stories, and tasks management.
TECHNICAL SKILLS
Programming Languages: C++ (10 years), QT (5 years), CSS (3 years), Core Java & Swings (5 years), CORBA (5 years)
Operating Systems: Microsoft Windows (5 years), Linux (5 years), UNIX, MS-DOS
Databases: Postgres (5 years), MySql (1 year)
SCM: Clear case (5 years), Perforce (5 Years), Git hub
Optimization tools: Glowcode, Coverity, Software Metrics, Coverage Validator, OptimizeIT, YourKit
IDE: Visual Studio (5 years), Eclipse (3 years), JBuilder (1 year)
Design Patterns Used: Singleton, Observer, Mediator, Chain of Responsibility, Facade, Factory, Proxy, Abstract Factory, Adapter, Command etc.
UML: Rational Rose (5 years), Enterprise Architect (5 years)
SDKs: Boost library, STL, Bullet physics library, MITK, VTK, ACE framework
Other Tools/Frameworks: CPPUnit, JUnit, DDTS, Jira, exmap, Tcpmon, Ant, python, perl & shell scripting, Doxygen, OpenGL, CMake
PROFESSIONAL EXPERIENCE
Confidential, Michigan
Sr. Developer
Responsibilities:
- Using C++, implemented a multi-threaded Collision detection plug-in to prove the feasibility of a Robotic arm to detect if some obstacle is coming during removing of unwanted material from Knee. Used Bullet library for collision determination and QT, OpenGL and MITK libraries for image rendering
- Implemented C++ based Data Import Export plug-in to import FaroArm text files and to create Point sets for QT rendering. Similarly this plug-in can be used to export voxels of a CT series subtracting any masked image
- Implemented Registration plug-in that takes 2 Point sets as an input and performs registration and outputs the 4x4 transformation matrix, that can be used to perform transformation as well as inverse transformation
- Wrote the QT Cascading style sheets (CSS) for the application by understanding the QT widgets, properties and pseudo-states. The developed user interface is screen resolution independent and style sheet can be updated and applied on the fly when the application is running. This makes the user interface development fastest possible.
- From Architectural front, laid out the design of the application defining various layers like application layers, plug-in layer, frameworks, and shared libraries
- As an Architect, provided various application design improvement ideas to German Cancer Research Institute for their freeware library called MITK (Medical Imaging Interaction Tool Kit) for the theme based user interface, CMake scripts improvements for Doxygen usage, context based facility for Data Storage component etc.
- In the movement from Visual Studio related files to generic make system, developed CMake scripts for Image Explorer and other projects at Confidential
- Refactored the entire source code in accordance with Confidential Designing and Coding guidelines and moved it to Perforce from GIT repository
- Developed Help system that supports General Help, Context based help and Search based help
Environment: C++, QT, CSS, CMake, MITK, ITK, OpenGL, Glowcode, Enterprise Architect, Windows 7
Confidential, Michigan
Project Lead & Developer
Responsibilities:
- As a Project Lead for this product for 2 years, worked from Planning till successful launch in European and American markets of this product. Successfully delivered 30+ complex features with 8 software developers and 2 software testers.
- Worked closely with Germany team to gather the requirements, performing estimation, design, implementation and testing. Ensured the design, algorithms are perfectly chosen to achieve the best performance from memory and time perspectives
- Single-handedly delivered complex C++, QT features like Auto-freeze, Documentation of Landmark check, Automatic tools recovery, Mask registration workflow etc. covering their GUI in QT, using Math library for transformation of points in different coordinate systems, communication with hardware like Flash point 6000 surgical camera and other tools and trackers that use infra-red communication
- Mentored team members technically for their day to day deliverables and monitored their progress
- Arranged knowledge sharing sessions to develop the team from technical and product usage sides
- Provided trainings to the Sales team from product usage
- Managed the Project documents from Confidential Quality perspective e.g. Feasibility Report, SOW, Business Risk Analysis, Staffing Plan, IT services plan etc. Faced 3 audits and there was not even a single Non-compliance
- Ensured the stability of the application during each milestone through regular component and integration testing and bug fixing by the team
- Ensured all the CPPUnit test projects have code coverage more than 85%
- Refactored the software as per the feedback from Software metrics tool
- Ensured Integration builds on Bamboo server were always Green
- 100% peer code review of all the Perforce change lists covering parameters like software coding guidelines, design, performance etc.
- Quarterly and yearly appraisal of the team members
- Preparation of weekly and monthly status meeting reports and update the project status to Germany team during regular status review meetings
Environment: C++, QT, CSS, CPPUnit, OpenGL, Jira, Bamboo, Enterprise Architect, Windows XP
Confidential, Michigan
Technical Project Lead
Responsibilities:
- Designed the application from scratch in a way that for all the steps, data, algorithm and managers are created to have implementation that can be easily maintained
- Provided configuration management so that 3 different configurations can be supported to different users. Also in every configuration, any number of tabs and any number of steps can be added or removed. All this GUI configuration can be done without changing implementation
- QT Graphical user interface and hardware communications execution are segregated to different threads so that GUI is always responsive
- From legacy classes, quickly understood and implemented algorithms in C++ and introduced different states in algorithms to inform user the state of algorithm. Few names for which this job was done were firmware upload, serial number programming, fat zero adjustment, sensor module step etc.
- Wrote CPPUnit test projects and cases for the above mentioned algorithms
- Weekly and monthly reporting of all the 4 members of this project
Environment: C++, QT, CPPUnit, Jira, Bamboo, Windows XP
Confidential
Platform Lead Designer
Responsibilities:
- To ensure all the features delivered are platform based, configurable with best performance in terms of usage, data structures, design to provide maintainability and extendibility
- To define branching strategy to ensure that all the programs are driven from common source leveraging the platform including installed bases.
- Have written Adapters in C++ for connecting 2 unrelated systems with different Corba, that is Visibroker and Tao to support installed bases with latest software
- Prototyping for feasibility and risk mitigation e.g. Evaluation of Java (SE/ME/Embedded SE etc.) by carrying out experiments on Fedora, Ubuntu distributions of Linux, dealing with Grub options. Have used tools like exmap and YourKit for comparison of memory data.
- Removing of CORBA dependency from 7 processes. Introduced XMLRPC technology for Inter process communication.
- Evaluated and used a Dependency Injection framework that is Spring.
- Have created ANT targets to compile and build separate RPMs for this product.
- Prioritizing the items that were most critical to business in Global ECMs (Execution Control Meetings).
- Technical guidance and mentoring the team.
- Reviewing the requirements, designs and code and making it sure that features are delivered in time with best quality by maintaining the sanity of platform. Examples of some of the features that were delivered under my supervision are Recon preferences, Auto print, Options support, MCL (Multiple Custom Looks).
- Providing effort estimation of various features delivered.
- Single handedly delivered technical challenging features Retro recon, Protocol Editor
- Image Pasting (Magma), COI (Center Of Interest), Coverage Length, Image count
- Customer Wow feature called Auto Positioning (Thunder)
- Idle opmode, this required dealing with state machines of various processes.
- Wrote Perl script to deliver single rpm for different products.
- Removed 2MB memory leakage by debugging code from tons of places using a memory profiler tool called OptimizeIt.
- Have fixed various synchronization issues, Out of memory cases and JVM Crashes.
Environment: Java (Core and Swings), C++, Corba, JUnit, CPPUnit, Clearcase, DDTS, Rational Rose, OptimizeIt, YourKit, Linux