Helix Education is an exciting opportunity for a hands-on Java software engineer looking to build highly performing software that serves the needs of colleges, universities and their students. Our engineering team prides itself on developing scalable architecture, performant data processing and reliable APIs using the industry’s best of breed technologies.
The ideal candidate will be an emerging engineer in the stream processing and web API domains. This engineer will be an integral part of the Helix Software Engineering department, working collaboratively with other engineers, architects and product managers to develop innovative solutions for higher education. He/she will partner with product management, software development, other architecture groups and business leaders to deliver fully-integrated innovative software products.
Candidates must be passionate about technology innovation in the higher education industry and have demonstrated excellence in delivering quality software solutions on time.
- Engineer scalable stream processes using messaging pipelines and near-real time stream processing technologies.
- Design and develop complex, high performance, highly available/reliable RESTful APIs and back-end web services.
- Conduct research on cutting-edge solutions that meet the needs of Helix Education’s software architecture in support of our customers.
- Work to develop new skills in software design; offering advice to the team on emerging best practices.
- Support efficient & effective software configuration management practices for building, packaging, deploying, and managing systems in a high availability environment.
- Support high code/capability reuse across engineering teams and software products.
- Work collaboratively with other engineers and architects to troubleshoot and solve problems.
- Follow Engineering department best practices and processes, including version control, unit testing, peer-review, continuous integration, and performance and security testing.
- Other duties as assigned.
Required KNOWLEDGE, SKILLS AND ABILITIES
- A degree in Computer Science or Software Engineering or equivalent experience
- 2+ years of experience engineering APIs and RESTful services in a tiered architecture, preferably using open-source technologies such as Java, Spring or DropWizard.
- 2+ years of strong production experience building scalable and modern applications using Java-based technologies, preferably with Maven.
- 2+ years of experience integrating with message queue technologies, including Kafka, RabbitMQ, ActiveMQ, ZeroMQ, etc.
- Familiarity with modern web software design & architecture patterns.
- Strong command of RESTful / ROA / SOA / distributed software architectures.
- Experience and comfort working in an Agile Scrum or Lean development environment.
- Ability to learn and adapt in a rapidly changing environment.
- Strong verbal and written communication skills.
Desirable KNOWLEDGE, SKILLS AND ABILITIES
- Experience in deployment automation using tools such as Ansible, SaltStack, RightScale, Chef, Puppet, Docker, Kubernetes or similar technologies in public/private cloud.
- Experience working within public/private cloud technologies such as Amazon Web Services (AWS), Google Cloud and Microsoft Azure.
- Experience with open source messaging or stream processing technologies such as Samza, Spark, Kafka Streams, etc.
- Familiarity with DevOps software development model and processes.