Golang Developer Resume
3.00/5 (Submit Your Rating)
Philadelphia, PA
PROFESSIONAL SUMMARY:
- Strong and versatile professional, with over 15 years of technical experience.
- Very good with DevOps, Python/Java development, large scale architectures (microservices, lambda), databases, and other aspects of technology.
- Understand how to use the Yum package manager to install new services
- Understand how to create repo files for yum yum to recognize repo
- Understand how to look at IPTABLES, including setting up filters, allowing connections to different ports, etc
- Understand new features in Centos7 such as Systemd and Firewalld
- Good knowledge of general Unix, including using bash to edit files
- Understand how to use awk and sed to extract and parse data from command files. Also understand other tools such as curl, wget, and jq
- Understand how to look a memory, cpu, network information, and syslogs and analyze the data. Oracle, NoSql, Hadoop, Elasticsearch:
- Very strong knowledge of SQL, with a thorough understanding of both DDL and DMLs
- Good understanding of Hadoop's HDFS, including common HDFS commands used to inspect file system.
- Understand the difference between normalized data models in RDMS vs de - normalized data modeling
- Model de-normalized data to indicate Parent-Child relationships in Elasticearch
- Efficient in Mongo query language as Confidential as ElasticSearch Query DSL
- Very good understanding of Map/Reduce
- Understand how to build out Elasticsearch in a cluster environment, including using data nodes vs. client nodes vs. master nodes.
- Have built out clustered mongodb, which includes Replica Sets.
- Also understand various Hadoop components such as data nodes, named nodes, job trackers, and YARN.
- Good understanding of breaking down packages
- Understand how to reduce code duplication with structs and interfaces
- Good understanding of currency primitives such as goroutines and channels
- Creating microservices with gRPC and protobufs
- Good understanding of various concurrency patterns like fan in/fan out
- Very familiar with depdency management with GoDeps
- Know how to use Makefiles to build Go code
- Understand the net/http package, and understand how to build RESTful services using Gorilla mux
- Good understanding of pointers, and share state in program execution
- Also understand thread management with mutexes and waitgroups.
- Good at testing code via table based testing in Golang
- Good at passing context through code to handle cancellation of requests
- Great understanding of the structure of programming languages including grammars, vocabularies, and syntax
- Good understanding of Object Oriented programming including encapsulation, inheritance, and polymorphism
- Good understanding of coreJava. Including standard SDK,IO libraries, and text manipulation.
- Understand multithreading management, including when to put something inside of a synchronization block using Atomic variables, using Executors, and making applications thread safe
- Understand how to build projects in Maven, including pulling in resources from Maven's repo, building a maven project, and distributing it.
- Understand many design patterns in Java such as Observer Pattern, Builder Pattern, Singleton, etc and their usage
- Familiar with many language features such as Annotations and Generics
- Understand many architectural patterns such as Dependency Injection and Aspect Oriented Programming
- Understand Flask and Django MVC Frameworks
- Good understanding of decorators and how to use them in within a project
- Know how to write code in a more Pythonic way using PEP-8 recommendations
- Good understanding of OO including creating classes, multiple inheritance, and using it with Python's data model
- Understand functional style constructs in Python such as using lambas, the map functions, filters, and reduce
- Familiar with various Python libraries such as simple json, requests, amazon aws boto, and SWF
- Familiar with task management frameworks such as Celery
- Understand duct typing with Python
- Use SOLID principles to guide development
- Understand how to refactor large amounts of code
- Understand best design choices when making code more modular and easy to modify
- Understand test and code coverage so that code is testable within automation framework
- Good understanding functional programming concepts such as maps, filters, reducer, recursion, currying, tail recursion, etc.
- Have built MVC (Model View Controller) applications in multiple languages.
- Understand basics of machine learning including supervised learning (classification, regression and unsupervised learning (k-means clustering).
- Have used Python scikit-learn and Apache’s SparkML for basic machine learning development.
- Strong written/verbal skills: 60+ WPM, strong grammatical proficiency, and excellent vocabulary.
- Great logical and analytical thinker. Make great use of inductive and deductive analysis and able to quickly synthesize information, and correlate data.
EXPERIENCE:
Golang Developer
Confidential, Philadelphia, PA
Responsibilities:
- Building microservices for new Confidential company called MachineQ
- Write coding standards for team, and do pull request and code review for team
- Deploy kubernetes pods to Azure
- Work with front end developers to better understans user interaction
- Work with low level embedded programmers to better understand connectivity of services, gateways, and devices
- Write unit test and ensure a reasonable level of code coverage is reached via Goconvey and gocoverage
- Manage various dependencies via GoPkg and Go Deps
- Work with Actility and Loraserver to utilize APIs to help build internal services and products for our customers
- Get feedback with sales and product management team regarding new features and/or customer concerns
- Build gRPC services along with Swagger to better facilitate clients and consumers of our services
- Use various technology in stack including Redis, RabbitMQ, MQTT, and various htttp servers
Sr. DevOps Engineer
Confidential, Philadelphia, PA
Responsibilities:
- My team is automation team which designs and develop automation of various components in our management stack including Bareos, Zenos, Spacewalk, and Elasticsearch (along with Kibana for analytics)
- Work with Amazon AWS EC2 to bootstrap various servers across multiple availability zones.
- Write cloud init script to bootstrap Puppet functionality when servers are being provisioned.
- Continuously rebuild AMIs based on growing business needs
- Wrote cloud provisioning script in Powershell and Bash
- Puppet Code quality standards are enforced to ensure code is portable and repeatable. Code has to run on Windows 2008, Windows 2012, Amazon Linux, Centos 6, Centos7, and Ubuntu.
- Make sure that all code is compliant with strict security standards enforced by US Government. This includes encrypting sensitive data via eyaml.
- Work with various Puppet architectural patterns including Puppet Control pattern.
- Work with other Puppet components like R10k and Hiera to better decouple code.
- Wrote cloud formation templates to stand up new stacks in AWS
- Build roles and profiles in Puppet code to deliver to development teams
- Work with ensuring Mongo is up to security standards, including turning on auth, and ensuring that the users have the proper RBAC
- Write Python and Go code to automate the process of creating Puppet projects, including setting up modules vs control repos via Python utilities
- Conduct code reviews to make sure that the correct code is properly checked into repo, and is being correctly pushed to higher environments
- Built Jenkins environment for Puppet code to automate code going through CI pipeline. And also to increase deliverability of Puppet code
- Work with Dev Team to decompose monolithic service and migrate to microservices
- Plan, build and architect infrastructure around Docker and Kubernetes
Puppet/Ruby developer
Confidential, Philadelphia, PA
Responsibilities:
- Work with team to facilitate the delivery of Puppet repos across enterprise
- Work with Community Facilitation for internal software, which delivery project blueprint for teams using Puppet automation
- Internal tool is written in Ruby and utilize many libraries like Rake, Thor, R10k API, and Puppet bindings
- Participate in code reviews with other teams members
- Look at repo issue tracker and provide and support for people planning on using our services enterprise wide
- Some task include programmatically transforming Puppetfile to .fixtures via Ruby code, debugging issues with Vagrant and our project code, and enforcing Jenkinsfile is in project via Ruby and pre-commit hooks
- Work with Terraform and HEAT to provision new VMs inside of Openstack
- Work with Puppet Engineering teams, and CI/CD teams to further automate release cycles
Sr. Site Reliability Engineer
Confidential, Philadelphia, PA
Responsibilities:
- Project to migrate Python based notification application from NLETS colo to AWS
- Designed cloudformation templates for various environments that is used in application
- Worked with issues in troubleshooting security groups, ELB redirects, and other issues.
- Built definitions for network app would be using including defining VPCs, VPN, Route53 recordsets, ec2 instances, subnets, and routes.
- Used Python’s troposphere library help generate CF templates. As Confidential as wrote unit test to help create more robust CF templates
- Used Python boto library to create abstractions which made standing up CF much easier, and also used it to make changesets more configurable.
- Built and maintained custom Gitlab server, including maintain users, created a branch strategy for environments, and set up SDLC for engineers to create merge request
- Built out configurations and values using Saltstack and jinja2. Including managing and templatizing Django and Apache configurations
- Created ELB definitions via Saltstack
- Refactor Nagios code to user Saltstack, including building the proper framework with Saltstack pillars
- Automated scripts to cut VPN certs for users who will be signing into new AWS environment
- Scoped out and defined CI pipeline for our environment. Including setting up Jenkin jobs, creating integrated testing with ServerSpec and Test-Kitchen.
Senior Development Support Engineer
Confidential, Philadelphia, PA
Responsibilities:
- Build support tools for our support team, automate job task, create work flows in preparation to scale with customer volume.
- Write scripts in Python to fix production issues
- Work with development teams for enhancements for things such as logging, performance increases, and better supportability.
- Work with tools like Dynatrace and Splunk to build dashboards and do data analysis on incidents, and other issues.
- Setup code reviews for code written in Python and Java in crucible before it is put asfix into production.
- Develop AWS SWF workflows to automate break fix task using Python and the Boto framework.
- Build out support servers to host tools, including installing Python and Java JVMs, installing Jetty
- Use Flask to build front end tools for other teams to do better self service when triaging issues
- Setup queues in SQS and topics in SNS part of the Amazon AWS toolkit.
- Consume RESTful webservices to create tools part of our main application, which better help with support duties. We use the Python requests library to consume the APIs
- Built RESTFUL APIs using Python Flask Restful extension, so it can be better ported and used by other application teams
- Created front end self-service tools using Flask combined with AngularJS.
- Inject JSON into RESTful webservices to fix request
- Help developers in break fixing issues that are in backlog
- Setup code reviews for myself for other developers to review code in Crucible.
- Built small MongoDB instance to use as a utility database, which serve as a data store for various tools, and other data concerning our application (nodes, version of software, device timeline, etc)
- Scaled out ElasticSearch datastore to be able to search dumped data from Cassandra DB.
- Built search application in Scala Play which allows for searching team's dataset
- Built Cassandra to Elasticsearch ETL process which kept both in sync
Senior Production Support Engineer
Confidential, San Jose, California
Responsibilities:
- Work with enterprise mobile ad publishing platform(iAd)
- Have to understand Hadoop in regards to the ETL process, monitor Oracle batch jobs, look at the conditions on memcached to analyze breakage in process flow.
- Analyze problems, and work with development for solutions, to come up with best practice support methodology
- Created Run-books for offshore team, so that the team could be effectively migrated over.
- Give various technical presentation about the complex application architecture.
- Take business user issues from front end written in GWT, and debug issues. Either through Safari development tool or Firebug.
- Automate several repetitive task via scripts
- Work with development to ensure that they have a supportable model.
- Investigated issues with reporting including understanding breakage in theETL process
- Analyzed different services used in portal application, without the aid of support tool.
- Built out support tools to ensure that problems were easily identifiable, and to ensure offshore response time was quick.
- Often analyzed logs to induce workflow of events to better understand why the problem was occurring.
- Sat with stakeholders during production issues to have user reproduce problem for my analysis.
- Reverse engineered majority of environment with given tools, to better improve support methodology
- Wrote complex queries in SQL based on application data model, and then automated it through scripts via Python
- Created support and automation tool with Django. This allowed many manual task to be done via web interface
- Set up easier access environment with bash, including setting up .bash profile on local machine and local tunnel
DevOps Engineer
Confidential, Seattle, Washington
Responsibilities:
- Work with legacy SOA app that did trillions of transactions a month
- Wrote SOAP injection scripts in Perl to test out new adapters that were slated for new release
- Participated in writing documentation and instructions for deployments, and trained level 1 teams and admins to execute them
- Troubleshot high impact issues that would impact clients from getting to backend systems, including mitigation steps like redirecting traffic to different nodes
- Helped team build systems that kept track of released in SQL database
- Helped refactor Nagios configurations, and broke monolith files into various configs. Also templated configs inside of CFEngine, and move them into subversion
- Was instrumental and migrating Solaris nodes to x86 nodes with our architecture
- Worked with developers to help find issues with message bus (Tibco EMS)
- Worked with architecture team to break out monolithic JVM into modular JVMs so that application could scale horizontally
- Worked with client and backend teams to help with unboarding them onto our platform
- Due to this being a large scale Java application, it was common to take stack trace, heap dumps, and monitor JVM performance and health. This included using tools like Wiley Introscope, jstack, VisualVM, and jmap