Lead Java Developer / Architect Resume
SUMMARY
- Around 11 years of experience developing distributed and scalable web applications for teh public and private sector integrating front and back - end technologies wifin industries such as Entertainment, Education, Security and Telecommunications.
- Extensive expertise wif programming languages such as Java (8+ years), JavaScript (9+ years), PHP(5+ years) and Python (3+ years).
- Experience wif Java 8 (6+ years) and Java 11 (2+ years), very good wif features like lambda expressions, data structures and security. Strong core skills on multi-threading, exception handling, data collections, and garbage collection concepts.
- Proficient implementing front-end technologies like HTML5, CSS, JavaScript, JQuery, React v.16 (4+ years), Angular v.7 (2+ years) and Redux v.4.
- Experienced using back-end frameworks for web application and API creation wif technologies such as Spring MVC, Spring Boot v.1/2, Spring Cloud (Dalston/Hoxton/Greenwich/Ilford) and ExpressJS.
- Strong 5+ years of experience as Java Architect working closely wif stakeholders, gathering requirements, user stories and building economic and technical offers for Government bids. Extensive experience analyzing problem areas, designing architectures, and proposing technology stacks for projects.
- Expertise building server-side,event-driven applications using Java and NodeJS run-time environments.
- Usage of Maven v.3.5, Gradle v.6.0, NPM v.6/7 and Bower as build tools for dependency injection and managing applications.
- Deep understanding of web protocols and technologies like HTTP, HTTPS (including security), AJAX, headers, authorization, authentication, cookies, and sessions.
- Experience in Web/Proxy Servers such Nginx and Apache for deploying and configuring web applications.
- 8+ years of experience using data-exchange formats and markup languages like XML and JSON.
- Extensive experience in developing RESTful web services wif JSON as a data exchange format and GraphQL to execute specific queries to return custom data sets.
- Proficient creating and deploying API Gateways and Microservices wif Spring Cloud and performing load balancing and client discovery at run time wif Ribbon, Netflix Zuul and Netflix Eureka for around 5 years.
- Proficient using cloud technologies such as Amazon Web Services (5+ years) and Google Cloud Platform.
- Hands-on experience integrating serverless systems (front-ends stored on S3 buckets wif back-end processing on AWS Lambda and GCP Functions).
- Experienced isolating performance errors and mitigating cascading failure to enable resilience in complex distributed systems and microservice applications dat use data streams in which failure is inevitable using Hystrix v.1.5 and Resilience4j v.1.3 circuit breakers.
- Oversight and optimization of Continuous Integration (CI/CD) pipelines through all stages of software delivery (Development, Testing/Staging and Production) using a wide variety of tools such as AWS CodeCommit, AWS CodeBuild, AWS CloudFormation, and Jenkins.
- Experience working wif jQuery for building interactive web components and views.
- Worked wif GIT and GitHub for versioning control and Zoho Desk for bug management.
- Expertise in Agile Methodologies and Software Development Life Cycle (SDLC) from Analysis, Design, Development, Testing, Implementation, Production and Support to Change Management of business applications, even used methodologies like SCRUM, SAFe, Waterfall and Kanban; Involved in all teh phases of SDLC from requirement gathering, designing, coding and documentation to implementation.
- Proficient in relational and non-relational DB concepts involving queries, stored procedures, triggers, and functions using MySQL, SQL Server, Amazon DynamoDB, and MongoDB.
- Worked wif MVC architectures to allow controllers to drive flow and logic of applications in modular and maintainable ways.
- Skillful working wif teh Document Object Model (DOM) to manage teh state of components wif JavaScript and HTML.
- 9+ years using Object Oriented design, Design patterns and UML for business process modeling and reengineering.
- Experience in consuming REST and SOAP services using Postman.
- Hands-on experience implementing API Gateways to route, proxy, filter, and forward requests to microservices endpoints using Spring Cloud and HTTPie.
- Implemented Publisher/Subscriber architectures wif AWS SNS and Apache Kafka stream processing systems to enable asynchronous service-to-service communication and event-driven serverless and microservice architectures.
- Experience replicating server development, testing and production environments and architectures using cluster and image containerization technologies such as Docker, Docker Compose, Swarm and Kubernetes for seamless application delivery and deployment.
- Used AWS SQS and GCP CloudTasks to implement process queues in worker servers.
- Extensive experience on UNIX and Linux distributions, developed shell scripts and configured CRON jobs.
- Best practices on scripting, coding conventions and security; use case testing of code in tools such as Selenium, JUnit and Mockito.
TECHNICAL SKILLS
Front End Technologies: HTML5, JavaScript, Angular v.7/8, React v.16, jQuery, CSS, Bootstrap v.4, AJAXBack End Technologies Java v.8/11, PHP, .NET, NodeJS v.6-16, Python, Spring Boot v.1/2, ExpressJS v.4
IT Security tools: Wireshark, Chrome DevTools
IT Security: DarkTrace, Fire Eye, LogRythm, Splunk, Snort
Cloud Technologies: AWS, GCP, Spring Cloud (Dalston/Hoxton/Greenwich/Ilford), Apache Kafka v.1/2
CI/CD and DevOps: Docker v.19, Kubernetes v.1, Jenkins, Maven v.3.5, AWS CodeCommit, AWS CodeBuild, AWS CloudFormation
Databases: SQL Server, MySQL, MongoDB, AWS DynamoDB, AWS RDS, AWS Aurora
Information: JSON, XML
Application Servers: Tomcat, Apache, Nginx
Other: Project, Visio, Photoshop, Illustrator, After TEMPEffects
Versioning: GIT v.2, GitHub v.1.10, AWS CodeCommit
Documentation: UML
Methodology: Waterfall, Agile SCRUM, Kanban
IDEs: Eclipse, NetBeans, IntelliJ, VS Code, Atom.
O.S.: Unix, Linux, Windows 10, OSX, Ubuntu v.14/16/18 LTS
PROFESSIONAL EXPERIENCE
Confidential
Lead Java Developer / Architect
Responsibilities:
- Led a team of 8 developers, responsible for role assignations, task scheduling, architecture design, mentoring and definition of technology stack.
- Implemented front-end in JavaScript and React for efficient reuse of components and state management of teh application views.
- Used Redux as a state container to ease management and optimize behavior of all teh front-end components.
- Designed architecture based on microservices wif Java 11, Spring Boot and Spring Cloud (Greenwich), containerized and deployed tech stack on different auto scalable zones wif isolated but integrated functionality.
- Directed flow of application using MVC model. Different views made requests to an app controller which routed teh logic to teh model layer which processed functions and further interacted wif teh RDBMS.
- Different modules included Security, Prevention (BI), Messaging (Web Sockets), Monitoring (GPS) and Push Notifications (SNS).
- Used Web Sockets to enable chat communication between students, teachers and parents. dis created bidirectional communication between end points.
- Implemented Publisher/Subscriber architecture wif AWS SNS to enable asynchronous and event-driven service-to-service communication. Email and SMS push notifications were also possible coz of dis service. dis stream filtered and forwarded requests to their specific microservice (Security, Prevention (BI), Messaging (Web Sockets), Monitoring (GPS) and Push Notifications) and back-end processing functions performed by AWS Lambda.
- Implemented versioning control and code commits wif AWS CodeCommit.
- Used AWS CodeBuild for DevOps, to back roll changes and move new code versions from testing to production.
- Ran automated tests wif AWS CodeBuild, AWS CodeDeploy, AWS CodePipeline and Selenium. AWS Lambda was used to generate build test reports and send them to QA engineers via SES email; 30% faster delivery of increments was achieved.
- Secured availability and redundancy backup of information on cloud premises using AWS RDS (MySQL).
- Use of Docker Compose to deploy development and testing environments; dis eased teh replication of teh technology stack on different servers and saved time by running all teh images and containers of dependencies used by teh application on its development and testing stage wif a single script.
Environment: Java 11, Servlets, MySQL, Spring, Spring Boot, JDBC, Apache Tomcat, jQuery, JavaScript, AJAX, React, Redux, AWS SNS, REST, Bootstrap, Web Sockets, DevOps, AWS CodeCommit, AWS CodeBuild, AWS CodeDeploy, AWS CodePipeline, Selenium, AWS Lambda, AWS SES, AWS RDS.
Confidential
Lead Java Developer / Architect
Responsibilities:
- Led a team of 3 developers, responsible for role assignations, task scheduling, architecture design, mentoring and definition of technology stack.
- Integrated React front-end wif Java 8 back-end using RESTful and CORS enabled service to allow and protect HTTP inbound and outbound requests on distributed servers. Two main web microservices were created, one to manage coupons and teh other was in charge of validating and exchanging coupons.
- Used React to support a “one page” navigation design in which intuitive interactivity was prioritized and component state was updated wifout reloading teh DOM. dis allowed data-grids to be updated wif new info whenever records were added, deleted or updated.
- Deployed API Gateway wif Spring Cloud to load-balance traffic between endpoints and registered them at run time wif Netflix Eureka client discovery service to perform microservices health check. Used Hystrix to provide latency and fault tolerance between teh instances, dis circuit-breaker isolated errors and stopped cascading failure whenever a microservice went down.
- Implemented Redux as a state container to ease management and optimize behavior of all teh front-end components.
- Migrated existing coupon information and data to a new MYSQL database scheme.
- Used Spring JDBC, Spring Data JPA, HikariCP and Hibernate to link Java 8 to MYSQL for generating, querying, modifying and deleting coupons. Wif HikariCP data-source, lightning-fast connection and statement cycle thresholds were achieved compared to older Tomcat implementations they had on a previous demo.
- Wif Hibernate and JPA, data persistence was done through Data Access Objects (DAO) to isolate teh application from teh database layer for easier system maintenance and faster development. Delivery time was shortened by 15% and performance was well kept wif record pagination and batching, even though teh memory footprint of teh system was higher due to object creation and fetching per query.
- Implemented versioning control and code commits wif GIT and GitHub.
- Used Jenkins to orchestrate CI/CD pipeline. Built code wif Maven, back rolled changes and moved new code versions from testing to production via Ansible. Continuous monitoring was done wif Nagios.
- Ran automated and use case testing wif JUnit.
- Draw UML process modeling to design teh flow of processes wifin teh application.
- Utilized ERM model to design data schema and relationship.
Environment: Java 8, Servlets, Spring, Spring Boot, Spring Cloud, Netflix Eureka, Netflix Hystrix, Apache Tomcat, jQuery, JavaScript, AJAX, React, Redux, REST, Bootstrap, CORS, JDBC, Spring Data JPA, HikariCP, Hibernate ORM, DAO, MySQL, Stored Procedures, GIT, GitHub, Maven, Ansible, Nagios, Selenium
Confidential
Lead JavaScript Developer & Network Engineer
Responsibilities:
- Led a team of 5 engineers and developers, responsible for role assignations, task scheduling, architecture design, mentoring and definition of technology stack.
- Designed new network topology and architecture, aimed for channel redundancy using two ISR Gateways and distribution layer switching interconnection to avoid failures and guarantee 99% up-time SLAs.
- Implemented Cisco Finesse REST APIs to support teh Finesse desktop, providing agent desktop functionality, such as call control and state changes of incoming emergency calls.
- Used Cisco Finesse JavaScript API to allow clients to make teh Cisco Finesse API requests and use Cisco Finesse events by using teh JavaScript functions dat are provided by dis module. dis service layer established a notification connection dat was shared between all teh endpoints and teh desktop for its eventing needs. It used events for client subscriptions, call duration and information tracking as well as API requests construction.
- Implemented network security wif Cisco ASA firewall and Firepower services.
- Post-service ticketing system for incidents and 24/7 support was implemented wif Cisco Webex. Support was provided throughout teh length of teh contract (2 years).
Environment: JavaScript, Cisco Finesse REST APIs, Cisco Finesse JavaScript API, Cisco Finesse, Routing, Switching, Cisco Webex, Cisco Firepower
Confidential
NodeJS Developer
Responsibilities:
- Participated in teh design and planning of teh technology stack used in teh application. Used JavaScript and NodeJS for teh back-end processing of teh web management version.
- Teh mobile version had image upload functionality into a Google Cloud Storage bucket. dis functionality served as support evidence for reports made by teh app users.
- Implemented GCP Cloud Functions which methods were triggered whenever an image was uploaded into a GCS bucket. Teh function processed and gave format to teh image for appropriate storage and thumb-image creation; a destination GCS bucket was used to output teh results from which teh application read.
- Google Cloud Vision was used to filter and classify uploaded violence and adult content. Images wif extremely raw or offensive content were further processed and blurred.
- NodeJS was used for teh entry point of teh GCP Function and for its deployment.
Environment: JavaScript, NodeJS, GCP, GCP Functions, GCS buckets, ExpressJS, GCP Vision, Sharp, fs-extra, ImageMagick
Confidential
NodeJS Developer
Responsibilities:
- Collaborated wif teh UI/UX team to design an interactive dashboard built on JavaScript, Angular, Bootstrap and Highcharts API.
- Used Angular to implement controllers dat managed teh state of HTML components and their children as well as teh interactions between teh interface views and teh scope of teh application. dis way certain elements of teh DOM were able to call functions on teh scope and refreshed their state to allow better interactivity wif charts and graphs on teh main dashboard.
- Designed a distributed client-server RESTful architecture and connected teh front-end wif a NodeJS back-end using pure JavaScript, ExpressJS and CORS middleware to allow cross-origin calls and protect incoming HTTP requests.
- Design most complex queries and schema using joins, stored procedures, triggers, indexes, keys and other important DB Concepts.
- Used ExpressJS extended MySQL plugin to query teh database and return datasets as JSON objects for further processing and display as charts (Highcharts API). and datagrids (Bootgrid API).
- Used MYSQL Stored Procedures to execute query operations and insertion of rows into teh database.
- Implemented bcrypt and Blowfish to cipher and secure password storage as hashes on teh users datatable.
- GraphQL was used to query and extract key-value pairs from a ‘users’ data-set. Information was stored as plain JSON objects on a MongoDB non-relational database. dis data was used to associate users wif attributes such as colors and avatars for display on teh platform chat. Teh stored urls of teh avatars in teh JSON objects pointed towards files stored on an AWS S3 bucket.
- Utilized web sockets and stacks to display connected users and enable chat communication between them; Every time a user logged in, his/her information was added to a stack data structure and popped when logging off.
- Used npm as a package and dependency manager to install all teh libraries dat were needed by teh system faster and seamlessly as well as to build code tests.
- Implemented session handling, session variables and cookies wif teh express-session and websockets.io framework.
- Apache Kafka was implemented as a stream processing service to enable event-driven functionality; whenever a specific bank account transaction history report was generated, a trigger was sent to a messaging service which in turn delivered it to user email accounts.
- Enabled data export of tables and charts in .xls and .csv formats using node-excel-export and JSON.
- Implemented prototyped architectures and dev environments for testing and deployment wif Docker. Teh technology and architecture stack were containerized and replicated on different servers for development, staging and production; these containers were also deployed across teh different microservice servers for time saving set up.
- Docker containers were grouped into Kubernetes pods for automated running and orchestration of teh server cluster; thought to make room for future microservices implementation and seamless escalation.
- Used Agile software development wif SCRUM methodology. Played part on teh SCRUM team.
Environment: NodeJS, REST, JavaScript, Angular, Bootstrap, GraphQL, MongoDB, Highcharts API, HTTP, joins, stored procedures, triggers, indexes, keys, ExpressJS, MySQL, JSON, Bootgrid API, bcrypt, Blowfish, web sockets, stacks, npm, session handling, session variables, cookies, node-excel-export, SCRUM, SDLC, CI/CD, Docker, AWS S3
Confidential
Network Engineer
Responsibilities:
- Got proficient manipulating media through advanced scripting and CLIs on XCode and UNIX operative systems such as Linux and Apple OS. Used different Linux distributions like Red Hat and Ubuntu to move media through teh whole operation chain from recording and processing to massive and live diffusion.
- Heavy network configuration via Cisco CLI for layer 3 switches, RAIDS, firewalls, LUNs, VLANs and post-production software such as Autodesk Flame and Apple Final Cut.
- Provided technical support at teh Security Operations Center to teh whole XSAN infrastructure which stored and processed 90% of all teh content teh production filmed.
- Redesigned and migrated teh XSAN network to an all-new generation system (X2SAN). About 80% of theTV productions renewed their contracts wif dis upgrade.
- Renewed teh XSAN network by adding new fiber-channel switches, RAID storages and migrating 70% of all-time stored data obtaining a system speed performance improvement of about 40%.
Environment: CLI, XCode, UNIX, Linux, Apple OS, Red Hat, Ubuntu, Switches, RAIDS, firewalls, LUNs, VLANs, Cisco OS, Autodesk Flame and Apple Final Cut, SANs
Confidential
Jr Java and .NET Developer
Responsibilities:
- Reduced theft of worker machines by 30% by installing GPS tracking devices and monitoring them on custom made software on a Security Operations Center.
- Created new geofences through coordinates mapping and programmed them into teh system so teh new fences could be used by teh tracking system.
- Designed new dashboards and business intelligence modules wif Java and .NET to process and analyze data to obtain new metrics.
- Worked along wif teh UI/UX team to design teh front-end of teh application dashboards.
- Used SQL Server to gather, process and insert data into on-premises RAID storage.
- Implemented solution by integrating a local Client Server standalone architecture.
Environment: CLI, UNIX, Linux, Ubuntu, RAIDS, firewalls, Java, .NET, Visual Studio, SQL Server