Skills

Java Programming Language

Fluent in the Java programming language as well as several frameworks such as: Spring MVC and JSF, as well as tools and environments such Maven and Eclipse; I also have extensive experience with the Swing GUI toolkit.
I have earned an Oracle certification for Java programming as well.

Spring MVC Framework

The Spring Model-View-Controller framework is highly used in the industry for Java web application architecture. I have a lot of experience working with Spring MVC on many high profile projects, and prefer it for my own projects, such as SigmaYou.com.

JSF Framework

I have worked with the JavaServer Faces (JSF) framework on several projects, ranging from public facing eCommerce sites to CRM sites. I appreciate JSF's component based approach for quick development to delivery, as well the re-usability of custom components.

SQL

Structured Query Language is a fundamental skill for developing applications of all shapes and sizes. I have a lot of experience with SQL from writing complex queries to creating stored procedures for Oracle, MySQL, and DB2 databases.

UML

The Unified Modeling Language can be used to design and plan application architecture, flow, sequence of events, and object representation to name a few. I have experience in UML including creating behavioral diagrams such as Use Case Diagrams and Sequence Diagrams as well as structural diagrams such as Class Diagrams and Domain Model Diagrams.

Database Design

I have experience in creating and maintaining complex database schemas including ground-up design to implementing new entities to an existing schema. I adhere to normalization rules and techniques with a minimum of 3rd Normal Form (3NF). In addition, I have experience creating Entity Relationship Diagrams (ERD) as well as reverse engineering and replacing legacy applications and their complex database schemas.

HTML

Hyper Text Markup Language, though it is relatively simple, what is a website or web application without it? Knowing the ins-and-outs of HTML are one of the fundamental skills for any developer that deploys applications to the internet.

CSS

Cascading Style Sheets. Without CSS a web application will not have a look-and-feel associated with it. CSS is a skill that requires a lot of patience and a lot of practice to master.

JavaScript/JQuery

Any modern website or web application will utilize JavaScript to improve the user experience of the application, from sending AJAX post requests to the server to displaying and/or creating animations on the client side. JavaScript, like CSS, is a skill that takes both patience and practice in order to master.

PHP Programming Language

PHP (Hypertext Preprocessor) is a server side scripting language. I have a lot of experience working with PHP in several web applications and have found it fast and flexible to work with.

Agile Development

I have experience working in an Agile Development environment as well as following the principles of the Agile Manifesto including key concepts such as "Individuals and interactions over processes and tools" and "Working software over comprehensive documentation", to name a couple.

Unit Testing

I have experience developing unit tests mainly via JUnit, also utilizing testing frameworks such as Mockito. My unit testing background also includes meeting requirements for code (line) and branch coverage.

Hibernate

While I believe it is first necessary to have a solid foundation in SQL, I find Hibernate as a really great and flexible tool, and have used it on several projects, including SigmaYou.com.

REST Web Services

I have experience creating REST (representational state transfer) Web Services as well as utilizing existing and/or 3rd part Web Services, including SSL. I prefer sending necessary request body payloads via JSON, but can utilize any necessary content type; as well, I can parse the response (JSON or otherwise) and map to the correct object(s).