Basic qualifications
- Bachelor’s Degree in Computer Science or related field
- 3+ years of professional experience in software development
- Computer Science fundamentals in object-oriented design
- Computer Science fundamentals in functional programming
- Computer Science fundamentals in data structures
- Computer Science fundamentals in algorithm design, problem-solving, and complexity analysis
- Knowledge of, at least, one functional language including Java8
Preferred qualifications
- Knowledge of professional software engineering, including coding standards, code reviews, source control management, build processes, testing, and operations
- Experience with distributed computing and enterprise-wide systems
- Development experience for web, mobile and desktop applications.
- Experience in communicating with users, other technical teams, and senior management to collect requirements, describe software product features, technical designs, and product strategy
- Experience influencing software engineers best practices within your team
- Hands-on expertise in many disparate technologies, typically ranging from front-end user interfaces through to back-end systems and all points in between