
Senior Software Developer (Golang/Python)
- Remote
- Ottawa, Ontario, Canada
Job description
Location: Remote: Canada
Term: Full time employment
High Tech Genesis is looking for a Golang Software Developer to add features to an existing telecom-based application. The application is currently offered to internal customers of a large multinational telecom networking software and equipment company. It is used by thousands of people around the world.
This job is a great opportunity to work with some of the smartest people in the world in networking technologies. It presents a fantastic learning opportunity that will take your career to the next level.
Job requirements
8+ years of software development experience
Experience working with Agile development processes
Engineer with experience in distributed systems.
Need to understand challenges with lost, delayed, or duplicated messages and how code needs to be written to deal with that.
Experience in writing appropriate test to discover corner cases and performance bottlenecks.
Experience understanding memory and performance and reliability consequences on choosing a given API call (sync vs async) or a data structure over another
Reasonable degree of autonomy. Should be able to own a feature, work along other team members on the high-level design, and successfully drive the feature to completion, including data migration, testing and deploy to green and brownfield deployments
Need to have experience in a low-level language (for example C). Current tech stack of Resource Services is 50% Golang 50% Python, but only Python experience is NOT enough. A seasoned C programmer can learn Go in very short time, and experience with a low-level language is needed to understand the implication on coding in a particular style: Memory allocation, efficiency, etc.
Understanding of how network devices operate. While a deep knowledge of networking is not required, the candidate should understand the basic operation of a network device. How images are loaded, difference between console and VTY access, difference between management ports and data ports, difference between Line Cards / RP, Chassis, etc.
Intermediate knowledge of SQL / Cypher database queries
Knowledge of REST and gRPC APIs: OpenAPI and protocol buffers
The engineer should have a 'can do' attitude. Should understand how different systems and technologies can operate together to produce the correct outcome. Should write small scripts/tools to improve the workflow as needed
Able to contribute to code reviews looking for potential/hidden problems in the code. Look for corner cases / "what if" scenarios on the code under review.
Bonus skills:
Experience writing production quality level code and test cases in Golang
Practical knowledge about Kubernetes, building container images (docker, kaniko, ko)
Experience with brokers or other pubsub technologies: Knative, kafka, Redis streams, etc.
While most of the Kubernetes related details are mostly abstracted from the developers, knowledge of Kubernetes helps understanding the product
Experience building network services in NSO (YANG models, callbacks)
Experience building network monitoring services (SNMP, Netconf, Restconf)
Experience building VPN network services using EVPN, QinQ or other VPN/tunneling technologies
Knowledge of OpenTelemetry
Experience writing K6 performance validation tests
High Tech Genesis Inc. is an Equal Opportunity Employer. Diversity and inclusion are at the core of our values.
Please be advised:
Applicants must have the legal right to work in the Canada.
Kindly submit your resume in MS Word format upon application for this position.
or
All done!
Your application has been successfully submitted!