Do you know programming languages better than Italian? Find out what you can do in Subito’s IT team!
We are looking for a Software Engineer with a strong generalist software engineering background. You should be able to work with different programming languages, design solutions, develop our application architecture and implement new features. Versatility is key to us!
As an Engineer, you will be a technical reference and act as a guide for your teammates to help them do their best work. You will set the standards for your team to follow and propose improvements to processes and practices and tools to make the developer experience at Subito better for everyone.
At Subito you will collaborate with Product Owners, UX designers and Software Engineers to deliver compelling user-facing products. We take a DevOps approach, so you will automatically deploy and monitor your services to identify issues before our customers do. We move fast with a no-blame approach. Deploy with courage, and if you break it then fix it!
Typical Day In Subito
Catch up with your team in a stand-up meeting.
Share updates with other engineers from across the company.
Work on the stories in your sprint.
Check the health of your applications. Do you have problems? Don’t panic!
Swarm with other engineers to find a solution.
Test and deploy.
Monitor your changes as they go live.
Review the code of your teammates.
Key Responsibilities
Own the entire development cycle together with the cross-functional team, from requirements specification over implementation, test automation, quality assurance to deployment and monitoring
Contribute to the team's work with clean, maintainable and testable code and participate as well as lead design and code reviews
Actively contribute to and shape business, culture and ways of working
Participation in on-call rotation
Identikit
Core:
Minimum of 3 years of experience implementing REST API.
Deep knowledge in at least two programming or scripting languages: Go, Python, Ruby, Java.
Confident with event sourcing and apache Kafka.
Confident with RDBMS like PostgreSQL and MySql as well as NoSQL DBs like Redis, Cassandra.
Knowledge of TDD and DDD methodologies.
Knowledge of common microservice architecture patterns like dynamic service discovery, circuit breaking, bulkhead.
Confident in designing the architecture of new services
Strong sense of responsibility on all sides of the product, not only at an API level.
Knowledge of software version control systems and tools, eg Git
Familiarity with docker
Fluent in English
Pluses:
knowledge of docker and container system in general
experience in continuous delivery strategies
experience in profiling and debugging performance issues
Knowledge of web development patterns: MVC, ActiveRecord, Dependency Injection and Clean architecture.