Job Reference
1191643
Location
Wilmington, Delaware, United States
Industry
IT - Software Engineering
Function
IT & Telecoms
Job Type
Contract
Date Added
July 18, 2023
Airswift is seeking a
Senior Golang Developer for a fully remote, full-time permanent position with an international software development and IT outsourcing company. This position requires working with a multinational team, collaborating on software development projects.
Responsibilities
- Back-end development to meet customer’s business needs and implement components according to modern software development environment (cloud-based platforms, microservice architecture, etc.);
- Taking part in the decision-making process in design application architecture, solution development, architecture and code review;
- Develop and review feature design documents and provide inputs/update to specifications for the solution;
- Design and implement a set of various types of tests (unit, integration, functional, etc);
- Proactive position in solution development, processes improvements;
- Working in an international distributed team in an Agile environment;
- Communicate with PMs, engineers, Architects, QA and other colleagues and stakeholders;
- Delivering the product roadmap and plannings;
- To use high coding standards, software best practices and write highly testable, automatable and performant code over the whole SDLC.
Requirements:
- Experience in software development for more than 5 years;
- Excellent knowledge in Computer Science, Computing Theory:
- Paradigm & Principles (OOP, SOLID, DDD, TDD, BDD);
- Database theory (RDBMS, NoSQL);
- Code testing practices;
- Algorithms;
- Data structures;
- Architectural, Enterprise and Design Patterns;
- Microservices architecture, SOA;
- Autoscaling, monitoring, alerting approaches;
- Security patterns, Reverse engineering resistance, Common attacks types (OWASP);
- Understanding of network interactions:
- protocols;
- conventions (e.g. REST, RPC);
- authentication and authorization flows;
- standards and practices (e.g. oAuth, JWT);
- Excellent knowledge and experience in Golang (more than 5 years);
- Practical commercial experience with:
- Microservices architecture;
- REST API development;
- Web application frameworks, Testing frameworks, ORM;
- RDBMS (e.g MySQL, PostgreSQL, MS SQL);
- Key-value storages (e.g. Redis, Memcached);
- Messaging systems (e.g. RabbitMQ, Apache Kafka, Active MQ, Google Pub/Sub);
- Version control systems (GIT);
- Cloud computing platforms (Google Cloud Platform);
- Integration with 3rd party solutions;
- Docker;
- Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins, TeamCity, Bamboo);
- Builders;
- Experience with:
- Troubleshooting, profiling and debugging applications;
- Creation software architecture and design of complex applications, platforms, microservices solutions;
- Agile software processes and technologies;
- Code Review process;
- Refactoring process;
- Fluent or Upper-Intermediate English;
You can:
- Perform a broad range of complex technical or professional activities, in a variety of contexts. Investigate, define, and resolve complex issues.
- Able to work in distributed cross-functional teams effectively.
- Influence customers and team members on the project level.
- May supervise others or make decisions which impact the work assigned to individuals or phases of projects.
- Plan, schedule, and monitor own work (and of others where applicable) competently.
- Have learning agility (readiness for challenge and being open to change)
Desirable
- Experience in software development for more than 8 years;
- Certifications on:
- Cloud computing platforms (AWS, GCP, Microsoft Azure);
- Understanding of orchestration and containerisation (e.g. Kubernetes, Swarm);
- Knowledge in Deployment patterns;
- Practical commercial experience with:
- NoSQL (e.g. MongoDB, ElasticSearch, CouchDB);
- Experience with Search Engines (e.g. ElasticSearch, Azure Search, Apache Solr);
- Provisioning tools (e.g. Terraform, Ansible);
- Quality tools (e.g. SonarQube);
- Experience with web architecture at scale (20krpm and above)
- Experience with "NoSQL" data backends (Redis, MongoDB, ElasticSearch)
- Experience solving logistical problems with software.
What's in it for you?
- Close cooperation with the client;
- A constant flow of new projects;
- Dynamic and challenging tasks;
- Ability to influence project technologies;
- Projects from scratch;
- Team of professionals: learn from colleagues and gain recognition of your skills;
- European management style;
- Continuous self-improvement.