Senior Software Engineer
Job Type: Full Time / Permanent
The Right Fit: • You love looking under the hood. You live in a world of entity design and business logic implementation. You think in systems. • You appreciate the importance of design patterns. • You are motivated and driven. • You treat software development like a craft that needs to be honed. • You have experience working with complex systems with many moving parts. • You like representing business logic formally (like with state machines). • You’ve built and operated systems that talk to third parties. • You can write code that’s resilient against third-party failures. • You have an eye towards operations. • Code is read and executed astronomically more times than it’s written, so you’re mindful of how your code can be observed in production, how it recovers from errors, how easily it can be understood by others. • You believe in an SDLC that promotes quick iterations, transparency, and automation. • You appreciate data, whether it’s the throughput of your team or the performance of you application, you know your numbers and, more importantly, the bottlenecks that the numbers reveal. This is true for process and for production metrics.
Responsibilities: • Develop and own application code throughout the entire SDLC • Be an expect in symfony/PHP, our primary application framework. • Participate in code reviews pertaining to other work happening on your team • Design implementation plans and perform operational assessments on the code your team produces. • Promote application telemetry but ensure good application logging. • Adhere to prescribed Kanban methodology, enhance the process for your team’s specific needs. Maintain standards • Promote healthy operations by writing tests alongside your code.
Our Development Team and QA Team agree to these principles: Production Insight – We don’t just write software, we run software. We ensure our applications and systems are working and maintain insight into how they’re performing and how they’re being used. Developer Accountability – “Done” means live, out to the world, in front of the people that are going to use it. We need people to own their work from implementation planning, through release, to on-going production awareness. Tight Development Loop – It’s cheaper to solve problems and answer questions closer to where they arise, so we have a great interest in quick reviews, quick releases, and quick adjustments. Application Stack: This is our stack. You don’t need experience in everything to apply, but this is what you’ll be working with. • PHP, Symphony • MySQL, Redis, Rabbit • Kubernetes • Twig, React, ReactNative • AWS ECS, EC2, RDS, EKS • Algolia Search Service • Bitbucket Pipelines • CloudFlare
Basic Qualifications: • 5 years’ in web-based software developer, Symfony a plus. This development should have a strong focus on data modeling, API • Direct work on a public facing API • Experience working in an agile development environment • Experience with branching models.
Preferred Qualifications: • Oversight of long running systems; demonstration of technical ownership of systems • Experience deploying an application in a SaaS model • Fan of automated testing and CI • Experience with a DevOps mindset, specifically containerization, application monitoring, performance evaluation • Experience with asynchronous processing in parallel.