Sr. GoLang Back-End Engineer
Fully Remote United States, NY
Job Type
Full-time
Description

Position Summary

DroneUp is seeking a Sr. GoLang Back-End Engineer who will be responsible for developing, maintaining, and continuously improving and supporting both internal and client-facing IT infrastructure. The ideal candidate is a strong developer that will work with the team and cross-functional partners while driving cross-team collaboration and developing technical standards.


Responsibilities

  • Ensure that your work meets all acceptance criteria. Test your work to ensure that it works as expected. Present your work to customers to achieve sign off. Work with your customers to ensure that your work will meet the business needs
  • Shepherd your code (and other's code) through the process until deployment. Help own and understand the process, and contribute to improving efficiency and consistency of the process.
  • Take part in peer code reviews providing qualitative feedback
  • Research internal implementations as well as potential new technologies, and communicate output of that research
  • Detect root cause of defects and production bugs, and fix them when requested. Communicate impact of bugs and work with stakeholders to schedule fixes
  • Research changes to external integrations and update code to account for changes. Understand the cadence of these changes and contribute to the ongoing plan to manage
  • Document work done in appropriate location, whether it be in code, or in a document library. Hand-off documentation to intended recipients or audience. Document previously un-documented systems or practices as encountered in your work environment
  • Provide technical direction on various types of tasks on your platform
  • Update team members on the progress, if you are encountering any major issues, and actively encouraging other team members to do the same while also providing insights into how to optimize this communication
  • Perform necessary communication with other teams as outlined in your team agreement, and call out areas where there may be inter-team communication issues. Additionally, do what you can to drive better communication between your team and others
  • Perform necessary communication with Stakeholders as outlined on your team, and calling out areas where there may be Stakeholder communication issues. Additionally, strive to have a clear understanding of Stakeholder goals to help drive better communication between your team and them
  • Stay current with platform changes and third-party libraries. Proactively investigate better solutions for current technologies
  • Contribute ideas on ways to make our project management systems more efficient
  • Respond to emergency issues and alerts assigned to you. Contribute ideas on how to improve monitoring and alerting systems
  • Be part of the technical interview team, and also offer ideas on how to improve the interview process
  • Provide honest and accurate feedback when asked for it
  • Other duties as assigned
Requirements
  • Experienced in architect programs which operate either independently or within a larger system
  • Advanced proficiency in Go Programming Language
  • Excellent understanding of the internal technologies used by your team. Able to provide commentary, review, and feedback to other teams about their projects and products when necessary, especially in how those integrate with your own team
  • Experience with JIRA or other Ticket system and the ability to resolve tickets according to technical direction
  • Understand our project management tools and processes
  • Excellent understanding of build and test processes; able to modify build processes to add new modules to an existing project and develop build processes for new projects. Able to design, develop, and debug unit and integration tests for new and existing code
  •  Experience in Developing RESTful Web APIs, Microservices using Go.  gRPC knowledge is required. 
  • Proficient at using your team's version control system, and the ability to address pretty much any merge conflict. Complete understanding of your team's branching process.
  • Experience in Cloud-based application development on GCP, Azure or AWS
  • Good knowledge of designing, writing code using Object Oriented Programming (OOP) concepts, S.O.L.I.D design principles, and Design Patterns
  • Experience in Asynchronous and Parallel programming techniques.
  • Experience in modeling and working with Relational (RDBMS) databases and No-SQL databases, performance tuning long running Queries.
  • Experience in writing and automating Unit tests, Functional Tests, and Integration tests.
  • Experience in developing Responsive, Single Page Applications using React or Angular.
  • Experience in Continuous Integration (CI) and Continuous Build mechanisms using Jenkins and Circle CI.
  • Knowledge of Web Servers like nginx or any other
  • Experience with all phases of systems development life cycle (SDLC) using Agile (Scrum) methodologies.
  • Familiarity with Containerization of applications using Docker and Kubernetes (K8s).
  • Ability to research and recommend third-party libraries and services for product development
  • Understand advanced Version Control concepts (rebase, resolving merge conflicts)