PP260 Backend Software Engineer | Relocation OfferedPubblicato il 20-04-2021 - Apc in Italia
About APC We are founded in 2020 and are now a team of 12. APC supports a number of portfolio companies. We offer support in all elements that play a part in the commercialization of a platform, varying from development, design, UX-design, technical realization and on/offline advertising to optimise the client funnel. Position If you think that “one programming language is not enough”, feel like the best technology is the one that fits the purpose, have a self-starter attitude and tech-driven curiosity, know that a good opinion must be shared, you can proceed with reading.
APC is looking for a 5+ years experienced Software Engineer who will be responsible for designing and developing a highly decoupled micro services systems that can handle complicated business flow and can interact with various 3rd party systems at scale. In this role, you will have the opportunity to build from the ground up with an obsession towards making these experiences memorable for the customers. You will: Design, implement and test software services (Java/Kotlin or Go) Manage availability, latency, scalability and efficiency of APC Software Services Software performance analyze and system tunning Bug fixing and writing monitoring and detection tools to prevent recurrence Work in “microservice mesh” application development and Agile environment Review and influence ongoing design, architecture, standards and methods for operating services and systems Continuous learning and researching for identifying shortcomings and opportunities for software services improvements Have fun with your team Your qualification What will help you succeed: Being an expert in: One or more of: Java, Kotlin, Scala, C++, Go Data structures, algorithm design, problem-solving, complexity analysis, secure coding best practices and remediation Designing, building and maintaining large-scale, high-performance systems and frameworks Object-oriented concepts and systems design patterns Analyzing and troubleshooting distributed systems Tackling problems of load, scale, and optimizations of complex large-scale deployments Modern server scaling technologies on Linux (e.g., async, non-blocking I/O, multi-threading) Being experienced in: Architecture and design of cloud-scale distributed systems IP networking, network analysis, performance and application issues Event-driven architecture and technologies Message-Brokers (e.g. RabbitMQ, ActiveMQ) and Event-Streaming (e.g. Kafka) solutions RDBMS (PostgreSQL, MySQL) or distributed NoSQL Database systems (e.g. MongoDB, Redis, Memcached) Automated CI/CD solutions High availability and business continuity principles Cloud technologies (preferably GCP) Containerization and container orchestration technologies (preferably K8s) One or more of: Python, Shell, Perl What we offer Besides a competitive remuneration package with a performance-based bonus scheme and other perks there’s room for professional development and growth and we offer a flexible and open working environment. There is a strong focus on team building and we have an ambitious and entrepreneurial mindset. The team is international. Because you will work in a small team which is closely aligned to the business, you'll get a lot of responsibility and opportunities and you will play an important role in growing the company. You’ll be able to do many different things from the start, be creative in how you want to do your work and take on projects that you find interesting. Working for APC means that you will play a role in growing our own organisation as well as getting the opportunity to participate in/and working for these innovative projects. We work with driven, ambitious, talented and nice people and offer as much flexibility, freedom and responsibility as possible. This means that, within limits, you will be able to choose how, when and where you work your hours.