SpringSource Certified Spring Professional
Sun Certified Java Architect
Sun Certified Java Developer
Sun Certified Java Programmer
IBM Certified Solution Provider
Oracle Certified DBA
Sybase Certified DBA
Master of Science in Information and Computer Science
15+ Years Java Developer/Architect
7+ Years Focused on the Spring Framework
Over 20 years of experience in all phases of the software development life cycle. Broad and deep experience and knowledge of software development..
Sun Certified Java Architect and Developer. Over twelve years of server-side Java development. Industry experience in several different industries. Leading edge web applications developed with state of the art Java EE technologies, best practices, tools, and techniques.
Very strong knowledge and experience in the Spring Framework Portfolio. Six years hands-on experience in all facets of the Spring Framework, in addition to early interest and study since the inception of the Framework in 2003. Spring Core (IoC Container, Dependency Injection and AOP), Spring MVC, Spring Data Access (Transactions, JDBC, and ORM), Spring Web Services, Spring Security, and Spring Support for testing. Very familiar with all aspects of the Spring Ecosystem, including high productivity frameworks such as Spring ROO and Groovy/Grails.
Strong experience in object-oriented development: analysis, design, and programming. Five years of Forte, and over twelve years of Java EE.
YEARS OF EXPERIENCE
- Java Technology ( 15+)
- Object Oriented Development (20+)
- Multi-tier systems development( 20+)
- Client/Server Development (20+)
- Relational Database Technology (20+)
- SpringSource Certified Spring Professional
- Sun Certified Java Architect
- Sun Certified Java Programmer
- IBM Certified Enterprise Solutions Provider
- IBM Certified WebSphere Developer
- IBM Certified Enterprise Administrator
- Oracle Certified Oracle Professional
- Sybase Certified Sybase DBA
JAVA EE Servers:
- J2EE 4
- JEE 5/JEE 6
- JBoss Developer Studio
- IBM RAD
- IBM RSA
- Eclipse TPTP and IBM Rational Performance Tester (RPT)
- Mercury Load Runner
- Spring Core
- Spring MVC
- Spring Batch
- Java Web Services
- Software Architecture Best Practices – as defined by Software Engineering Institute
- Domain Driven Design
- Test Driven Development
- Object Relational Mapping - with special focus on Hibernate and JPA
- Data Modeling, and Object Modeling
- Java Design Patterns and Best Practices
- Eclipse Development (Eclipse, IBM RAD, IBM RSA, SpringSource Tool Suite)
- Agile practices: architecture, modeling, design, and development
- J2EE (Servlet/JSP/EJB and other J2EE APIs)
- Agile Development Practices (XP, Test-First Design, Refactoring)
- J2EE Design Patterns
- Web Application Frameworks (MVC, Struts)
- WebSphere Studio Application Developer (WebSphere 5.0, WSAD 5.0)
Programming Languages Proficient In
Various Unix Shells: Bourne Shell, BASH, C-Shell, and Korn Shell
Many more esoteric languages. I am a computer languages, and human languages buff. I speak Arabic, and English fluently. Spanish near fluently (intermediate but headed to fluent soon). I know, at various levels of proficiency. about a dozen languages: French, Italian, Portuguese, German, Japanese, Farsi, Latin, Greek,… and several others. This is more of a hobby. But I would love to work in Spain or Latin America, if I got the chance.
I have programmed in more than 15 assembly languages for various CPUs. I did production programming early in my career with PDP/11 PAL, IBM Assembly Language, and Honeywell BAP, and GMAP – business production programming in Assembler! And my code was very modular, structured, and readable. It was nearly bug free.
MSICS, Master of Science in Information and Computer Science
BSEE, Bachelor of Engineering in Electrical
Project Architect – Confidential
Riverside, CA January 2012 – Present
Project Architect and Agile Coach – 6 Month Contract
Working on a modernization project, as the application architect and agile coach. Training, mentoring, and guiding a team of designers and developer in adopting Groovy/Grails/Spring/Hibernate - among a stack of about 16 other technologies. Development is in STS (SpringSource Tool Suite), with Oracle 11g as the database. Version control is SVN. Project management and Agile practices all under the Atlassian product suite: Confluence wiki for content collaboration, JIRA for project tracking, Greenhopper for agile project management, Bonfire for exploratory testing, Fisheye for source code repository browsing, Bamboo for continuous integration, Crucible for code review, and Clover for code coverage. I mentor and guide the team in all architectural, design, coding, TDD, ATDD, Design Patterns, Refactoring, Refactoring to patterns.
I am one of the best experts in the nation in Agile Java/Groovy/Grails/Spring/Hibernate/ORM technology/TDD/ATDD/DDD.
Senior Software Architect – Confidential
Richmond, VA December 2010 – December 2011
Application architect on a mainframe migration project. Project involved “system surgery” to decouple a complex system from another system it was directly and tightly coupled with. Performed legacy “system archaeology” tasks to discover all touch points with the external system. Implemented innovative approaches to do “requirements discovery” work with legacy code through Spring AOP, Test Driven Development, and exploratory prototyping. Introduced Spring and Spring Batch to convert legacy Cobol to Java with Spring Batch. Developed exploratory prototypes in Groovy and Grails to demonstrated possible migration scenarios and to implement different visions of the final system to stakeholders. The migrated system has complex business logic that was spread across both legacy Java and legacy Cobol. Designed a service oriented, messaging-based,migration architecture based on Web Services, Messaging, and Caching. A great deal of innovative analysis and research techniques were required to be able to effect the migration with minimal impact on the final delivered functionality to user community. Used systematic application of architecture and design best practices: Domain Driven Design (TDD) to keep architecture focused on the “business” of the enterprise, and Test Driven Development (TDD) to enable a disciplined test driven process that accomdated working with legacy code as well as new code. Ensured at all stages of development a timely review of all architecture artifacts by the Architecture Review Board, and all business and technical stakeholders.
Technology: IBM RAD/RSA 7.5.3, WebSphere Application Server 7.1, IBM DB2. Oracle 10g, Groovy/Grails, Spring, Core, Spring AOP, Spring Roo, Spring MVC, Spring WS, Spring RS, and Spring Batch, Web Services, Service Oriented Architecture (SAO), RESTful Web Services, Enterprise Integration Patterns, and their implementations is OpenSource: Camel.
Adjunct Professor of Computer Science,
October 2009 – December 2010
Teaching Computer Science and IT courses. Advanced Object Oriented Programming. Java Web Application Development. JavaServer Faces Development, Design of custom sockets servers.
NetBeans 6.X, GlassFish 3,MySQL 5.X, JavaServer Faces 1.X, 2.X, Java EE 5
Java Architect/Developer/Consultant/Trainer April 2008 – September 2009
Kuwait, UAE, Saudi Arabia, and Jordan
Providing training, consulting, design, and development expertise to Java development projects for an international client based in Kuwait with operations in Kuwait, Saudi Arabia, Qatar, and UAE (Dubai, Abu Dhabi), and Jordan. Specializing in several sub disciplines of the Java software development ecosystem:
Also Enrolled in PhD program in Information Technology at Capella University Online. My goal was to complete the doctoral work in about two years. Performed study and research on several topics in computing and Information Technology.
Java EE – Spring, Groovy, Grails – WebSphere Application Server, GlassFish, and Several other JEE Application Servers
Senior Software Engineer, Confidential
Sterling, VA March 2005 – April 2008
As part of the CAF (Common Applications Framework) team performed Java framework design, performance testing, and performance engineering platform design. The CAF framework is built on some of the best open source frameworks in the Java world: Spring, Hibernate, EJB3, Aspect J, and JPA.
Weblogic 7.x, 8.x, Oracle 8.X, 9.X, JBoss 4.x, Spring, 1.x, 2.x, Hibernate 2.x, Spring MVC
Java Application Architect, Confidential
McLean, VA July 2003 – February 2005
Performance analysis and root-cause analysis for the performance testing effort of Project Enterprise. Analyzing performance testing results to determine application system performance bottlenecks., and to troubleshoot performance issues and problems.
PE is a large web-based application providing the capability for Freddie Mac customers to do business with the company over the internet. PE provides a state-of-the art implementation of a large, multi-tier, J2EE architecture, utilizing a model-view-controller framework for the Presentation tier, and utilizing EJB components, and major architectural J2ee patterns, for the business tier that access an IBM UDB DB2 database.
Started study and following Spring Framework evolution while at this contract to solve specific architectural problems.
Weblogic 6.x, Weblogic 7.x, IBM DB2, Struts 1.X
Java Architect/Developer/ Confidential
Inc.: Herndon, VA January 2002 – June 2003
Delivering in-house training, mentoring, consulting, architecture, and design review services for many national and international companies engaged in Java and J2EE development. Areas of focus included:
WebSphere Application Server 5.X, Oracle 8.X, Sybase SQL Server, Weblogic 6.X, Struts 1.x
Java Architect, Confidential
Sterling, VA, April 2000 – December 2001
Joined the Computer Horizons WebSphere practice. Underwent an intensive, 10-week long, training program at IBM in: WebSphere Architecture, and administration, and : WebSphere Servlet/JSP/EJB Development. The program rigorously covered all aspects of developing, deploying, and managing WebSphere eBusiness applications. The program required undergoing five certification exams leading to obtaining two certifications one for the architecture and administration track : Certified IBM Systems Expert, and one in WebSphere development: Certified Enterprise Developer.
Led a WebSphere SWAT team of six IBM certified developers. Developed a custom light-weight SWAT team process, appropriate for SWAT team projects (rapid development, short duration, difficult projects). The process is based on a tailoring of the RUP (Rational Unified Process) for the analysis and high level design phase, and a tailoring of the XP (Extreme Programming) process for the design and implementation phase. Trained the team in the development process and practices and led the team in the development of a model eBusiness application following the prescribed process. Used the SWAT team process at several successful CHC J2EE engagements.
WebSphere Application Server 3.X, and 4.X. Oracle 8.X, Weblogic 5.X, Struts 1.X
Java Architect/ Confidential
Chicago, IL November 1999 – March 2000
Developing a highly scalable mobile telecom system for delivery of content to millions of cellular customers. Content delivered is custom tailored to user and location of cellular user in real-time. Very innovative and state-of-art cellular application. Weblogic 5.1 and Forte For Java.
Developed two primary subsystems :
a Message Delivery Server, and a Data Access EJB Layer shared by all subsystems.
Participated in all phases of system development: requirements definition, system architecture, application architecture, database design, database implementation, Java coding, testing, and deployment. Also participated in Forte system management, shared repository management, and deployment.
Java on Forte Application Server. Weblogic 5.x, Oracle 8.X
Java Architect/Developer, Confidential
Chicago, IL August 1999 – October 1999
Developing a new architecture for a corporate business collaboration system for one of the world’s largest banks (UBS – Union Bank of Switzerland). Current system consists of a large Java GUI client and a C backend messaging system. New architecture consists of a multi-tier architecture based on Java 2 Enterprise Edition utilizing Java RMI, JNDI, EJB, and JMS-compliant messaging backbone in the middle tier, with Sybase RDBMS in the third tier.
Java Messaging Service. Weblogic Application Server 4.X. Oracle 8.X
Java Architect/Developer, Confidential
Atlanta, Ga May 1999 – July 1999
Developing web-based e-Commerce solutions for Equifax to offer credit reports online via a web site. Utilizing the latest technology from NetDynamics (NetDynamics Application Server 5.0), and utilizing EJB component technology. Architecture, design, development, and implementation of Enterprise JavaBeans to implement the business logic layer of a multi-tier application architecture. EJBs utilized to encapsulate access to legacy systems and data and to implement business functionality in a portable manner across EJB servers.
WebSphere Application Server 3.X. NetDynamics Application Server 5.X. Oracle 8.x
Java Architect/Developer, Confidential
Sterling, VA September 1998 – May 1999
Developing web-based database applications utilizing NetDynamics Application Server 4.1.x, for customers, and for in-house projects. NetDynamics App Server utilizes Corba services implemented in Java over the Visigenic VisiBroker ORB.
NetDynamics Application Server. A Java/Corba application development environment for distributed objects and web-based database applications.
Forte Architect/Developer, Confidential
Allentown, Pa June 1997 – August 1998
Forte consulting/development on two Forte projects: 1) a purchasing decision support system utilizing Forte, Forte Express, and Oracle. 2) a manufacturing, shop-floor, machine tool automation project utilizing Forte. Provide Forte design, development and mentoring to project team. Develop high level system and application architecture. Develop templates and patterns for complex Express customizations that project team can emulate.
Forte Architect/Developer, Confidential
Bethesda, Md October 1996 – June 1997
Application server architecture, design and development utilizing Forte technology. Forte design and development of a TCP/IP Sockets application - A Forte’ Application Server. The server interacts with dial-up and web clients who register for a broadcast service, and an API service. The server maintains connections to each client and broadcasts real-time feeds from mainframe to currently logged in clients. API server provides a comprehensive private application protocol interface to a set of financial databases. Application server designed to provide service replication for load balancing and fault tolerance, and to support very high throughput, very large number of users, and very large databases. Design and implementation of high performance, multi-threaded servers and clients in Forte.
Forte Consultant/Developer, Confidential
Arlington, Va. December 1996 – March 1997
Consulting/training/mentoring in Forte and Forte Express for development of information systems applications utilizing Forte clients on NT Workstations and Forte servers on Sun Solaris, and Sybase databases.
Forte Architect/Developer, Confidential
Rockville, Md. January 1996 – November 1996
Object-oriented analysis and design, database design, system architecture, design and development of a large, three-tier, client/server product in Forte’ and Forte’ Express. Server platforms for the first release include HP-UX, IBM AIX, NT Server. Client platforms are Windows (3.1/95/NT). Relational databases: Oracle 7, MS SQL Server 6.0, Sybase System 11, and DB2.
Technology: Forte Object Oriented Development Environment – Distributed object development in a Java-like language.
Corba Architect, Confidential
McLean, VA August 1995 – December 1995
System architecture and planning. Investigating the applicability of CORBA 2.0 architecture, services, and current implementations to the system architecture, and design for a very large information system involving hundreds of data and application servers, legacy mainframes, and thousands of PCs. Developing a CORBA-based architecture and a legacy migration strategy. Distributed objects and distributed databases.
Technology: HP-UX, Oracle 7, Oracle Open Gateways, Sybase, Sybase Open Servers, C, Ada, CORBA compliant ORBs, CORBA Object Services, Object-Oriented Analysis and Design.
Sybase Developer/DBA/Architect, Confidential
Washington, DC May 1994 – July 1995
Server-side development on a large client/server project utilizing Sybase technology. Re-architected an application that was seriously behind schedule. Led a SWAT team of developers in implementing the new architecture in record time while meeting the client’s schedule and quality standards. C/UNIX/Sybase/AWK/Shell. ERD analysis, reverse engineering, and database design. OOD for an object-oriented data access layer. Also worked on an architecture team developing system architecture for a very large, nationwide system. Planning technology infrastructures utilizing latest mutli-tier client/server platforms and tools: second generation object-oriented development/deployment environments.
Sybase DBA, Inter- Confidential
Washington, DC January 1994 – May 1994
Server-side development on a large client/server project using Sybase technology. Sybase SQL Server release 10 on IBM RS/6000 AIX. Client workstations : Windows, DOS, and Xstations. Reverse engineering of very large database. Database design. SQL server configuration planning. Sybase DBA functions.
Sybase Developer, Confidential
New York, NY March 1993 – December 1993
Server-side development using Sybase technology on large client/server project. Sybase development and performance tuning on Sun SparcStation network in support of Global Derivatives Credit Management System - a world-wide client/server system utilizing Windows and Macintosh client workstations, and Sybase RDBMS. Developing stored procedures and C/UNIX/ DB_LIB programs for Sybase on SunOS. Performance and tuning work on hundreds of stored procedures in a large complex database on multiple servers in London and New York with hundreds of tables. Developed systematic and methodical techniques and tools for performance tuning of Sybase applications that achieved orders of magnitude improvements in performance..
Sybase Developer, Confidential
Washington DC January 1993 – March 1993
Server-side development on a Sybase SQL Server NLM for NetWare. Provided relational database design, implementation, and DBA support. Client/server architecture MS Windows PowerBuilder. Developed hundreds of stored procedures and PowerScripts.
Sybase Developer Confidential
Washington DC June 1991 – December 1992
Server-side development on large Sybase/UNIX/C/Windows project. Client/server project involving MS Windows clients and Sybase SQL Server on Sun Sparc. Investigated performance problems where throughput was unacceptable to client. Conducted performance analysis studies, database and system tuning redesign, and re-programming, was able to improve system throughput more than a hundred fold.