I am an innovative Senior Software Architect and Cloud Architect with 25+ years of achievement in software engineering and 15+ years leading development teams in competitive markets using the latest technology. My expertise is in back-end technologies, specifically scalable, 12-factor applications and cloud-native applications—and thrive on keeping up with the latest trends and technology. I combine creative and analytical thinking to solve complex engineering problems and have a proven track record of success in designing, developing, implementing, and managing web and cloud-based applications.
Design Patterns/Application Platforms/Frameworks/Libraries/Tools
DDD, Enterprise Integration Patterns, GoF Patterns, J2EE Design Patterns, REST, 12 Factor apps, Spring, Spring Boot, Spring Security, Spring MVC, OAuth2, Hibernate, JUnit, TestNG, JPA, Apache Camel, Liquibase, Cygwin, NodeJs, Angular, AngularJS, Prometheus, OpenTelemetry
Docker, Kubernetes, LXC/LXD, Jenkins, Sonar, Terraform, Selenium, git, Maven, JaCoCo, Postman
Public Cloud Providers
AWS, GCP, Digital Ocean, OpenShift
Windows, Debian, Ubuntu, macOS
Oracle, PostgreSQL, H2, MS SQL, Apache Tomcat, Apache Kafka, ActiveMQ, MongoDB, MemCached, Redis, Apache Cassandra
Cloud Brokerage Architect Austin, TX (April 2018 - Present)
- Concentrate on the design of infrastructures including servers, storage, workstations, middleware, non-application software, networks, and the physical facilities that support the applications and business processes required by the client.
- Use various techniques including modeling, simulation, and testing to validate the architectural designs and selected products.
- Responsible for performance, availability and scalability of the Cloud Brokerage delivered infrastructure.
Owner Austin, TX (August 2009 - April 2018)
- Designed and developed Restful cloud native applications with OAuth2 security.
- Migrate monolithic applications to micro-services architecture with Kubernetes.
- Build and deploy multiple public cloud solutions with IAC.
- Implemented Spring Boot and Spring Security Oauth2 web applications that enables users authenticate with their social accounts.
- Redesigned and refactored complex websites in finance domain with Domain Driven Design principles.
- Creating fully automated CI build pipeline and deployment infrastructure and processes for multiple projects
- Create and deploy AWS, GCP infrastructures with Terraform and cloud-init.
- Implemented third party integrations with Apache Camel for refund check processing and gathering marketing metrics.
- Architect and implemented ETL solutions with XStream, Apache POI, Spring Web Services.
- Architect and implemented user activity auditing layer with Spring AOP.
- Enabled multi environment/multi module maven builds with Liquibase that runs on Oracle, PostgreSQL and H2.
- Architect and built Selenium project with multiple remote controllers and many concurrent Se tests that runs on Amazon EC2 platform. Streamlined this solution to customers Jenkins continuous build environment.
Senior Architect Austin, TX (April 2015 - February 2018)
- Architect cloud-native, scalable, twelve-factor applications
- Overseeing architectural design and implementation over multiple projects.
- Interact with clients and solutions directors to gather and clarify requirements. Interact with team leads over software design and implementation.
- Assess and analyze technical solutions, help project team adopting the most suitable technical stack.
- Provide code reviews and proactively identify code design and implementation problems.
- Implement continuous integration for overseas teams and automate code builds, code quality analysis and delivery.
- Provide proof of concept for technical challenges.
Senior Consultant Dallas, TX (August 2012 - April 2014)
- Design, implement, refactor backend services for multi layered, high availability, multi module web application.
- Introduce and promote best practices for unit, integration and mock testing.
- Establish code coverage and code quality metrics for continuous delivery.
- Design, implement asynchronous processes that helps overall performance. Developed remotely managed scheduled tasks that simplifies administrative tasks and reporting.
Senior Software Engineer Austin, TX (November 2011 - August 2012)
- Working in EA digital platform nucleus scrum team for EA's RESTful commerce and identity system sprint tasks.
- Participated in EA's next generation commerce and identity modules architectural design work.
- Refactored legacy Spring framework test code in unit and integration tests for more contemporary usage.
- Migrated Hibernate second level cache and query cache from Oracle Coherence to Memcached.
- Improved overall performance of couple slow and frequently running production queries by code refactoring and implementing caching.
Senior Consultant Austin, TX (August 2009 - November 2011)
- Redesigned build and deployment processes by implementing CI/CD.
- Adding unit, integration, user acceptance tests and various other metrics to maintain performance and code quality.
- Implement services and messaging solutions to decouple existing code and enabled distributed architecture.
- Redesign existing commodity trading application structure to a domain driven design architecture.
- Migrating existing JDBC oriented trading platform to object relational architecture.
- Redefine, refactor domain model and application structure by implementing object oriented, aspect oriented design concepts and domain driven design principles.
- Introduced entity auditing and versioning with Hibernate Envers.
- Refactor and implement object relational mapping and data access with Hibernate, JPA, services and DAOs.
- Ensure %100 unit test coverage on implemented entities, services and DAO classes.
- Implement Spring and Spring Security framework for the existing legacy application.
- Refactored and replaced Struts servlets with Spring MVC.
- Redesign and refactor database schema and manage changes with Liquibase.
Software Development Team Lead Austin, TX (September 2008 - August 2009)
- Team lead and scrum master.
- Architect and implement complex object oriented, multi-tenant SaaS application with Spring, Hibernate, Struts 2 and JPA using J2EE patterns.
- Develop scheduling, time/ expense management and resource management application that streamlined e-business applications for resource planning, reporting and expense management.
- Refactor existing Java application using repository, command, observer and strategy design patterns and aspect oriented programming.
- Implemented hibernate mapping with annotations and interceptors. Extensive experience developing services and solutions with Spring AOP, Spring DAO and Spring Security.
- Adopt best practices for Java performance tuning and code review for on going code quality improvement efforts with JProfiler, Sonar and Bugfinder.
- Integrate and configure Maven, Archiva, Emma, Cobertura configurations to be used in dev/qa environments with different OS systems.
Software Development Team Lead Overland Park, KS (January 2002 - August 2008)
- Lead seven developers and serve as development lead for the major customer account. Provide technical interview and assessment of programming applicants. Guide and ensure growth of less experienced developers.
- Spearhead architectural design of complex e-business, object oriented applications and databases to be used by pharmaceutical companies and vendors. Coordinate and ensure efficiency of application development teams.
- Provide broad-based technical support to project team members. Systematically design and implement the components required for complex application features. Perform architectural design and programming of J2EE and asp.net web applications, backend applications, and database functionality.
- Administer Oracle and MS SQL databases, source versioning system and application servers, including IBM Web Sphere, Tomcat and Apache servers. Conduct unit, stress and performance testing of database and applications. Document and formulate application design and programming practices.
- Sanofi-Aventis team lead for 5 years.
- Systematically designed, created, and maintained Java, .net frameworks and built more than 60 W3C XHTML, 508, SEO compliant web sites based on these frameworks.
- Design and integrate framework components built around Hibernate, Spring framework, Lucene, Tiles frameworks using lazy loading, interceptors, DI, AOP, request processor, search, templates features with Java.
- Built e-business applications that streamlined e-business applications for fulfillment, financial planning, reporting and clinical trials.
- Effectively performed unit, stress testing of clustered web applications with very high traffic and volume.
Software Development Team Lead Istanbul, Turkey (1998 - 2001)
- Managed architectural design and implementation of various web sites and backend processes.
- Ensured membership growth and streamlined content management.
- Maintained functionality of Oracle and SQL databases and application servers.
- Led in research, discovery, planning and implementation efforts to significantly improve business processes.
- Ensured overall solution-level integrity of applications and evaluated current systems.
- Led in ensuring successful completion of projects and developed operational reports for submission to management, application processing, and card management divisions.
Sr. Developer Istanbul, Turkey (1993 - 1998)
- Rendered technical support in the design, development, and deployment of complex applications in global distributed computing environments.
- Sustained information needs of accounting, stock department, and management through the strategic design and implementation of company intranet.
YILDIZ TECHNICAL UNIVERSITY Istanbul, Turkey (1987 - 1992)
- Bachelor of Science, Mechanical Engineering. Minor: Energy Systems
Open Source Projects
- Apache Camel is a versatile open-source integration framework based on known Enterprise Integration Patterns.
- A REST, DDD project that demonstrates many different aspects of modern enterprise Java development best practices and solutions. Powered by MongoDB and Redis, this platform independent game illustrates how DDD simplifies object oriented design and testing. Secured with Spring Security OAuth2 and documented with Swagger, Redrum is a great example of how security and documentation can be achieved for restful APIs.
Professional Trainings, Conferences and Events
- SpringOne, San Francisco 2017
- OSCON, Austin TX (2016-2017)
- ArchConf, Fort Lauderdale FL (2015)
- Spring One 2GX, Dallas TX (2014)
- NFJS Software Symposium, Austin TX (2010/2011/2012)
- Oracle Administration, Overland Park KS (2003)
- Vignette Advanced Template Development, London, UK (2001)
- Advanced Java Programming, Istanbul Turkey (2000)
- Advanced C Programming, Istanbul Turkey (2000)
- Principles of Application Development, Istanbul Turkey (1999)
- Oracle Performance Tuning, Istanbul Turkey (1998)
- Oracle PL SQL, Istanbul Turkey (1998)