Company Description
At Penguin, our mission is to be the global leader in the design, construction, and provisioning of AI-driven location services. Building on our success in the EMEA region, we aim to produce and deliver cutting-edge AI-powered location technologies on a global scale, enabling smarter, safer, and more efficient enterprises. We are dedicated to fostering a culture of teamwork, respect, and flexibility. We believe in maintaining a healthy work-life balance, where every team member's contributions are valued, and collaboration drives our success. Together, we strive to create an environment that nurtures both personal and professional growth, ensuring our employees' well-being while advancing our innovative solutions.
Job role
Senior Backend Developer in .NET (Core) plays a key role in designing, developing, and maintaining our backend services and APIs that power our core business systems. You will collaborate closely with product managers, frontend/mobile developers, QA, and DevOps teams to deliver high-quality, scalable, and reliable software solutions that meet business requirements and user needs.
Responsibilities
- Leading the technical design and architecture of web applications and services, ensuring scalability, performance, and security.
- Writing well-structured and maintainable code, following best practices and coding standards.
- Creating and maintaining RESTful APIs and interfacing with various backend services and databases.
- Implementing unit tests to ensure the quality and reliability of code.
- Building solutions that programmatically interface with 3rd party web APIs and integrating solutions with other systems.
- Familiarity with other programming languages, such as JavaScript/TypeScript (for integration with frontend teams) is a plus.
- Familiarity with Kotlin or mobile-related technologies is optional but considered a bonus for cross-platform collaboration
- Building solutions that programmatically interface with 3rd party web APIs and integrating with other systems.
- Utilizing troubleshooting skills to identify and resolve complex technical issues.
- Driving the backend development process forward.
- Applying software development practices and methodologies in real projects
Qualifications
- Bachelor's degree in Computer Science, Engineering, or a related field (Master's preferred).
- 7+ years of professional software development experience with advanced troubleshooting expertise.
- Extensive experience with C#, primarily dotnet core
- Solid understanding of software architecture principles and design patterns.
- Experience with unit testing frameworks and a commitment to writing testable code.
- Experience with version control systems (Git), continuous integration, and deployment pipelines.
- Familiarity with agile development methodologies and tools.
- Excellent problem-solving skills and the ability to analyze, optimize, and refactor code.
- Strong communication skills, both verbal and written, with the ability to explain complex technical concepts to non-technical stakeholders.
- Previous experience in mentoring junior developers and leading technical discussions.
- Experience with database systems, including static data and real-time interactions, leveraging real-time streaming infrastructure such as Kafka
- Utilizing 7+ years of advanced troubleshooting experience to identify and resolve complex technical issues.
- Applying 7+ years’ experience with software development practices, concepts/methodologies (i.e., Waterfall, Agile, Iterative), and technologies obtained through formal training and/or work experience.
- Contributing 5+ years of previous experience as a Backend Engineer to drive the development process forward.
- Strong proficiency in C# and .NET (Core).
A Plus Skills
- Exposure to other languages such as JavaScript/TypeScript (for integration with frontend teams) or Kotlin (for cross-platform collaboration).
- Experience with cloud platforms such as Oracle Cloud, AWS, Azure, or Google Cloud.
- Knowledge of containerization and orchestration tools like Docker and Kubernetes.
- Familiarity with databases: both relational (e.g., SQL Server, PostgreSQL, MySQL) and NoSQL (e.g., MongoDB).
- Experience with event streaming and messaging systems such as Kafka or RabbitMQ.
- Community contributions, such as open-source projects, GitHub repositories, technical blogs, or public talks.