About this Job
Type of job: Full-time
Role: Software Engineer
Experience level: Junior - Middle - Senior
Industry: Mobility, Automotive, Banking, Utilities
Company Size: 40 - 60 people
Salary range: € 24.000 - € 45.000
Job location: Rome (chances to work remotely)
Language: Italian or English (fluent)
Job description
This job position is aimed at Backend/Frontend Software Engineers. At our company, a Software Engineer is expected to have cross-functional skills between backend and frontend. However, we are glad to hire IT professionals that are focused on one of these two sides specifically. If you join our team, we will expect you to develop new skills on the side you are less familiar with through both training on the job and personal training courses tailored to improving your missing skills.
We are looking for a smart person who is strongly goal-oriented and able to reason analytically. This profile should be able to collaborate with other team members to solve daily challenges. They will have to use their programming and engineering skills to analyze the current code and improve it while collaborating on the improvement of our company processes. We expect you to dedicate the right amount of time to planning and modeling before writing code.
We also expect you to maintain high code quality with a "living documentation" approach and high-level code comments to facilitate collaboration with other team members. A very important skill for us is the ability to autonomously evaluate your own work and schedule code refactors when necessary.
Finally, we expect you to autonomously evaluate and criticize the design choices you will work with daily, actively contributing to evolving our projects and constantly aiming to improve both yourself and your team.
Backend Software Engineer
The person we are looking for will work on two possible aspects of our system. On one hand, we expect you to develop a backend system made up of microservices. On the other hand, you might work on what we define as "the backend part of our frontend," hence developing client-side code that does not include any graphical and user-facing part.
Frontend Software Engineer
Frontend software engineers will work on client-side code. We expect you to develop the UI part of our clients (UI components using HTML and CSS), both for Web, using mostly React, and mobile, using ReactNative. You will also work on developing frontend logic, including complex flows for the end user of our applications. We often use state machines to model frontend logic; we can discuss this in detail during our interview process.
Requirements
* Enthusiasm to solve complex problems
* Knowledge of common design patterns and best practices
* Some knowledge of the "Our working stack" section
* Basic knowledge of DevOps practices (UNIX scripting, Docker)
Bonus points
* Computer Science or Engineering degree
* Open Source contributor
* StackOverflow contributor
* Academic papers published
* Cross-functional skills between backend and frontend
Interview Process
Step 1 - Solve some coding problems
You will be sent an assignment with some coding problems. You can choose which problems to solve in one hour and submit your solutions. The solutions will be evaluated by our recruiters, and if satisfactory, you will move to the next recruitment step.
Step 2 - Let's get to know each other
You will have a call with one of our recruiters who will present the company and the job position you applied for. They will ask you to briefly discuss your background and previous experience. Feel free to ask any questions about our company and the job position!
Step 3 - Technical interview(s)
You will be requested to solve some algorithmic problems in a live coding session with one or more recruiters. You can use any programming language you like. We never ask trick questions; we want to understand how you think and approach problems. If you have a good basic knowledge, we can build together on that.
A further technical interview might follow if our recruiters believe it necessary to better assess your skills.
Step 4 - Final interview
You will talk with our head recruiter and our CTO. We will get to know each other better and review your technical interviews, followed by further discussions about the challenges you faced.
Step 5 - Job offer
If you successfully complete all the above steps, one of our people managers will contact you to discuss logistics, economics, benefits, and follow up with a job offer.
Company overview
Here at moveax, we aim to be the best partner for businesses facing daily tech challenges. We pride ourselves on being the right people for digital and cybersecurity. Over the years, we have gained experience in blockchain and artificial intelligence. Our competitive advantage is our team of young talents passionate about technology. We treat every project with the same care as our own and strive to improve our processes for the best results. We are based in Rome, between Trastevere and San Pietro neighborhoods. Our main market segments are mobility and transportation, banking and finance, and public administration.
Your position at our company
You will be part of our Digital business unit, which consists of four departments working together to deliver optimal products:
* Delivery dept.: handles project management and customer relations.
* Experience dept.: takes care of Service Design, UX, and UI activities.
* Engineering dept.: responsible for architectural design and development. This is the department you are applying for.
* Cloud & infrastructure dept.: handles site reliability, infrastructure, and cloud services.
You will work in our Engineering department and cooperate with other departments to deliver the best project possible. Our Digital business unit works in two directions:
* Providing customers with end-to-end digital innovation projects, from inception to delivery, in an agile way.
* Delivering company products in cooperation with our Innovation business unit to launch innovative projects, focusing on blockchain technology and AI.
Engineering Team
The following describes an average team member:
* Young (around 30 years old); we invest in young talents regardless of experience.
* Driven by passion for technology; those who love their job perform better.
* Open source and StackOverflow contributors; giving back to the community is valued.
* Knowledge crunchers; staying updated and learning from others is essential.
* Passionate about the UNIX-like world; understanding your PC is important.
* Beer lovers; it helps to think better :)
Benefits
* Ask for a book; we'll get it.
* Foosball and PlayStation.
* Free beer on Fridays.
* Free coffee.
* Team-building travels every year.
Our working stack
Project management
* Issue tracking: Atlassian JIRA
* Team communication: Slack, rarely emails
* Methodology: Agile-Scrum, Domain Driven Design (DDD)
Development
This list includes most technologies we use. It is not exhaustive; we are open to new technologies based on project requirements.
* Version Control: GitHub, Bitbucket
* Frontend
o Frameworks: ReactJS with Redux, Angular, Vue.js
o Language: TypeScript
* Backend
o Frameworks: NestJS, NodeJS, Java Spring, Django, Laravel, very rarely .Net
o Languages: Go, TypeScript, Java, Python3, PHP (only as a last resort), C# (if required by the project)
* Infrastructure:
o Cloud providers: AWS, Azure
o Containerization: OpenShift, Docker, Kubernetes
* Persistence, events, communication: MongoDB, Redis, PostgreSQL, Apache Kafka
* CI/CD: Bitbucket Pipeline, ArgoCD
* IaC: Terraform, Ansible
Joel test
Source control ️ One-step build ️ Daily builds ️ Quiet working conditions ️ Bug-tracking database ️ Best tools that money can buy ️ Bugs fixed before writing new code ️ Testers ️ Up-to-date schedule ️ Code screening ️ Specs ️ Hallway usability testing ️
#J-18808-Ljbffr