Software Development Engineer
Responsibilities and Expectations
Software Design (Craft)
- Write clean and maintainable code.
- Takes initiative and is dedicated to improving and refactoring the code.
- Follows and drives world-class software development process which includes but is not limited to:
- Dedication to security and protecting both the system and customer data
- Unit-Test coverage > 85% following TDD
- Technical and API documentation on all code.
- Very detailed, thought through User Experience (UX) diagrams to deliver a phenomenal user experience
- Technical architecture diagrams built for scalable distributed systems on AWS
- Proper defining and planning of Issues
- Collaborating with remembers, skilled in the art of breaking down issues into tasks
- Follows proper branching and best practices for code-review
- Taking ownership of the Issue they are working on
- Works as part of a team and not for themselves
- Being aware and focused on the company's software roadmap and deadlines when planning and coordinating issues. delivering
- Demonstrates strong knowledge application of:
- Domain-Driven Design and Clean Architecture
- SOLID principles
- Object Oriented Programming
- Functional Programming
- Distributed systems
- Shows ability to domain model
- Production and customer support during on and off-hours.
- Dedication to talk to customers for support and new product enhancements
Company and Culture
- There is no work life balance. Find something that gives your life purpose to work on.
- Showing adhering to and setting the standard for company culture
- Obsession over user-experience and best-in-the-WORLD software
- Showing urgency and dedication to work in order to thrive in a startup culture
- Showing immense dedication to progress the company product and vision, and committing beyond normal working hours and weekends as we are not a normal company.
- An obsessive focus on building software that solves user’s problems, and delivers a user-experience which includes:
- Examining the best software products on the market
- Having a deep understanding of logistics and its users, and the problems they face
- Understanding the company's vision and why we are building what we are building
- Dedicated to improving English speaking skills
- Genuine curiosity to learn and improve yourself
- Dedicated to improving their craft (software engineering) which at minimum, includes:
- Dedication to learning and applying design patterns in their work
- Dedication to learning how to improve development process
- Building scalable, enterprise, distributed, event-based, and SAAS systems
- Learning software design and architecture
- Dedication to learning logistics and the Physical Internet