The Opportunity
As the team at Provision Analytics continues to grow, they are looking for a Senior Java Developer to join the team. The right candidate will be able to demonstrate leadership, come with a creative mind and have an ability to communicate at all levels.
Key Responsibilities
- Conduct requirement gathering and analysis to understand the domain of the software problem and/or functionality, the interfaces between hardware and software, and the overall software characteristics.
- Work with Solution architects and technical lead to understand application, database and integration technologies, including solution and service-oriented architectures and their breakdown into solution designs.
- Work as part of a team contributing to designing and developing successful software and supporting software testing, deployment, maintenance, and evolution activities by correcting programming errors, responding to scope changes, and coding software enhancements
- Applying knowledge of software development best practices, including coding standards, code reviews, source control management build processes, testing, and operations
Who You Are
- You're an experienced Java developer, looking to join and expand our team
- You are a self-starter who thrives in a fast-paced environment
- You subscribe to the idea that companies should be socially responsible
- Your strength is in designing, building and deploying scalable, highly-available systems
- You have the ability to think abstractly and deal well with ambiguous/undefined problems
- Support all stages of the software development life cycle
- You excel at mentoring and leading junior engineers helping them develop their skills and leadership abilities
- You have the ability to implement architectural and infrastructure changes
- Post-secondary or graduate degree
- 15+ years of full software development lifecycle experience
- Minimum of 10 years of hands-on experience in backend Java/J2EE software development
- Minimum of 5 years of experience in two or more of the following technologies: Hibernate/JPA, RestEasy, JMS, ActiveMQ
- Minimum 5 years of experience designing and building RESTful web services using J2EE technologies
- Familiar with AWS, GCP, or IBM Cloud and their supporting applications in a distributed cloud-based environment
- Familiar with Graph Databases such as Neo4J, CosmosDB, OrientDB, ArangoDB, etc.
- Hands on experience designing and building high-throughput transaction processing system
- Expert working knowledge of SQL (preferably MySQL)
- Expertise with object-oriented software design methodologies, design patterns and best practices
- Comfortable working in a Linux command-line environment
- Experience writing and testing multi-threaded and/or distributed applications
- Ability to effectively articulate technical challenges and solutions
- Significant exposure to and demonstrated proficiency in all aspects of programming including design patterns, hardware and software requirements, system requirements and deployment protocol
- Experience with iterative, agile development methods, processes and techniques
- Scrum knowledge is a strong asset, Scrum Master is preferred
- Willingness to lead technical sessions and mentor colleagues in topics related to software development and architectural best practices
- Excellent verbal and written communication skills
- Excellent attention to detail
- Knowledge of Food Safety, Food Manufacturing, or Agriculture domain is highly desirable, but not necessary
Why You Should Join Provision
- We are working on real problems that matter. There is food waste and food insecurity throughout the world, and we are actually making a difference
- You will have a ton of autonomy; all you need to do is produce results
- Career growth is important to you: this position has significant opportunity to establish oneself in the industry
- We are working with the most cutting-edge data in the food industry
- Exposure to international markets
- You get to work alongside some of the smartest people in technology