Sr. Software Development Engineer Resume
Sunnyvale, CA
SUMMARY:
- 16+ years of total experience in IT, out of which 10+ years in design, development, maintenance and testing of middle layer and backend processes, with effective use of Core Java, J2ee, Spring, Confidential Internal Technologies like (Guice, Stubby web services, Protocol Buffer, Blaze, Spanner), Confidential Cloud pub sub, Hibernate, JDBC, Oracle (SQL), MySQL, DB2, Design Patterns, WebSphere, Multi - threading.
- The first 6 Years of my experience was in AS400 Development using RPGLE, CL, CLLE, C, C++.
- Experience in the project delivery of various sizes, communicating with client understanding the business requirement, presenting demonstration based on the design document and implementing the requirements on onsite and offshore model.
TECHNICAL SKILLS:
Functional Business Requirements: Analysis, Gap Analysis, creating design document, Sharing Unit Test Plan, Code Review, Uploading Status report and Deployment of Bug fixes
Programming Languages and Frameworks: Java, J2ee, Confidential Guice, Spring, Hibernate, C++, C, RPGLE, CL, OS400
Web Technologies: Restful Web services, JSP, Servlets, JDBC, JNDI, Java Mail, XHTML, HTML, JavaScript, AJAX, Json, JQuery Servlets, CSS, J2ee design patterns, XML, Log4j appenders, WMQ, MQ
Web and Application Servers: WebSphere, WebLogic, Tomcat, WAMP
Databases: Spanner, Oracle (SQL/PL/SQL), MySQL, Mongo dB-Certified, MS-SQL Server 2005, DB2
Version Control Tool: PVCS, SVN, ALDON, Git
Performance Testing Tool: QA) Selenium 2.0 (Automation UI Web Testing Tool)
Bug Tracker Tool: Clear Quest, Rally
Tools: & Utilities: Eclipse, RAD, SQL Workbench, PL/SQL Developer, TOAD, AutoSys (Job Scheduler), NetBeans, Text pad, Edit plus
PROFESSIONAL EXPERIENCE:
Confidential, Sunnyvale, CA
Sr. Software Development Engineer
Responsibilities:
- Design and Develop web services to cater to the various life cycle of supply chain for Confidential products.
- Deploy these web services to the Confidential servers using their proprietary deployment tools.
- Configure these services to authorised clients using access control lists.
- Design and Code multi-threaded applications to help in their order batch processing.
- Guide database team to code procedures to scale up performance.
- Test these services in development servers and convey fixes/changes to the database and the ui folks.
- Guide team mates in the designing and development phases.
- Implement new Confidential technologies and framework.
- Design and develop pub/sub applications to convey order and other various statuses using Confidential ’s cloud Pub sub framework.
- Create unit tests for the new applications and integrate into their deployment pipeline.
- Write protocol buffer messages to be consumed by the services.
- Attend daily and weekly meeting to discuss future and current projects.
Environment: Java, Restful and RPC web-services (Internal Stubby), protocol buffers, Guice Ioc, Oracle, Cloud Sql, Cloud Pub Sub, Spanner Db, NoSQL, Borg scripts for app deployment.
Confidential, Orange County, CASoftware Development Engineer
Responsibilities:
- Designed and Developed QA automation framework using java, selenium web driver and web services using TestNG as the testing framework.
- Work involved automating tests for their Developer Portal website which allows submitting and modifying apps for publishing to amazon appstore.
- After the apps are posted by developers, these go through various workflow activities in publishing and finally lands in the amazon cloud. The publishing automation which I wrote queries and verifies all the important attributes of an app which is published.
- Automated all the service call (AWS calls) tests, which query various apps and verify their metadata and price offers for correctness.
- Automation build added to the approval step on the Continuous Deployment pipeline at various stages. These have different target calls to accomplish the specific stage of deployment. Pass and Fail reports for each approval stage is emailed to individual group. Also, added service calls to report listeners to upload the report to cloud for generating historical charts and views.
- All tests were @Data provider driven for input and verification data. This makes the tests reuse the data multiple times and there is less code changes.
- Create android test apps to test client level service calls.
- Support addition and modification of UI and service call tests on the automation framework. Added database level verification to the automation suite.
- Develop Emailing solution using java mail.
- Develop various reports and test listeners.
Environment: Java, Android, ORCALE, PL SQL, Perforce, TestNG, web services, Agile.
Confidential, San Francisco, CASr. Programmer /Team Lead
Responsibilities:
- Implemented the web project using MVC architecture, J2ee enterprise application development with JSP and beans.
- Developed and implemented MDB’s to process messages off IBM MQ.
- Messages were interchanged to processes using xml with in-house mapping tools.
- Implemented multithreaded programs to process trade files from different vendors.
- Used Prototype JS grid with JSON libraries for backend data interchange based on GET or POST Servlet call and returning JSON as a data Type.
- Used Hibernate as an ORM framework to implement the persistence logic.
- Used Spring frameworks to inject dependency to groups of major inter- dependent objects, thus reducing the main calls footprint. Initialization of values also was carried out in the xml properties.
- Used extensive debugging to identify the core modules and APIs for development of the background transformation engine.
- Created our own class for handling exceptions for reusability within the project instead of throwing generic exceptions.
- Implemented Job Execution Status mailing module using Java Mail.
- Implemented Loggers using log4j defining different appenders and properties.
- Provide feedback to analysis/training staff about performance considerations / usability issues concerning specifications and implementation.
- Address User queries pertaining to new requirements/issues/CR and further conduct analysis and feasibility study on them.
- Used Hibernate to implement ORM model.
- Subversion was used for version control.
Environment: Java J2e, EJB 3.0, JSP, Servlets, JEE design patterns, CSS, IBM DB2, ORCALE, PL SQL, Subversion, IBM WebSphere 7, WMQ
ConfidentialOASys Direct
Responsibilities:
- Developed the main API in C++ which interfaces with the broker dealers.
- MDB listeners on WebSphere receive the messages from WMQ.
- Session Façade Design pattern receives the messages from MDB and invokes the respective business process.
- Utilized Spring MVC framework to implement design patterns like IOC (Dependency Injection), Spring DAO (Data access objects), Data Transfer objects, Business objects, ORM Mappings.
- The core container Bean factory pattern was used in conjunction with Spring IOC to differentiate the configuration file and dependency of objects from the actual code.
- DAO processes the messages and persist to the DB via PL-SQL procedures.
- UI in prototype JS grid manages the data for users to update.
- JSON was used to transport data to action classes from the UI.
- Outgoing messages for ACK and Rejects are handled in similar fashion.
Environment: Java, JEE 5, EJB 3.0, JSP, Servlets, MDB, Prototype JS, Session Façade Design pattern, CSS, ORCALE, PL SQL, Subversion, IBM WebSphere 7, WMQ
Confidential, CASr. Programmer Analyst
Responsibilities:
- Involved in migration of WebSphere 5.0 to 6.0.
- Designed and developed account opening interface which handshakes with an internet vendor using the java client HTTP program, with xml data layer.
- Developed java socket programs to get and post real time fixed income trades from Bloomberg.
- Developed Stateless EJB 3 beans to encapsulate the Business logic required for account references.
- Used Open JPA as an ORM framework to perform persistence logic.
- Developed state of the art File Transfer and processing server to get and put trade files to clients and vendors. Java Threads and PGP encryption were used.
- Used multithreaded model to interact with various external systems to speed up the trade file application process.
- Developed C++ programs and modules to receive allocations from Omgeo (Thomson Financial) using MQ protocol.
- Developed Java program embedding C++ with JNI for use in interface to Omgeo Alert for retrieving account information in xml. The received messages were then DOM parsed in java and persisted to the DB.
- Used Actuate to generate business reports.
- Used additional layer of encryption using Java Cryptography Extension Library for password safe keeping.
- Used effective debugging techniques to resolve high priority defects.
- Core java fundamentals were used to create reflection based static utility classes, comparators, generics, collections, extending abstract classes.
- Created our own class for handling exceptions for reusability within the project instead of throwing generic exceptions.
- Implemented Java mail for a centralized application mailer.
- Implemented Loggers using log4j defining different appenders and properties.
- Review, to the extent possible, changes in code and the environment that will affect system performance.
- Aid testers and support personnel as needed to determine system problems.
Environment: Java, EJB, JSP, Servlets, JEE design patterns, CSS, IBM DB2, ORACLE, PL SQL, PVCS, IBM WebSphere 6, XML DOM Parsing, Hibernate, Java Threads, WMQ, MQ, C++
ConfidentialAccount Information Interchange
Responsibilities:
- Developed the main API in Java with Threads for parallel processing.
- Threads will parse out XML messages received and post it to DAO.
- UI in prototype JS grid manages the data for users to update.
- JSON was used to transport data to action classes from the UI.
- User request on these messages are handled through the API via MQ Client.
- Re-Engineered the backend modules as Java Threads to poll the file watcher and process files in parallel. This lead to increase application performance.
- Involved in doing the code review and maintaining the PVCS code repository following proper authentication procedure.
- Developed C++ programs and modules to get real-time Account information feeds from Thomson Financial.
- Used JSP, JSTL, Java Beans, CSS, JavaScript, HTML and XML to build the front-end interface.
- Used core java code to parse XML using DOM parser and used WSAD to deploy the application for front end UI JSP.
- Involved in Backend Database testing in Oracle using SQL.
Environment: Java, EJB, JSP, Servlets, MDB, Prototype JS, CSS, ORCALE, PL SQL, Subversion, IBM WebSphere, MQ client.
Confidential, San Francisco, CASr. Programmer
Responsibilities:
- As a developer, the role was to support and enhance their trading systems using ILE standards using RPGLE and CLEE on AS400.
- Developed the trading front end for Equity and Options Order using Sub files, RPGLE and PF Triggers.
- Re-Engineered the backend modules as RPGLE from RPG3 to poll the file watcher and process files in parallel. This lead to increase application performance.
- Involved in doing the code review and maintaining the ALDON CMS code repository following proper authentication procedure.
- Developed AS400 C programs and modules to get real-time Account information feeds from Thomson Financial.
- Used Sub files and Windows on AS400 to build the front-end interface.
- Involved in Backend Database testing in OS400 SQL.
Environment: AS400, RPGIV, RPGLE, CL, CLLE, OS400, Sub files, PF, LF, SQL400
Confidential, MIProgrammer
Responsibilities:
- Re-write of their legacy trading applications from RPG III to RPGLE and RPGIV.
- Developed processes in RLU and RPGLE to create reports data for Actuate.
- Created RPGLE programs to process and post trades received from vendors in MQ.
- Used Aldon CMS for code release.
- Used Sub files and Display file to build the front-end interface.
- Used XML4RPG to parse XML using DOM parser and used WSAD to deploy the application for front end UI.
Environment: AS400, RPGLE, RPGIV, CL, CLLE, OS400, SQL400, SDU, RLU, Sub files.
ConfidentialProgrammer
Responsibilities:
- GUI conversion of Customer Information System using JWALK on AS400.
- Customize various modules in PRMS(ERP).
- Enhance Vegetable application for McCain Canada.
- Maintain and enhance Insurance application for client in Dubai.
- Maintain and enhance Retail management software for a client in Dubai
Environment: AS400, RPGLE, CL, C, FoxPro, FoxBASE, Visual Basic