Sr. Golang Developer Resume
Minneapolis, MN
SUMMARY
- 8 years of experience in Software Development Life Cycle including requirement analysis, development, integration, testing, and deployment of web applications using C++, Golang, and Java technologies.
- 4+ years of experience in developing applications using Golang technologies including Goroutine, Channels, Gokit, ORM GORM, Gorilla Mux, go - hystrix, godoc, ginkgo, GRPC, GoLand, GoCD
- Hands on experience in developing frontend web applications using HTML5, CSS, JavaScript, jQuery, Angular, AJAX, and JSON.
- Experienced with JSON based RESTful web services, and XML based SOAP web services.
- Experienced in implementing applications in SOA architecture, Monolithic applications, Microservices architecture, Hybrid Microservices Architecture, Lambda Architecture.
- Hands on experience in using Maps, Structs, Slices, Interfaces, Methods, Marshal, Un-marshal, Goroutines, bidirectional channels & directional channels.
- Experience adding PL/SQL Documentation for the existing SQL which were written in Erlang/OTP.
- Experience in writing SQL, PL/SQL Queries, Stored Procedures and Triggers to perform the operations in Oracle and SQL Server DB.
- Experience developing various web applications using Clojure Script for frontend and J2EE, Servlets, Elixir, Erlang, Clojure, for backend applications.
- Experience in developing ODI interfaces, packages, procedures, models, data stores, & scenarios as well as ODI Knowledge Modules like LKM, IKM, JKM and CKM.
- Experience with Goroutine to start with design and get to deployable production systems including scale monitoring and instrumentation platform.
- Experience with AWS cloud resources like EC2 instances, S3 buckets, Auto Scaling, IAM, Elastic Load Balancers (ELB) and Relational Database Services (RDS).
- Experience in working with Jenkins to integrate Unit test and build Docker images.
- Experience working with GRPC to connect backend API's.
- Experience in creating test packages to perform automation testing of Go packages using Ginkgo and Go-mega framework.
- Proficient in Spring Modules such as Spring Core, Spring MVC, Dependency Injection, Spring AOP, Spring Security, Spring JDBC, Spring ORM, Spring DAO.
- Skilled in Core Java which includes Multi-Threading, Thread lifecycle methods, Exceptional handling, Serialization, I/O Streams, Collections, RMI and OOPS.
TECHNICAL SKILLS
Languages: C++, Golang, SQL, Java, STL, Shell Scripting
Databases: Oracle, SQL Server, MySQL, PostgreSQL, MongoDB
Web Technologies: HTML5, CSS3, AJAX, JSON, Angular, Bootstrap, Typescript, jQuery
Containers: Docker, Kubernetes, Docker Swarm, Mesos
Communication: Kafka, GRPC, REST, RabbitMQ
Auth. Protocols: OpenID Connect (JWT), SAML, OAuth, OpenID
Network Protocols: DNS, Router, Load Balancer, Subnetting, VPN, Network ACLs, TCP/IP, HTTP/HTTPS, SSH, FTP, SCP, RSYNC, RMI/IIOP.
PROFESSIONAL EXPERIENCE
Confidential, Minneapolis, MN
Sr. Golang Developer
Responsibilities:
- Participated in all stages of the project life cycle, mainly design, implementation testing, deployment, and enhancement of the application
- Developed Class diagrams in UML showing generalization and other relationships, sequence diagram describing the interaction of objects over time.
- Migrated legacy applications to OpenShift environment and developed Microservices from monolithic application.
- Created responsive web pages based on business requirements using Bootstrap and styling using CSS3 for enhancing the look and feel of webpages.
- Used jQuery and AJAX to send the request to server side and receive the response.
- Created internal diagnostic tools using Golang and Angular to assist with customer issues.
- Built an enterprise-wide DNS historical data trending analysis tool in Golang.
- Worked on setting up scalability for application servers using Command Line Interface and administering DNS system in AWS.
- Increased visibility and user experience of distributed resource manager using YAWS, Erlang and AJAX to create an asynchronous web portal.
- Developed a Process Pool Management system in OTP for controlling Erlang process load on systems using concurrent threads.
- Responsible for building a Command line tool to interact with RESTful API using in Golang.
- Developed Golang Microservices and converted the user stories into backend logic in service classes.
- Used Microservices to communicate using synchronous protocols HTTP and REST.
- Contributed source code in Golang to developing an automation framework for AWS CFN.
- Developed materialized views for Report generation based on remote data and data replication in distributed environments using PL/SQL.
- Created dashboards on Grafana and Kibana to monitor application metrics for health, liveliness, and performances.
- Worked on integrated GO-Hystrix dashboard in order to monitor spring micro-services using Circuit Breaker.
- Developed Kafka consumers & producers to handle events asynchronously.
- Improved test automation efficiency and execution through development of a distributed resource management system written in Erlang.
- Involved in code reviews & verification to ensure code breakage & memory leakages.
Confidential, Kansas City, MO
Golang Developer
Responsibilities:
- Involved in Daily Scrum meetings, Sprint planning and estimation of the tasks for the user stories with Retrospectives and presenting Demo at end of the Sprint.
- Used Rational Rose for Use-case diagrams, Activity flow diagrams, Class diagrams and Object diagrams in the design phase.
- Working on the development of a cloud based multi-media applications streaming platform using C++ and Golang under Linux environment.
- Wrote AngularJS controllers, views, and services for new website features.
- Developed a Golang app using GO-echarts, GoNum and Gota to improve performance.
- Created HTML navigation menu that is role-based menu items changes dynamically, derived from the database in the form of XML.
- Used Angular 2 as framework to create a Single Page Application which can bind data to specific views and synchronize data with server.
- Used Bootstrap for separating the database files for building an interface.
- Developed RTR Data Processing services in Golang to process data at real time.
- Responsible for designing and developing Enterprise applications using Golang following Microservice architecture and REST APIs.
- Used GO to provide an encapsulation that allows types to be visible including their fields and methods.
- Created Custom Form for environment verification automation program using the concept of advance PL/SQL to verify new database instance.
- Database development required creation of new tables, PL/SQL stored procedures, functions, views, indexes and constraints, triggers and required SQL tuning to reduce the response time in the application.
- Implemented monitoring & alerting of corporate servers using AWS Cloud Watch.
- Develop cloud formation scripts to build On Demand EC2 instance formation.
- Managed Docker deployment pipeline for custom app images in cloud using Jenkins.
- Implemented Maven script to create JAR, WAR, EAR files and deployed the entire project on the WebLogic Application Server.
- Integrated JMeter Test cases into Maven and monitored the error logs using Log4J to fix the problems. Developed JUnit test cases for unit test of all developed modules.
- Used GO to run the Docker Command Line Interface tools.
- Deployed Core OS Kubernetes Clusters to manage Docker containers in the production environment with light weight Docker Images as base files.
- Worked on C++ unit test framework to test the newly developed features and fixed the issues using gdb debugging tool.
- Developed reporting application using node.js, jQuery/datatables, MongoDB, and ElasticSearch.
- Developed new permissions model for provisioning application. Using node.js, vue.js, postgres, docker etc.
Confidential, Buffalo, NY
Golang Developer
Responsibilities:
- Involved in the SDLC with Sprint planning sessions and coordinated with Business Analysts and end users of the system.
- Developed Class diagrams in UML showing generalization and other relationships, sequence diagram describing the interaction of objects over time.
- Used Golang to create backend servers.
- Responsible for creating efficient design & developing User Interaction screens using HTML5, CSS3, TypeScript, AJAX, JSON, Bootstrap, Angular 2.
- Created Typescript reusable components and services to consume REST API's using Component-based architecture provided by Angular 2.
- Created HTML navigation menu that is role-based menu items changes dynamically, derived from the database in the form of XML.
- Developed GO API with the revel framework with Ginkgo development at the forefront driving the Test-Driven Development process.
- Architecting the Infrastructure on Google cloud platform using various GCP Services.
- Implemented new projects builds framework using Jenkins & Maven as build framework
- Developed Golang based web services on AWS and Google App Engine.
- Created and managed a Docker deployment pipeline for custom application images in the cloud using Jenkins.
- Implemented Container orchestration systems with Docker Swarm and Kubernetes
- Developed debugged Golang plugins for GoCD pipelines.
- Created Custom Form for environment verification automation program using the concept of advance PL/SQL to verify new database instance.
- Used Bootstrap for separating the database files for building an interface.
- Implemented monitoring & alerting of corporate servers using AWS Cloud Watch.
- Develop cloud formation scripts to build On Demand EC2 instance formation.
- Developed a Process Pool Management system in OTP for controlling Erlang process load on systems using concurrent threads.
- Developed Golang software to handle concurrent data collection and processing with goroutines and channels for a Wi-Fi device.
- Developed backup and recovery engine for VM backup/recovery using VMware vSphere APIs, Golang and RabbitMQ Message bus.
- Enhanced functional and performance related bugs in core product written in Golang.
Confidential, Austin, TX
C++/Golang Developer
Responsibilities:
- Involved in analysis, development, implementation and testing phases of SDLC and used Agile methodology (SCRUM) for developing application.
- Transformed existing monolithic app functionalities to Microservices to increase the reliability and availability of these apps and reduce associated downtimes.
- Implemented drag-and drop functions to build strategies in C++/QT.
- Used Smart pointers from the C++ boost libraries to manage memory allocation and reallocation of C++ objects.
- Inline pre-trade risk management based on initial, maintenance margin and real-time mark-to-market.
- Created JKS file to interact with third party application using certificate and public key during SSO implementation.
- Implemented code to generate SAML response to interact with third party application.
- Wrote AngularJS controllers, views, and services for new website features.
- Used Hibernate ORM framework integrated with Spring framework for data persistence and transaction management.
- Created a Goroutine to automatically upgrade appliance software.
- Enhanced the infrastructure and performance of the interactive and programmatic management interfaces with CLI and RESTful API.
- Used STL extensively to store data on Order history, accounts, securities for fast retrieval/update.
- Developed Application that would allow transfer of log files from Linux computer to Linux server using C++ multithreading environment.
- Responsible for creating tables in development schema and wrote Oracle packages, procedures and functions in PL/SQL.
- Deployed the applications in AWS as EC2 instances and created snapshots for the data that must be stored in AWS S3.
- Used JIRA to create and track the defects during QA phase of the project.
- Managed Docker deployment pipeline for custom application images using Jenkins.
- Used Go to provide a form of encapsulation that allow types, including their fields and methods, to be visible or invisible.
- Wrote a prototype on Golang to improve performance of report generator.
Confidential, Boston, MA
C++ Developer
Responsibilities:
- Facilitated Sprint ceremonies like Planning, Review, Retrospective, Backlog refinement and Daily scrum to create the transparency with the product owner.
- Work as a product client team developer on a variety of platforms including Windows, UNIX and Linux distribution using C/C++.
- Used UML for designing of application diagram like use case diagrams, block diagram, high level diagram and low-level diagrams.
- Reading existing source code in C to determine current programming logic.
- Integration between QML and C++.
- Creating custom item and exposing to QML.
- Used C++ STL containers, algorithms in the application.
- Created a new Win32 application to present the user-interface for maintaining process settings as well as seeing viewing run status of the client/server process.
- Created conforming XML parser and wrote ODBC code to store data into database.
- Documented the newly developed/existing features to improve the product usage at system expert level.
- Worked on Alarm application using distributed systems concepts which notifies the user when there is a change in the cluster configuration.
- Developed various tables required for the project in Oracle database and used Stored Procedures and Triggers in the application.
- Coordination with DISA Networking and DISA/NSA PKI teams
- Administered SSL certification deployments and PKI infrastructure.
- Worked on C++ unit test framework to test the newly developed features and fixed the issues using gdb debugging tool.
- Wrote a program in C, which parses computer logs and then displays the summary in automatically generated HTML files.
- Used Ant scripts to build and deployed on WebSphere Application Server.
- Monitored the error logs using Log4j and fixed the problems.
- Developed the different components of application such as JSPs, Servlets and EJB’s using WebSphere Studio Application Developer.
- Used SVN as Version Control System for the application.
- Documented the software architecture documentation to streamline the maintenance.
- Review the work-product created by the offshore team before delivery to the client