Principal Software Engineer at SolarWinds (Ottawa, ON, Canada)
Desired Skills and Experience
- Execute strategic initiatives by leading implementation of next-generation product initiatives and prototypes.
- Partner with other technologists, gauge technology, market dynamics and competitive trends to ensure SolarWinds continue to expand and succeed in the market.
- Research competitive landscape and dissect thought-leading technologies. Create disruptive solutions.
- Collaborate with product management and product architecture to define strategy and scope of SolarWinds products and services. Identify portfolio synergies and gaps.
- Work cross-functionally with across all business functions to bring innovative solutions to market.
- Deliver new products, concepts, and proposals on-time, balancing needs of end customers with time to market and critical business milestones.
- Cross-pollinate products by sharing technology across portfolios.
- Participate in beta programs, customer engagements and partner programs.
- Contribute to a culture of modern and open source software development methodologies and architectural excellence.
- Drive technology and knowledge sharing across the business and product units.
- Provide leadership for projects and mentor others.
- Liaise with remote engineering team, overlapping with remote time zone
- Masters in Computer Science or equivalent
- 10+ years of software architecture and development experience with a proven track record of delivering high quality, enterprise-grade software both as a service and on-premises.
- Contributor to open source projects.
- Familiarity with microservices architecture, cloud native and twelve-factor principles.
- Fluency and command of an OO language - Go, Java, C#.
- Strong scripting knowledge (e.g. Python, Ruby, Bash, Shell, PowerShell, etc.)
- Experienced with Linux containers runtimes (e.g. docker, containerd, rkt, lxc, etc.) and orchestrators (e.g. kubernetes, ECS, swarm, nomad, mesos-marathon).
- Prior experience with high performance RPC frameworks (e.g. gRPC, Finagle).
- Experienced with monitoring and management of distributed systems (e.g. prometheus, fluentd, opentracing, influxdb, linkerd, hawkular, istio, envoy)
- Carnal knowledge of a public cloud (e.g. AWS, Azure, GCP).
- Experienced with distributed key-value stores (e.g. etcd, consul, zookeeper).
- Excellent verbal and written communication skills in English.
- Ability to work with teams across multiple sites, time zones, and countries.
- Ability to multitask and prioritize in a fast-paced and dynamic work environment.
- Strong with software design, coding, unit test, integration test. Provide accurate effort estimates and delivers on-time.
- PhD in Computer Science or related engineering field.
- Experienced with programmatic interaction of various APIs (SOAP, REST and XML-RPC web services, XML/JSON, XSLT, XPath, IPMI, SNMP, SES)
- In-depth knowledge of network protocols. Proficient in network engineering in a software-defined world (gossip protocols, API gateways, load-balancing, service discovery, eBPF, BPG, VXLAN).
- Experience with CI/CD tooling and DevOps approach (goCD, git, jenkins).
- Knowledge of microservices architectures and serverless frameworks (e.g. sparta, apex, aws sam).
- Demonstrated use of PaaS systems such as OpenShift, Cloud Foundry, Beanstalk, Heroku
- Domain knowledge in monitoring and management:
Understanding of configuration management tooling (puppet, chef, salt, ansible, terraform). software defined data center and data center operating systems. Experience with virtualization and orchestration technologies such as VMWare vCenter, Orchestrator, ESXi, Citrix XEN, KVM, Microsoft Hyper-V. Storage administration and fabric design experience using NetApp and EMC systems. Windows and Linux systems administration experience (MSCE and RHCE or comparable experience). Network administration experience. Familiarity with converged and hyper-converged infrastructure architectures.
- Understanding of configuration management tooling (puppet, chef, salt, ansible, terraform).
- software defined data center and data center operating systems.
- Experience with virtualization and orchestration technologies such as VMWare vCenter, Orchestrator, ESXi, Citrix XEN, KVM, Microsoft Hyper-V.
- Storage administration and fabric design experience using NetApp and EMC systems.
- Windows and Linux systems administration experience (MSCE and RHCE or comparable experience). Network administration experience.
- Familiarity with converged and hyper-converged infrastructure architectures.
- Eager Agile practitioner and familiar with the SDLC process and with software design, coding, unit test, integration test. Provide accurate effort estimates and delivers on-time.
- SolarWinds cloud business is a high growth / high velocity startup-like environment within an established and highly successful software company
- We have great products and are serving the needs of the demanding and emerging market of cloud application and infrastructure monitoring
- We have a culture that celebrates individual and team contribution and uses modern communication and development tools to work together even when we are globally distributed
- We have over 1,000,000 users and have a strong list of internationally known customers
- You will contribute, you will learn, you will grow and you will enjoy the team that surrounds you