Senior Software Engineer
Job description
About the role
As a , you will play a role in shaping the future of our software solutions. You will be responsible for designing, developing, and maintaining high-quality software applications that meet the needs of our clients. This position offers an to work in a dynamic environment where innovation is encouraged, and your contributions will directly impact the success of our projects. You will collaborate with cross-functional teams to deliver and scalable solutions while mentoring junior engineers and fostering a culture of continuous improvement.
Key facts
What you'll do
- Design and implement software solutions that are efficient, scalable, and maintainable, ensuring high performance and responsiveness.
- Collaborate with product managers, designers, and other engineers to gather requirements and translate them into technical specifications.
- Conduct code reviews to ensure adherence to best practices and coding standards, providing constructive feedback to peers.
- Troubleshoot and debug applications, identifying and resolving issues in a timely manner to minimize downtime and enhance user experience.
- Lead the development of new features and enhancements, taking ownership of the entire software development lifecycle from conception to deployment.
- Mentor junior developers, sharing knowledge and best practices to foster their growth and improve team performance.
- Stay up-to-date with emerging technologies and industry trends, evaluating their potential application within our projects.
- Participate in Agile ceremonies, including sprint planning, daily stand-ups, and retrospectives, to ensure effective team collaboration and project progress.
- Document technical specifications, architecture designs, and user guides to facilitate knowledge sharing and onboarding of new team members.
- Collaborate with DevOps teams to streamline deployment processes and ensure continuous integration and delivery of software products.
- Engage with clients to understand their needs and provide technical support, ensuring that solutions align with their business objectives.
- Contribute to the overall improvement of development processes and methodologies, advocating for best practices in software engineering.
Requirements
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
- A minimum of 5 years of professional experience in software development, with a strong focus on backend technologies.
- Proficiency in programming languages such as Java, Python, or C#, with a solid understanding of object-oriented programming principles.
- Experience with web frameworks (e.g., Spring, Django, ASP.NET) and RESTful API development.
- Familiarity with database technologies, including SQL and NoSQL databases, and experience in designing efficient data models.
- Strong understanding of software development methodologies, particularly Agile and Scrum practices.
- Excellent problem-solving skills and the ability to work independently as well as in a team environment.
- Strong communication skills, both verbal and written, with the ability to articulate technical concepts to non-technical stakeholders.
Nice to have
- Experience with cloud platforms such as AWS, Azure, or Google Cloud.
- Familiarity with containerization technologies like Docker and orchestration tools such as Kubernetes.
- Knowledge of front-end technologies (e.g., React, Angular, Vue.js) to facilitate full-stack development.
- Contributions to open-source projects or active participation in developer communities.
- Familiarity with CI/CD tools and practices to enhance the software delivery process.
Skills & tools
- Programming Languages: Java, Python, C#
- Frameworks: Spring, Django, ASP.NET
- Databases: SQL, NoSQL
- Development Methodologies: Agile, Scrum
- Tools: Git, JIRA, Jenkins, Docker, Kubernetes
Practical notes
This position is based in Zagreb, Croatia, and is a full-time role. Decode is committed to supporting work visa applications for qualified candidates from abroad. The salary for this position is competitive and will be determined based on the candidate's experience and qualifications. If you are about software engineering and eager to make a significant impact in a growing company, we encourage you to apply through our career portal.
Join us at Decode and be part of a team that values innovation, collaboration, and excellence in software development.