Husameldin Sharaf (Sam) - Java 11 senior backend developer |
[email protected] |
Location: Sunnyvale, California, USA |
Relocation: No |
Visa: USC |
Husameldin Sharaf (Sam)
Java 11 senior backend developer 7324443158 [email protected] Sunnyvale, CA No USC Summary Google Storage API and Stackdriver Logging interface: Developed against the Java Google Storage and NIO API. Also, used the Stackdriver Logging queries to monitor the cloud logs. Netflix GraphQL and Springboot 2.7: Developed from scratch a new application using GraphQL and Springboot 2.7. Also, used the new OffsetDateTime Java API to account for the time zone. AWS-IAM, Docker, Docker-compose, Docker-machine and Kubernetes: Comfortable with stateless micro-service deployment in AWS and Openstack. Developed Java API which interfaces with AWS Aurora for PostreSQL and MySQL. Also, used and got familiar with the kubectl various commands JDK 8: Data structures, Streams-API, Lambda, map-reduce, Comparator, CompletableFuture pipelines and Channel APIs of NIO2 Apache-Druid: Carried out the deployment of the Druid-Broker, Druid-Coordinator and Druid-Historical nodes. Also, developed scripts to ingest aggregate data from Hadoop/Hive deep storage to an intermediary media then to Druid Historical nodes. JVM tuning and production monitoring: Solid knowledge of using the Java Mission Control to profile and monitor production environment and set alerts for performance hazards such as thread contention and deadlocks. DevOps CI/CD: Liquibase, Maven plugins and archiver, Gradle, GitHub, Jenkins, SonarQube. Splunk power user, reporting and logging: Developed a Splunk form and configured Splunk indexes. Deep knowledge of all logging frameworks, namely, Java util logging (JUL), SLF4j, Log4j, Log4j2, Lilith and Otros Log viewer Multithreading APIs and SPIs: LMAX disruptor, EE7 asynchronous managed executor service, Spring threads and Java 8 CompletableFuture pipelines. Spring 4.x, 5.x, Spring-boot 2.x, Jboss/Wildfly/Websphere/Weblogic: Rest-Controller, Spring scopes, Spring AOP, Asynchronous Servlets 3.0 and HTTP events (comet-style asynchronous events). CDI-Decorators, Event listeners, Timer services, Interceptors, Runtime server Plugins, JMS SOA, Web services and Security: JAX RS 2.x, Basic Authentication, and Cookies. RESTful Microservices using Jersey, RESTEasy and Apache CXF. OAuth 2.0 and OpenId implemented by Apache Shiro and Keycloak. Linux and JVM Security: Developed APIs compliant with NIST CSF and NiST 800-171. Also, set-up ssh-agent for Linux . Set-up the JVM Keystore using the Keytool. Used Kerberos for API security Code coverage, integration and stress testing: Uses Java reverse engineering tools to produce the UML Class diagrams. Uses Junit, TestNG, Mockito, CheckStyle, Jacoco Pluggin, Jmeter, PMD, SonarQube rules and Apache HTTP server benchmarking Python - Anaconda: Imports/exports Python virtual environment and developed SqlAlchemy 1.1 API in a Flask app Hadoop - Hive: Solid on Hadoop dfs commands to move Hadoop paths among Hadoop hosts or to/from local JIRA, Confluence and Apple-Radar, Apple-CST, Apple-connectme Oracle RDBM, MySQL, PostgreSQL and Transaction Management technologies: EJB 3.1 and Spring transaction management as well as JSR-338 JPA 2.1 implemented by both Eclipselink and Hibernate XML and JSON technologies: JAXB/MOXy Eclipselink, XSLT, XSD, localization and serialization, Jackson and fasterXML JSON api Degrees and certification: M.Sc. of Science and Engineering: Computer Science. The American University in Cairo graduated Feb 07 with GPA: 3.143 Bachelor of Science: Computer Science. The American University in Cairo graduated Feb 98 with GPA: 3.279 Wells Fargo, Fremont Java 17 Backend developer November 2022 to present Deployed and debugged a Spring-boot 2.7 application using Docker-compose, Docker-machine, and Google cloud Kubernetes Initiated the development of a Netflix-dgs GraphQL version 5.5.3 Springboot application backed by two simultaneous datasources. Designed Hibernate/JPA entities with consistent bi-directional one-many and many-many relationships. Used Java Flight Recorder and Java mission control to profile the memory heap and the garbage collection. Also used them to debug Threads starvation and deadlocks. Used Java Mission Control rules to set alerts for the JVM metrices which affect the system throughput and downtime. Walmartlabs, Sunnyvale Java Backend developer March 2021 to October 2022 Initiated the development of a Kickstart-GraphQL version 12 Springboot application backed by two simultaneous datasources. Designed Hibernate/JPA entities with consistent bi-directional one-many and many-many relationships. Used Java Flight Recorder (JFR) to instrument the JVM metrices such as memory and CPU usage in runtime. Configured the Jacoco plugin for a multi-module maven application. Also, configured the SonarQube rules. Configured the maven pom.xml to integrate the map-struct api. It is a better practice to conceal the persistence layer from the client. Configured the Springboot Actuator to expose custom health check as well as the kubernetes Liveness and Readiness endpoints. Symphony communications, Palo Alto CA Java Cloud developer Sep 2019 to Feb 2021 Used the Google cloud Stackdriver Logging queries to monitor the cloud logs and used the kubectl various commands Configured the Jacoco plugin for a multi-module maven application. Also, configured the SonarQube rules. Used AWS-IAM tokens to access the enterprise docker registry. Developed a Splunk form with optimal queries and configured Splunk indexes. RMS, Fremont CA Java micro-services developer Mar 2019 to Aug 2019 Used Docker for local development, deployed and used port-forwarding to debug an application deployed in Kubernetes cluster Under Dropwizard 1.3.8, developed REST services along with their Junit and integration test. For an on-premise Kafka stream message queue, developed a micro-service with custom serialization and the deserialization. Used NodeJS for a quick turnaround of simple web-services Developed a real-time health-points monitoring API which listens to asynchronous events. Apple, Sunnyvale Micro-services developer for realtime analytics Jul 2018 to Feb 2019 Developed Python scripts which was deployed in the ETL Framework to ingest data from Hadoop to Druid Historical nodes. Also developed HDFS scripts to move Hadoop aggregate date from one linux box to another Configured an optimal Spring-Boot micro-service which exposes MySQL payload via JBoss RESTEasy platform and multiple Transaction Managers. Ensured high performance via implementing interceptors and embedded Undertow as well as JVM monitoring and tuning. Extensively used Hive and Hadoop dfs for either cp/mv within the Hadoop dfs or copy to/from local commands. For a quick turnaround light-load service: used Anaconda to create an exported Python environment. Then developed a Flask application to publish CRUD REST endpoints backed with and SqlAlchemy 1.1 Setup ssh-agent and knows the most of the .ssh/config file parameters. Also used Kerberos for API security. Self-development interval between projects from Mar 2018 to Jun 2018 Developed a POC for a client/server Java app using Gradle, SpringBoot, embedded Undertow and WebSockets 1.1 Developed a java service API to scan a log file of tens MB size, and stream it into smaller files while not breaking sentences between two consecutive small files. This effort scored high fault-tolerance, speed and optimal use of the hardware resources. Acquired the Java 8 certification Equinix, Sunnyvale, CA Java Enterprise micro-services architect Aug 2017 to Feb 2018 In a Springboot app developed and configured Java 8 CompletableFuture pipelines as to emulate the high throughput of services backed by messaging systems For APIs integration with multiple cloud providers, developed a developed an API to handshake and authenticate with Google cloud, AWS and Azure. Demonstrated Kafka streams in a POC within a Spring-boot application. Knowledgeable about techniques to minimize the auditing and the failure-logging of micro-services in production. Narvar, San Francisco, CA - Senior Java Developer Aug 2016 to Jun 2017 In a Springboot app designed the architecture of a system of: (1) User authentication / authorization using Spring OAuth 2.0 and OpenId specifications (2) Asynchronous CPU-expensive services. (3) Expensive disk-access via messaging services. Configured two Spring Transaction Managers within one Spring Boot 1.4 app For Oracle and PostgreSQL designed JPA Entities with One-Many Bidirectional consistency, also upgraded Spring Boot 1.3 to 1.4 Developed microservcies using CompletableFuture pipelines with custom Push-Back Policy Developed Spring Rest endpoints which supports Pagination Used docx4j in the development of a service to generate xlsx spreadsheets during runtime. Walmart, Sunnyvale, CA - Senior Java Developer Jul 2016 to Sep 2016 For Oracle designed JPA Entities with One-Many Bidirectional consistency, and developed the corresponding CRUD REST endpoints using Apache CXF Configured Jenkins pipelines and SonarQube rules profiles. Deployed against OpenStack cloud and installed Oracle DB 11 on an Oracle Linux 7 VM April 2016 Workshop: Munich, Germany Java EE In April 2016, Sam participated in Java EE 6/7 best practices workshop where he studied the following: Micro-services architecture and testing, best procatices RESTful multichannel architectures as well as Security in Java EE Profiling using Interceptors to monitor and audit performance Continuous Integration and code quality using Maven, Jenkins, SonarQube and Jacoco Stress-Testing using J-Meter and ab Apache, Integration-Testing and Unit-Testing Apple, Sunnyvale CA - Senior Java Developer Sep 2014 to Mar 2016 Contributed in an NLP framework and used ANTLR4 Designed and developed an ANTLR 4 grammar along with its visitor pattern used by the parser. Optimized the ANTLR parser for performance Developed an API similar to log4j MDC Maintained and expanded a JaxB SAX XML parser Developed an "Entity-Attribute-Value" model resolver CISCO, Milpitas CA - Senior Java EE Developer Apr 2014 to Sep 2014 Configured the LMAX Disruptor framework as a Spring MVC 4.0 managed service, Spring 3.2 threads were deployed. Developed the Comet style and the server push service to trigger the HTTP events Used the Spring Event System to behave as a container managed Observer pattern. Configured LOG4j2 and used GIT for version control. Used the ByteBuffer, CharBuffer and Path APIs of NIO2 The development stack: Tomcat 7.x, JDK 7, Spring 4.x, Jackson 1.9, LOG4J2, LMAX Disruptor Standard and Poor's, NY US - Senior Java EE Developer Dec 2012 to Dec 2013 Designed and developed a RESTful hub application which resolved the Single-Sign-On authentication of the target secured REST services. Deployed EJB 3.1 Session Beans to implement a Timer Service which refreshed the Single-Sign-On cookie on a scheduled basis. Used threads synchronization to synchronize clients for the scheduled job. Used Altova MapForce to produce XSL files which comply with either XSLT 1.0 or XSLT 2.0. Properly handled the data internationalization and localization during the XSLT and the JAXB transformation. Used JAXB to un-marshal a data set acquired via consuming a RESTful service. Reverse-engineered an XSD using the corresponding XML structure, then produced the JAXB classes. Implemented the task to probe a remote file system using the SAMBA client API (JCIFS ). Configured the Eclipse IDE for hot (continuous) deployment on remote Weblogic 11/12 servers. Developed JAXB marshalling and dispatching to Sonic ESB via JMS. Merck Pharmaceutical, Whitehouse Station, NJ - Senior Java Developer, Jun 2011 to Jul 2012 For a stock screening enterprise application, Sam committed the following activities: Participated in the design, and development of the UML class and activity diagrams using Modelio Implemented RESTful clients using Spring RestTemplate where Basic Authentication was resolved using AOP interceptors. Setup GlassFish JNDI entry for the JPA EclipseLink 2.x ORM module to connect to Oracle via JTA, and thus securing container managed transaction Developed an API to provide CRUD services for a DB schema. Developed the persistence layer by applying the JSR-317 JPA 2.0 specifications implemented by EclipseLink 2.x . Spring 3.2 transaction management was used to commit the deliverable. Bank of America, Princeton, NJ - Senior Java Developer, Feb 2010 to Apr 2011 Developed the persistence layer applying the JSR-317 JPA 2.0 specifications implemented by Hibernate. The development stack used to commit the projects included: Eclipse, Spring, Hibernate, SLF4j, Log4j , OtrosLog Viewer deployed to Weblogic 10/11 JC Penny, Dallas, TX - Java Developer, Aug 2008 to Dec 2009 Designed and developed Generic parameterized API which used PECS technique to implement type-safe add and remove methods for a generic collection. Developed threads and used jvisualVM to debug threads deadlocks and synchronization Centrivision Cairo, Egypt - Java developer, May 2005 to Jul 2008 Developed servlets, and SQL queries involving different join types, grouping and aggregate functions Used Linux Bash along with VI editor Keywords: continuous integration continuous deployment business intelligence database information technology California New Jersey New York South Carolina Texas |