Software Developer
Job Description
<p style="text-align: justify;"><span style="font-size: 12pt;">Pour la version française de cette description de poste, veuillez consulter le lien suivant / For the French version of this job description, please refer to the following link:</span></p> <ul style="text-align: justify;"> <li style="font-size: 12pt;"><a href="https://job-boards.greenhouse.io/appdirect/jobs/8749591002" target="_blank">Développeur/Développeuse Logiciel</a></li> </ul> <p style="text-align: justify;"><strong>About AppDirect<br><br></strong>Become a digital, global citizen and enable the new generation of digital entrepreneurs around the world. AppDirect offers a subscription commerce platform to sell any product, through any channel, on any device - as a service. We power millions of subscriptions worldwide for organizations. We do this by our values-driven culture - one that enables you to Be Seen, Be Yourself, and Do Your Best Work.<br><br><strong>What you'll do and how you'll have an impact</strong></p> <ul style="text-align: justify;"> <li>Write clean, readable code with sensible design for modules containing multiple functions.</li> <li>Consistently produce testable code with a strong understanding of boundary and negative test cases. Write end-to-end tests.</li> <li>Create readable documentation for external API endpoints and structures. Leverage code from third parties or other teams with guidance.</li> <li>Take ownership of simple projects independently.</li> <li>Work under the guidance of senior engineers while contributing value to team meetings, brainstorming sessions, and retrospectives.</li> <li>Consistently deliver systems and features that provide significant value to customers and/or other teams.</li> <li>Reliably deliver quality products under deadlines. Raise issues that could impact delivery or timelines without fear of blame. Provide detailed code reviews and help document idioms and best practices.</li> <li>Collaborate shoulder to shoulder with some of the best people across product management, design, and sales.</li> </ul> <p style="text-align: justify;"><strong>What we're looking for</strong></p> <ul style="text-align: justify;"> <li>B.S. degree (or higher) in Computer Science or related field.</li> <li>3+ years experience developing in Java.</li> <li>Proven track record of delivering end to end solutions from scratch.</li> <li>Enjoy building production grade code then supporting and maintaining it once it goes live.</li> <li>Courage to dig-in, refactor code, and explore new technology.</li> <li>Knowledge of web service technologies and building REST APIs.</li> <li>Core Java & Java Frameworks: Spring Framework / J2EE / Reactor</li> <li>HTML / CSS3 & JavaScript / TypeScript. Added advantage if you know ReactJs / Redux / AngularJS.</li> <li>Node.Js & Node.JS Frameworks: Express / HappiJS</li> <li>MySQL / MongoDB ( Should understand MySQL procedures)</li> <li>Data Structure / Algorithms </li> <li>Unit Testing using JUnit</li> <li>Working knowledge and some experience with <strong>Containers:</strong> Docker / Rkt</li> <li>Working knowledge and some experience with <strong>Orchestration:</strong> Kubernetes / Mesos / OpenShift</li> <li>Working knowledge and some experience with <strong>Messaging:</strong> RabbitMQ / Kafka</li> <li>Design Patterns is not must but desirable </li> <li>Integration Testing / Performance Testing is not must but desirable </li> <li>Agile Develo