Software Developer Resume Profile
Summary
- Solution Architect with overall 17 years of experience in various software life cycles.
- Designed and managed projects on both Waterfall and Agile methodologies.
- Had developed enterprise projects covering various aspects like gathering requirements, analyzing them for its feasibility, identifying and designing hardware and software layouts, preparing project estimations and project plans, identifying risks and its mitigation.
- Have experience in designing cloud based product application.
- Have worked on domains like Stock Market, Banking, Retail, Telecom, Production, Payroll and Finance.
- Have experience in rolling out processes to streamline project activities and building up a team.
Technical Proficiencies
- Architectural skills: Unified Modeling Language, Object Oriented Design Methodologies, Design Patterns, MS-Project.
- Languages : Java, C/C , Visual Basic, Visual Foxpro, PL/SQL
- Technologies Frameworks : JSP, JSF, Servlets, Struts Framework, Hibernate, Spring 3.2, Swing, JDBC, ODBC, JNDI.
- Web Technologies : Java Script, VB Script, JSON, AJAX, HTML, XML, SAX, DOM
- Web/App Servers : Tomcat 6, Apache 5.2, BEA WebLogic 7.0, IBM WebSphere 7.0
- Databases : Oracle 11g/9i, MS SQL Server 2008, MySQL, SQLite MS Access
- Operating Systems : MS-Windows, UNIX, LINUX, iOS MS-DOS
- Enterprise Tools: Rational Rose, RequisitePro, WebLogic Workshop.
- Servers: Windows NT/2000 and Lotus Domino Server.
Professional Experience
Confidential
Role: Technical Architect
- Description: This is an onshore-offshore model engagement. Headed multiple projects from onshore with team based in India. Leading projects for clients likes Walmart and Visa.
- Technologies Used: Spring Framework 3.2, Oracle 11g, IBM Websphere 7.0, Ajax, JavaScript, SOAP Web Services both JAX-WS JAX-RPC on Unix environment. FIM Federated Identity Management is used for authentication and SAML Security Assertion Markup Language connectivity is used to establish connectivity between Banks over HTTPS.
- Responsibilities/Achievements: Collected/translated business requirements into design and provide it to the team. Both Enhancement and Troubleshootings of application were involved. Engaged in development activities, while managing the project overall. One of the major project is a SOAP based web application for Walmart, which included integration of third party Banks and RSA as authenticator. Third party webservice were consumed. It is one of the highly integrated project Walmart maintains.
Confidential
Role: Solution Architect
- Description: This is a product. The assigned application was an enterprise application, which is widely used by larger corporates and government agencies. This application is used to track and analyze communications happening in a corporate or larger entity, via Email, Bloomberg, Fax or Podcast. The application consists of a farm of 400 servers and could handle about 150 million communications per day. This legacy application was being re-architected for better scalability and performance.
- Technologies Used: Spring Framework 3.2, Oracle 11g, IBM Websphere 7.0, Ajax, JavaScript, SOAP Web Services both JAX-WS JAX-RPC on Unix environment. FIM Federated Identity Management is used for authentication and SAML Security Assertion Markup Language connectivity is used to establish connectivity between Banks over HTTPS.
- Responsibilities/Achievements: As a part of R D department two projects are handled. One is existing product enhancement and other is the new architecture and development of the product. As a part of technical architect team, need to vet different technologies and its architecture for the new product which is getting developed. After understanding the Use Cases and its components provided by Solution Architect, right technology for each of the components had to be identified. In this process, different technologies had to be vetted by researching and developing Proof-Of-Concepts to find its attributes like complexity, performance, scalability, licensing, support, learning curve, etc. Once POC is complete, to come to a final conclusion, it needs to be presented before team for a brain storming session.
Confidential
Role: Technical Lead
- Description: They are the service providers for networking devices like routers, switches, modems, firewall etc. These was tracking system which maps the devices to the customers and help track the new pieces as well as re-furbished pieces. Application involved modules like Order and Inventory management. This was an ongoing project, which was taken over by me.
- Responsibilities: My role was to review code and test cases, drive the team in technical issues and manage the project to its deployment and closure.
Confidential
Role: Technical Consultant
- Description: This store is a rapid expanding food chain restaurant with about 35 branches and planning to expand to 100 by 2014. This application is an ERP developed for them to control the headquarters and branches. The application controls sales, inventory, order, payroll and finance of the whole restaurant chain. Since POS in branches used atom processors and the network coverage were poor at some locations with intermittent breaks optimization of the application along with minimal network usage were critical. Given the poor network coverage, real time data synchronization with centralized server at headquarters was challenging. Since open sources were used, client could cut down the cost of development effectively.
- Responsibilities/Achievements: Designed and involved in the development of Data Synchronization module which is a core part of product. Swing was used as UI and core java was used as components. Real time data synchronization was managed even during intermittent network connectivity. Multiple threads were used to reduce data transmission latency. Since server is on PHP and client is on Java, client side app used RESTful protocol JSON to exchange data. I developed Java components to distribute data to multiple MYSql databases at server side. These data were sent back to client as AES encrypted files. Application is secured by user login passwords, which were MD5 encrypted and stored in local SQLite database.
- To support different makes of thermal printers, a customized component was developed to replace the device drivers. UI developed in Swing allowed to store Unicode instructions in SQLite local database. To configure a device, its Unicode instruction needs to be keyed into application. This gave the ability to connect almost any thermal printers to the device.
Environment: Java for data publishing components, Unix is the OS at server side, PHP for server side development, MySQL as database. Client terminal used Ubuntu Linux based as OS, Java for client side development, SQLite as database. CVS was used as code versioning tool.
Confidential
Role: Team Lead
- Description: This University has an online class room for desktops. They wanted to roll out this application to mobile device, so that students can attend the class while travelling. As a pilot project, it was rolled out on iPhones. Because of screen size differences and broader scope than desktop application, UI and flow of application was redesigned. Since the data required was not directly available from a web service, they had to be called sequentially and processed to get the required information.
- Responsibilities/Achievements: Since the project was outsourced to offshore, real time interaction between the client and development team was challenging and critical. For architecting and UI re-designing, client had rolled out a separate onshore team for the project. My role was to work with them to discuss the flow and identify any gaps in the UI and conveying the ideas back to the offshore development team. Since the development was on Agile model, Scrum meetings were to be attended and keep management updated. Had to monitor development progress and identify risks and mitigate it. A close interaction between onshore and offshore was required. Once the flow and design were finalized, went back to offshore, to work along with development team. Application bandwidth usage was tested and controlled using WireShark, since network may not be strong or stable.
Environment: Windows was development environment with iOS simulator, MagicDraw for developing UML diagrams, WireShark for testing network bandwidth usage, iOS and ObjectiveC on iPhone devices, SQLite as its database and iPhone devices. CVS was used as code versioning tool.
Confidential
Role: Solution Architect
- Description: This product Torq361 was architected as cloud hosted application to provide scalability, performance and reliability. This product is used by companies to support their marketing team to promote sales. On a minimal cost, companies can register themselves online with this application and start using it. Once a company registers themselves, they will receive an administrator login credential, with which they can create their own internal users and assign different rights within the application. They can start uploading videos, audios, images, PDFs of their products. Once the product details are uploaded, marketing personals can download and view it in their iPad. This helps to centralize product information update on a real time basis which makes marketing more powerful and effective with latest info. Additionally, orders can also be directly placed using iPad. Company data are maintained in separate folders to provide tight security among the companies.
- Responsibilities/Achievements: Analyzed the requirement, architected high level flow of application, identified software and hardware to be used and prepared UML diagram, finalized deployment configuration considering the scalability and manageability of the product, estimated the time required and created a project plan in MS-Project. Identified risks and its mitigation. Involved in component developments, led the team in development and testing, and finally deployed the beta version on EC2 cloud environment.
- Environment: Groovy/Grails and Ajax were used for server side development, Unix is the OS for the server, ObjectiveC is used for iPad clients, EC2 Cloud as the server environment, Tomcat as the WebServer and MySQL as the database. CVS was used as code versioning tool and Jira as defect tracking tool.
- Description: Since this company was a startup company with an aggressive growth rate, it was required to streamline project processes. Developers rose from 5 to 100 in a span of two years. Since there were no specific processes, monitoring and analyzing project developments became a challenge for the management. Establishing processes became inevitable and the task was assigned to me.
Responsibilities/Achievements: Identified different processes to be followed by the projects at each stage. Proactively created templates for Business Requirement Document, Functional Document and Design Document. Excel macro templates for Test Case Document, Testing/Code Review Documents were developed. I implemented open sources like CVS as code repository and Tortoise/Rabbit as clients. MS-Project was used to prepare project plan and Assembla for defect logging. External technical trainings were scheduled for the team. Trainings on processes were given to the team in batches and assisted them to roll out the processes.
Confidential
Role: Team Lead
- Description: There were multiple applications in multiple technologies. The team size was 1000 developers spanning on two geographical locations. My team owned a set of applications developed in Java. These applications were middleware utilities and web services used by different applications. Among them was a data access layer web service, which retrieved data from Oracle database. According to the parameters passed, specific details were retrieved and passed back to the caller application.
- Responsibilities/Achievements: When new application requirement is received, need to analyze it and design the flow for new functionality. Provide estimation and ETC for the project. Prepare test cases and involve in code development with the team. Also had to do code and testing review. Raise the Change Control and assist in implementing the code. Provide weekly updates to onshore and offshore management.
Environment: Unix and Windows were the OS, WebLogic was the Application Server, Oracle was the database, Spring and Hibernate was the framework, ClearQuest was the bug tracking tool and ClearCase was the code repository.
- Description: Since it was a new team deployed in Accenture for Visa, it was hard for the management to streamline and monitor the projects. So it was decided to roll-out IBM RequisitePro, ClearQuest and ClearCase together for gathering requirements and managing the projects till Testing.
Responsibilities/Achievements: Since the team was new to this environment, proactively learned the tools to be used in the project. Documented its functionality and usage. Conducted telephonic sessions for the whole team on both the locations. Thus was able to assist management in rolling out the tools smoothly.
Confidential
Role: Team Lead
- Description: Due to the size of the project, applications were divided in two geographical locations with more than 400 developers. There were multiple middleware applications which were owned by my team. One of the applications was an interface provided by Stored Procedure SP in Oracle 9i. It used Fa ade design pattern. This SP was used by many applications. According to the parameter passed, request will call other internal SPs to process and retrieve collection of data from multiple tables. These collections of SPs were consisting of more than 2000 lines of code.
- Responsibilities/Achievements: When the requirement comes, needs to analyze the requests and design the flow of the application. Calculate and provide ETC for the task according to the resource availability. Later getting involved with the team in development, reviewing and testing the code. Raise Change control request and get it approved. Assist implementation along with the team.
- Description: Another application was for transferring files created by other applications, securely to different server locations. This application maintained meta-data that can be configured. Application was executed as a daemon thread in the server. In case of its crash, a configured Tivoli job will invoke it at a regular interval. In meta data user could define the start time of file polling for each type of files, its source location, destination location, retry count in the event of a failure, end time of the polling, protocol to be used for transferring the file and email group on which failure notification needs to be notified.
- Responsibilities/Achievements: In the existing application, file transfer failed at-least once in a day, thus bringing monthly trouble ticket count to 25. Since it could transfer only single file at a time, complete file transfer took hours. The flow of application was redesigned and developed the code. Thread concept were introduced to facilitate simultaneous file transfer. This resulted in parallel file transfers thus bringing down file transfer time considerably. Analyzed the nature of file transfer error occurred in existing application. Proposed an alternate flow for the exception, which enabled the application to be resilient. This brought down the trouble ticket count to zero.
Environment: Application functioned on Unix environment, Core Java was used to develop application, Tivoli was scheduled for invoking application, Unix Shell Script was developed to start the application, Oracle was used as meta-database, SFTP connections were established between source and destination server locations. ClearCase was used as code repository tool and ClearQuest was used as defect tracking tool. PVCS was used as code versioning tool and Jira as defect tracking tool.
Confidential
Role: Team Lead
- Description: There were few middleware applications owned by my team. Its enhancement and maintenance was the primary responsibility. Data access synchronous web service, iFast was the most important among them. Its functionality was to act as middleware between customer service applications and backend mainframe. The purpose of application was to implement a secured layer between application and database. 68 applications were using iFast interface to access mainframe data. iFast catered 2000 transactions per minute. It was deployed on two geological locations East zone West zone on BEA WebLogic cluster consisting of three servers on each location with a load balancer.
- Responsibilities/Achievements: Requirements coming from applications need to be analyzed for the feasibility. If feasible, need to estimate the task involved, identify and mitigate any risks, design the flow of application and get the development done. The code and test cases needs to be reviewed before the application went for QA. Once QA has certified it, need to raise Change Control for implementation. Once it is approved, need to assist production control team to implement it. Change control happened once in a month and system needs to be up by 24/7 on all 365 days. So implementing the changes without interruption was critical. I was involved in stage-by-stage implementation. Implementation involved re-routing of traffic to West zone before implementing it on East zone, and then re-routing traffic to East zone before implementing it on West zone. Since the traffic was heavy, least traffic time was selected for implementation. Application could record an uptime of 99.9 .
Environment: Unix was the application environment, Java, BEA WebLogic Servers, Spring, Hibernate, Load Balancers, Routers, Oracle database, MQSeries Server. ClearCase was used as code repository tool and ClearQuest was used as defect tracking tool.
Confidential
Role: Software Engineer
- Description: This application was one among the inventory management tool. It tracked various attributes and status of the microchips that were being produced. When the chip moves from one phase to another, different attributes are generated along with its statuses. These data flow into DB2 database. The chip failing at a stage will send its data to an MQSeries server. These data are picked and let user to correct the attributes manually and process it back to the database.
- Responsibilities/Achievements: It was a production support team. The bugs which could not be processed at tier 1 and tier 2 level were to be fixed. System needs to be analyzed for the bug and then fix it. If an enhancement requirement arises, test case needs to be prepared and get involve in code development and testing. Peer review of code and test cases were also done. Raise change control. On receiving approval, assist production control team to implement it.
Environment: Unix was OS on server, JSP was used for UI development, Servlet on the backend, Java was used for developing components, IBM Websphere and MQSeries were the servers. ClearQuest was used as defect tracking tool.
Confidential
Role: Systems Analyst
- Description: Dicitex D cor is one of the premier textile exporters in the country. They have two factories and two different geological locations with a head office connected using intranet. Lotus Domino Server was heavily used to exchange information between locations. Existing application in visual basic was to be converted to Java so that application could support multi-tier.
- Responsibilities/Achievements: Gather requirements from the users. Design the UI and get the approval from users. Design the flow of application and develop tailor made applications. Also required to understand existing functionality of VB application and rewrite them in Java. Additionally, maintained Oracle, Windows and Lotus Domino server. Deployed new Lotus Domino Server at different locations and established internal email communication.
Environment: Windows-NT/2000 was the OS, JSP, Servlet, Visual Basic was the development platform, Tomcat was the server, Oracle 8i was the database. Visual Source Safe was used as code repository.
Confidential
Role: Senior Software Developer
- Description: This client is one of the largest Jewelry manufacturer and exporter in India. The application was an ERP solution designed and developed for the client. This application had modules like Production, Inventory, Sales and Accounts. Production module tracked various attributes and status of items in production. It also tracked various attributes like production cost, time, number of time an item got reprocessed etc. in each stage of production. An item could be tracked at any point of view with its existing completion status and cost. Inventory module managed the stock of raw and finished goods including its bar-coding. It also managed stock of showrooms as well. Sales module handled the sales of finished goods in each showroom and other sales statistics like season-wise sales, area-wise sales, festival sales, targeted and achieved sales etc. Accounts handled all transactions from purchase of raw goods to sales of finished goods. It also showed the trial balance till balance sheet.
- Responsibilities/Achievements: Assisted in gathering client requirements. Assisted the Architect in designing UI, Flow of application and Database normalization. Involved and led the development and testing with the development team. Did peer review for the code and test cases. Implemented and maintained the final application at client site.
Environment: OS used in client was Windows 95 and on server it was Windows NT. Development platform was Visual Basic, Database was MS-SQL Server and code repository was Visual Source Safe.
Confidential
Role: Junior Software Developer
- Description: This client is a leading Stock Exchange broker in India, now known as Geojit BNP Paribas. This application was an ERP solution for managing the activities of this stock broker. It handled modules like Trade, Inventory, Payroll and Accounts.
- Responsibilities/Achievements: The responsibility included the development of various data entry screens, reports and trouble shootings. Also had the responsibility of implementing the application at client site and training clients to use the application. Discovered and implemented scaffolding feature, which reduced development time considerably.
Environment: Operating System used was MS-DOS and platform for development was Foxpro for DOS. Database and Report generator used was also Foxpro.