ACT is a nonprofit organization helping people achieve educational and workplace success. Our programs are designed to boost lifelong learning in schools and workplaces around the world. Whether it's guiding students along their learning paths, enabling companies to develop their workforce, fostering parent, teacher, and counselor understanding of student progress, guiding job seekers toward career success, or informing policymakers about education and workforce issues. ACT is passionate about making a difference in all we do.
Learn more about working at ACT at act.org!
Location preference is Iowa City, Iowa but will consider Remote location as well.
The level at which this position will be filled is determined by the qualifications of the finalist.Responsibilities
The Senior or Lead Kafka Engineer is responsible for the design and development of IT solutions to support of the Data Engineering Solutions teams. This position is responsible for ACT's data pipeline and includes development in Java, NiFi, &/or Kafka, integrating with Bitbucket for source control, Jenkins for builds and in both Container and Serverless computing environments. This position is a key contributor in the Agile process and ensures product quality, robustness, scalability, and consistency; and plays a significant role in owning responsibility for department success through mentoring, coaching, and advising team members.
Typical work-related activities include:
- High priority tasks on the back-end services, analytics, or front-end
- Independently design, maintain, and enhance applications capitalizing on existing automation frameworks and reusable components
- Actively participate in process improvement and tool selection discussions and decisions within area of expertise
- Recommend product, infrastructure, or design changes to ensure quality and performance standards
- Solve interesting problems from refactoring components to designing, building, and tuning new ones
- Review designs and code and drive critical architecture decisions
- Operate in a fast-paced, distributed, and agile team that ships production code every week.
- Support junior team members to proactively anticipate and resolve issues across Scrum teams
- Stay abreast of emerging technologies and trends and recommend tools and standards to ensure software quality and performance standards
- Bachelor's degree in a related area required; preferably in Computer Science, Engineering, Mathematics, Statistics or Information Systems
- Or an equivalent combination of education and experience from which comparable knowledge and abilities can be acquired.
- Minimum of five years of progressive IT experience
- Subject matter expertise in one or more of the following required: Java, Jenkins, RabbitMQ, Kafka
- Expertise developing applications in a microservice architecture utilizing REST API web services
- Experience in architecting software solutions, and technical design in continuous integration environment required
- Previous experience and demonstrated success leading and building teams required
- Experience working in a microservice architecture preferred
- Experience with AWS solutions is preferred
- Experience with Kubernetes is preferred
- Experience working in an Agile development environment
- Expertise in production monitoring solutions such as Splunk and NewRelic
- Expertise in architecting software solutions, and technical design in continuous integration environment
Knowledge, Skills and Abilities:
- Ability to lead a Scrum team, following SAFe Agile practices
- Strong communication and collaboration skills
- Ability to lead team through changes in a rapidly transforming organization
- Demonstrated ability to lead technical professionals and influence product stakeholders
- Demonstrated success in new technology implementation
- Demonstrated knowledge of version control such as Git / Bitbucket and Jenkins for builds
- Demonstrated relational and no-SQL database skills (MongoDB, MySQL) required
- Demonstrated knowledge of messaging broker solutions such as RabbitMQ
- Demonstrated ability to integrate code into automated deployment pipelines required
- Demonstrated ability to support, mentor, coach, and advise other team members
- Ability to adapt to changing technology landscape, learn new tools, and how to apply them to daily work.
- Demonstrated knowledge of how to write/test RESTful APIs required
- Demonstrated knowledge with Big Data technologies like MongoDB, park/Pig/Storm/Kafka/Hive/HDFS required
- Understanding of test automation frameworks such as Robot preferred
Agile Software Development