Job Overview
We are looking for a motivated Software Engineer to join our team and contribute to the design and development of software solutions. As a Software Engineer, you will work collaboratively with the team to build and maintain high-quality, scalable applications.
Roles and Responsibilities:
- Follow and contribute to development practices, including unit tests and code reviews.
- Contribute to innovation in technologies, processes, and tools.
- Translate requirements and use cases into functional applications.
- Collaborate with internal teams to produce software design and architecture.
- Design, build, and maintain efficient, reusable, and reliable code.
- Write clean, scalable code using various programming languages.
- Test applications and systems.
- Identify bottlenecks and bugs, and devise solutions to mitigate and address these issues.
- Ensure the best possible performance, quality, and responsiveness of applications.
Desired Candidate Profile
- Minimum experience of 2 to 4 years.
- Strong interpersonal and communication skills.
- Hands-on experience working on data pipelines, including designing, developing, and optimizing ETL processes using Spark SQL, Python, and Databricks.
- Experience with .NET technologies (C#, .NET Core, WPF, ASP.NET), with the ability to switch between data pipeline projects and desktop/cloud-based .NET applications as needed.
- Knowledge of modern cloud platforms and services, preferably Microsoft Azure, including experience deploying and managing applications or data workloads on the cloud.
- Strong understanding of multi-threaded programming, OOP concepts, and design patterns.
- Familiarity with SQL Server and other relational databases.
- Proficient understanding of code versioning tools like Git.
- Ability to work effectively with ambiguous requirements and minimal supervision.
- Commitment to writing clean, maintainable, and well-documented code.
- Strong focus on performance, security, scalability, and testability in software development.
- Experience creating reusable libraries and components.
- Understanding of fundamental design principles for building scalable and robust applications.
- Familiarity with data engineering best practices, data quality, and monitoring.
- Comfortable collaborating in cross-functional teams and adapting to changing project priorities.
- Exposure to AI-assisted development practices - such as using LLMs, Copilot tools, or building AI-integrated workflows - is a plus.