Software Engineer Resume
OBJECTIVE:
I would like to be in a software engineering position that provides an opportunity to design and develop software systems using a high level language such as Java. I want to find an opportunity to use my previously attained technical skills to produce well built, well tested, robust and user friendly high end products. I want to be challenged and be given the chance to learn new skills to add to my toolkit. I also want to be in a position to mentor, perhaps lead other developers and be more involved in design decisions at this stage of my career.
QUALIFICATIONS:
Have a well balanced experience working both on thick clients, thin clients and server side. Development using J2EE/Java, Spring and Hibernate. Desktop development and GUI work with SWT/Swing as well as old school Windows API programming through C++/MFC. I wear multiple hats essentially. I can do front end (thick/thin), mid tier, back end, database and break down a task from story to design to code to test to deploy. You name it I can do it. And if I don\'t know it I\'m going to be online late nights learning as much as I can. You don\'t earn respect of other programmers by being in the dark. You have to proof your worth and I love this side of programming.
I also have multiple years of experience developing and coding for eclipse platform (RCP, plugins and straight SWT). Strong knowledge of user interfaces and UI design.
Worked with multiple open source tools and familiar with many different application servers.
Experienced in many different techniques such as write test then code (TDD), DAO development, Service/Manager, Singleton, Factory and other design patterns.
Have experienced working in many different industries ranging from credit card processing hardware, healthcare, mortgage industry, configuration management tools, collections/debt recovery and email mass marketing.
Have experience working with teams of varying sizes.
Have worked with older waterfall life cycle to Agile methodology.
Strong academic background in software analysis and programming backed by 10+ years of professional work.
Proficient at analyzing and solving complex problems.
Ability to multi - task and work effectively, strong team player.
Adaptive, can quickly learn and integrate new computer systems and languages.
No ego I simply love to code. Geek at heart and loving what I do day in day out. I picked the right field and knew it even when I was in junior high school and booted my first Apple IIe.
TECHNICAL SKILLS:
Languages/APIs/Frameworks: Java (10 years), J2EE (6 years) Spring (7 years), Hibernate (6 years), GWT (< 1 year), Oracle PL/SQL (3 years), Eclipse Development (SWT, RCP, Eclipse Plugins, Jface) 5 years, Android (3 years), Webservices, REST, Spring Security, Spring Webflow, Spring MVC, Apache CXF, JPA, CSS, JQuery, Ajax, Dojo, JMS, JDBC, JSP, Servlet, JSTL, Tiles, TestNG, JUnit, MockIto, SQL, Quartz, Struts, AS400/DB2, C/C++, C#, Swing, HTML, JavaScript, XML, XSLT, XPath.
Tools: Eclipse, JBoss Server, Tomcat, IntelliJ Idea, SVN, Git, ServletExec, Apache, SQL Server, Query Analyzer, VSS, Hudson/Jenkins, Mingle, TeamCity, Assembla, Version One, Visual Cafe, K-Develope, CodeWarrior, JBuilder, Ant, Maven, Bison, MySQL, Oracle, WinCVS, Bash Script, Windows, Unix, Linux RedHat, Ubuntu, Macintosh.
WORK EXPERIENCE:
Confidential, Irvine, CA
Architect/Senior Developer - Provide 3rd party development for other clients working from home. Design/Implement/Test and deploy for agile projects. Clients include O'Reilly Auto Parts and Pervasent. Developed from design to fully deploy webservices based off of Apache CXF, Spring and Hibernate for O'Reilly coupon system. Implement using webservices and message queue. Also developed the front end using Swing to allow sales/marketing department to create and publish these coupons easily. The webservices were invoked from Retail POS in store to validate and apply discount to purchases. Also implemented their legacy stock check-in application that was written in RPG for as400 to java webservices/swing. Worked in an agile team with other contractors and full timers and also mentored other developers/juniors. Developed a web application deployed to amazon cloud for Pervasent for their Eye-R system. Design, implement, test and deploy in a team of 4 developers. The application was a green energy app that measures how much money can be saved for homes and properties based on imaging data taken for user's home/property. The application would generate various reports for different prices for home owner, contractor, or any other interested parties. Web application was developed using spring and jpa (EclipseLink) with heavy use of Spring Webflows, Spring Security and Tiles/JSP.
Confidential, Irvine, CA
Senior Software Engineer - Part of an agile team of 4 developers working within sprints of 2 weeks duration. Team is responsible for all aspect of the flagship web application called Engage with other portions/areas of the application being worked by separate teams in Atlanta and one additional team in Irvine. Java based with spring/hibernate integration and running on Tomcat. Database powering the whole application is Oracle 11g with an in house version of CAS server for authentication and security. Responsible for front end, mid-tier and backend/database side of the software. All new code and modifications have respective test unit in TestNG and Junit mainly with Mockito as well as real database unit tests. New Enhancements/Backlogs and defects are worked upon and tracked through VersionOne. Code versioning done through subversion with automated builds for QA and other dev environments through Hudson. Grooming and Kickoffs for all new backlogs and requirements and weekly defect fixing for new and defects from previous releases. Daily scrums to report on previous days accomplishments and future work. App server for testing/local dev as well as production is Tomcat. Development done mainly in IntelliJ with each team having their own local database and test environment to play around with. Java pojos with hibernate validation as validation framework. JSP/GWT for front end with DOJO and JSON as well as struts for portions of the application.
Confidential, Fairfax, VA
Software Engineer (Telecommute Contract) - GUI design and code for Titanium ORE product line. Working in a small team of 3 other ui developers and roughly 30 midtier and backend developers. My responsibilities were close to 85% front end development for the major components of the gui (dialogs, wizards and the main windows) and 15% midtier related. The work is done using SWT/Eclipse RCP and plugins platform. I relocated 6 months on site to work with client in Fairfax Virginia and 1.5 years remote work from home. Mainly extending and modifying as well as creating numerous custom windows, dialogs, and wizards to produce a rich and user friendly UI. All GUI related code and design done by hand and not using a GUI editor. Using abstract classes and component separation to minimize code duplication and build neat and clean compact viewers and controllers. The GUI components communicate with a mid tier composed of Spring beans, service layers/managers and hibernate DAO and DTO to store and retrieve data for the user. Wrote numerous ServiceFactory objects to allow the front end to easily access the managers and dao in middle and back end. The SWT widgets and all the workbench classes are designed to be run as a thick client and can also be deployed inside a web browser using Java webstart. The application communicates with a JBoss server for remote service calls through http-invoker technique. The database is managed by SQL server. Used JBoss IDE (plugin) within Eclipse to develop and deploy code efficiently. Used DBUnit for data population into the local test environment and ant scripts to automate populating database, building config files such as spring bean definitions and quatz scheduler definitions as well as packaging and deploying all the required libraries to be run inside JBoss. Used other open source tools such as TortoiseSVN, CruiseControl, and Jira for daily development, bug tracking and code management. While I was on site I helped out a junior programmer with eclipse and general gui concepts so he could work on some of the minor UI bug fixes and pmrs.
Confidential, Santa Ana, CA
Software Engineer (Contract) - Redesigned and developed front end GUI for one of Borland's flagship products called StarTeam. Integrated the software with Eclipse platform as Eclipse plugins using PDE. Redesigned the GUI with SWT/JFace based on Rich Client Platform in Eclipse. The plugins were developed using eclipse's internationalization schemes such as resource bundles for Japanese, German, English and French. Also created new enhancements and extensions in the core SDK being used by StarTeam client and StarTeam server products. Worked on integrating the software with other IDEs such as JBuilder and IntelliJ Idea. Bulk of development was done with SWT and Swing and geared at desktop version of StarTeam client product. Fixed bugs in legacy code and added new enhancements while working as part of the client team and interacting with other developer teams such as the server, SDK and QA teams involved with StarTeam and other Borland products. Resolved multiple issues that were part of the legacy code base and implemented a more robust MVC style to form the basis for the new SWT GUI for StarTeam. Customized the base front end to fulfill customer requirements for different clients.
Confidential, Irvine, CA
Software Engineer (Contract) - Worked mainly with J2EE as well as POJOs to implement web based applications such as lounge.newcentury.com and. Maintained legacy code, adding enhancements and bug fixes. Also used spring, hibernate and struts to rewrite new applications as part of a team of 20 programmers in a mid level role. Mentored and helped junior programmers as well as attained advice and domain knowledge from the senior programmers. Also worked with other programmers in wholesale, retail and servicing divisions. Communicated and worked out issues between the marketing/end-users, QA, build/release team, database admins, and code that was written by me as well as helped out senior programmers track bugs and resolve database issues when they were overloaded with other tasks. Used MVC with SQL database back end, EJB/POJOs/Servlets in mid tier and JSPs for presentation layer. Applications were running on Apache servers within ServletExec servlet containers. Used ticketing/bug tracking system called ExtraView to fulfill marketing requirements as well as track status of development as it moved from design, implementations, testing, and deployment to production servers.
Confidential, Newport Beach, CA
Software Engineer - Developed UI for rich client program using Java, Eclipse, and SWT. The program was a standalone desktop application. Used JavaScript and Flash to update the web application called InformaCare. Worked with other programmers to maintain and debug online and desktop applications being developed by WebReach. The bulk of programs were health industry related and were developed with J2EE, Enterprise beans, JSP, JavaScript and HTML/XML. The backend database programming is done using Oracle and PL/SQL. Also used Jakarta struts as well as Tomcat web server for web applications. Also worked on predictive modeling test application and created a web front end. Documented and designed with minimal mock up specifications.
Confidential, Tustin, CA
Software Engineer (Contract) - Developed embedded as well as desktop applications using C/C++. Code targeted for Linux and Windows. Implemented solutions for credit card/POS payment technologies. Wireless and wired using Ethernet, TCP/IP, WiFi, CDMA and socket programming (including SSL). Worked with a broad base of users including financial institutions, ISOs, and transaction processors. Some of the customers using the developed solutions were in the retail, manufacturing, communications, delivery, transportation, and restaurant industries, in addition to numerous others. Application supported Unicode and multi-languages such as Japanese, Chinese and Korean. Some of the applications developed were DeskMate, MobileMate, iNetMate, and a host of customized applications for the handheld terminals. Worked in a team environment with 8 other developers. Also developed a small server client application for direct modem dial up testing using MS Comm object for Windows in VB and client side was targeted for Linux in C. Extensive use of Make files and CVS to compile and maintain large projects.
Confidential, Irvine, CA
TA/Reader - Tested and graded C++ code for 150+ students in compiler course. Designed and developed compiler for students in a language called Cx. Tested code on Unix with GCC compiler. Wrote Makefile and batch files for the class compiler. Posted solutions to coding problems on the class newsgroup. Answer student questions on the newsgroup and maintained web page that included solutions to previous projects. Also helped the professor during quizzes and tests. The compiler expression tree was built using bison and flex.
Confidential, Aliso Viejo, CA
Programmer - Provided software solutions for small to medium sized businesses. Developed using VB .NET, C++ .NET, and C++. Designed, implemented, and tested software products. Supervised junior programmers. Worked in a team with 4 other programmers. Coded small to med size applications that mainly dealt with database storage and updates in relation to customer transactions. Also worked on a few web pages for these businesses and developed the pages with ASP and some PHP. Bulk of coding was done on Visual Studio 6.0 and later upgraded to Visual Studio .NET. GUI for applications was done with C++ and MFC in Visual C++. Database transactions were done in MS SQL. Use cases and design was created using UML in Rational Rose.
Confidential, Fountain Valley, CA 9
Technical Customer Service - Provided customer service as a PC technician. Consulted with customers and fixed their PCs. Installed Windows and new software for customers. Built custom PCs for customers. Trained and supervised new employees.
Confidential, Irvine, CA 8
Junior Programmer - Coded components for an auto dealership inventory app in VB. Developed a search engine with a web based front end. Designed and maintained company web page using FrontPage. Repaired and upgraded PCs for the other employees. Coding was done using Visual Basic 6.0. Worked with a team of 3 programmers. Also fixed found bugs that customers reported. Met with end users to receive feedback on user interface and features to include in upcoming versions.