Software Engineer- Tools
Summary
Software engineer on internal tooling at a text analytics company: designs and maintains automated build, CI/CD and deployment systems for on-premise and SaaS products, plus data ingestion/transformation tools. Works with Java or Python, Maven, Git/Jira, shell scripting, and monitoring/deployment tooling.
- Design, build and enhance a top-quality automated build and deployment system for local and cloud-based deployments
- Enhance and extend existing internal software packages
- Create and implement tools for metrics gathering and status reporting
- Triage, troubleshoot, and solve escalated production issues caused by failures in deployment and configuration
- Automate everything to manage multiple environments and servers, using both off-the-shelf and proprietary tools
- Design and build data transformation tools
- Contribute to an extensive and growing library of guru-level provisioning and management scripts, and help manage our monitoring and alerts infrastructure
- Work with traditional and emerging technologies -- you won't just work on tasks, you'll help select technologies and design our implementation
- 2 or more years working in a software production environment
- BS in computer science or equivalent
- Experience in Java, Python or a similar language
- Knowledge of build, release and configuration management practices and tools (e.g., Maven), including branch-based development and patch-oriented workflows
- Experience with software version control systems (e.g., GIT) and issue trackers (e.g., Jira)
- Exposure to monitoring tools (e.g., Ganglia, Nagios)
- Experience with shell scripting, particularly bash, is a plus
- Experience with deployment tools (e.g., CloudFormation Script or Chef / Puppet) is a plus
- Ability to work well with multiple teams