A software, security, and technology architect excelling in both design and development. Focus areas include cloud native application and system design and migrations, including microservices based architectures, clean and secure coding including data privacy and protection, and regulatory compliance. Strong desire to help transform an organization into a modern application architecture while leveraging proven patterns of design, automation, and continuous integration and delivery.
A proven developer and architect that has helped transform organizations from monolithic, single data center, manual process shops into modern cloud native, distributed systems spanning multiple datacenters both public and private with full automation. Battle tested in helping organizations become more security and education focused through grassroots campaigns.
Constant learner and student with both the ability to pick up new skills quickly, but also develop them at the level needed to teach others.
Member of the DataStax Cloud Platform team, part of DataStax Constellation. Responsibilities include building and maintaining a multicloud kubernetes infrastructure, CI/CD pipeline development and maintenance. API development.
Senior Software Engineer
Responsible for the system and application designs for business as well as internal systems. Focus areas include Cloud Native and Platform, Data and Data systems, Security and Privacy, and Education. Brought ReST, Spring, and microservices architectures to Garmin and helped design, implement, and advocate the cloud native journey and platform.
Application Developer - 3
Application Developer - 2
Application Developer
Developed database services for Discern Isis using the Java programming language and Hibernate including a Data Access framework for archiving of data using Hibernate. Developed web service clients for external services as well as web service endpoints for physician web based solution.
Software Engineer - PharmNet
Test Designer
Technical Support Analyst
Certification Analyst
This 8 hour workshop is designed to introduce the Java developer to the Spring Framework. It starts with the basics of configuring an application for basic Spring Inversion of Control and walks through several of the pieces of the core project. This workshop provides both lecture and hands on exercises to enforce the basic knowledge.
MaterialsIn today's world, we move a million miles an hour to deliver code as fast as possible with as few resources as possible. We have moved into agile teams that churn over backlog to get to production. We have merged development and operations to improve efficiencies in delivery. The next major step is integrating the ever changing world of Security into the pipeline to mitigate risks while delivering at a high throughput. This talk will discuss was to improve your team's culture around security and focus on ways to make it a first class citizen for your team instead of an afterthought.
MaterialsThe Spring Framework is by far the most popular java framework in use today, and for good reason. The IoC container, common enterprise abstractions, and open source strategy have allowed the framework to respond to business and user needs. As cloud computing has increased in scope, so has the offerings of Spring. Today’s Spring developer has many tools in his or her belt for building scalable application, but very few of these developers have spent time digging into how the framework itself operates. Knowledge of the core operations of the framework aids in troubleshooting issues, extending the framework to leverage business needs, finding more robust and efficient ways of solving complex problems, and ultimately submitting back to the framework. This talk looks at the Spring Bean lifecycle and what it takes to actually get the container up and running. We will look at the various ways of configuring the bean factory through its wrapper the Application Context. We will discuss the ways the framework leverages proxies to add behavior to your POJOs and opportunities you have to impact that behavior through lifecycle methods, lifecycle beans, or aspecting.
MaterialsSpring Cloud provides a series of projects dedicated to making 12 factor or cloud native application development possible. Armed with basic knowledge of the Spring Framework, this talk will provide the audience some of the basics needed to build Cloud Native applications with the Spring Framework
MaterialsToday's modern systems have global reach, and as such public, private, and hybrid clouds are the place to deploy your applications. The issue with many of these solutions, however, is that many parts of application development that work on big iron servers are no longer in play. Limited if any file systems, distributed backing resources, and complex team locations and structures need a newer way of doing things. 12 factor applications, or cloud native applications attempt to bring agile development and cloud resources into coherence.
This presentation will focus on the twelve distinct components, workflows, and techniques for cloud based application development. It will be language agnostic, and instead focus on the principles behind the actual development.
MaterialsCryptography is one of those areas in software development that invokes immediate reactions in engineers. You either absolutely love the complexities of the math involved and the nuances of the algorithms, or you prefer to just ignore this entire segment of software development. Cryptography may be a complex mathematical concept, but leveraging the crypto libraries isn't complex once you have seen them in action and understand the use cases.
In this talk we will start our discussion with cryptography and first rule of crypto. We will then look at the most utilized aspects of the java crypto library and discuss proper use of the specific APIs. We will discuss use cases when you want to leverage a specific API, some of the options contained within, and some of the potential gotchas that could render your system less secure.
By the time you leave this talk, you should have a basic understanding of the java crypto packages and basic uses cases.
MaterialsIn this course, discover how to leverage Spring Boot to quickly and efficiently develop a practical, enterprise-style web application.
WatchLearn how to get started with Spring Boot 2.0 as well as extend the framework beyond the basics as you gain knowledge of many of the Spring offerings.
WatchLearn how to get started with Spring Boot as well as extend the framework beyond the basics as you gain knowledge of many of the Spring offerings.
WatchGet a comprehensive overview of the Spring Framework and how it starts and operates including how to leverage aspects in your Spring based application.
WatchLearn how to apply Gang of Four design patterns to improve your efficiency in Spring.
WatchLearn how to use Spring Boot and Spring Cloud to build modern cloud native applications that can deploy in public, private, hybrid or multi-cloud offerings.
WatchLearn how to leverage Spring Security for built-in authentication and authorization features to secure your Spring Based apps and services.
WatchThis course covers the basic concepts of microservices, to help you determine if this architectural model is the right fit for you and your team.
WatchLearn the concepts of the twelve factors that go into building agile, highly-scalable, and resilient web apps that are cloud native.
WatchThis course focuses on the basics of using Maven for dependency management, builds, and reporting.
WatchThis course teaches the basics of Java cryptography using the Java Development Kit's crypto APIs, the JCA in addition to best practices.
WatchLearn how to incorporate security into the software development life cycle.
WatchThis course gets you up to speed with the latest and greatest in Spring Framework 5.0 and Spring Boot 2.0, including reactive Spring.
WatchGet up to speed with the Java Database Connectivity (JDBC) API, showing how to use it to read and manage data from relational databases in applications programmed with Java.
WatchDiscover how to get work done more efficiently with asynchronous messaging, an alternative way of handling communication in a microservices architecture.
Watch