Job Description:
We are seeking a highly skilled Software Architect with over 15 years of hands-on experience in developing high-performance and scalable systems. The ideal candidate will have a strong background in full-cycle software development, from requirements gathering to deployment, and possess expertise in various programming languages, databases, BI tools, and design methodologies.
Responsibilities:
- Full SDLC Experience: Lead and participate in all phases of the software development life cycle including requirements gathering, analysis, prototyping, architecture design, development, testing, and configuration management.
- Software Development: Utilize expertise in C#/.NET to develop robust and scalable applications. Write unmanaged code in C/C++ as needed for performance optimization.
- Application Development – Design, develop, test, deploy, and maintain software applications using modern programming languages and technologies(). Participate in code reviews, troubleshoot and debug applications to optimize performance and ensure functionality.Work closely with UX/UI designers to implement user-friendly interfaces and enhance user experience.
- Architecture Design: Design and implement comprehensive frameworks with a focus on scalability, maintainability, interoperability, and flexibility.
- Multi-threaded Applications: Develop high-performance multi-threaded server-side applications with a distributed scale-out approach for optimal performance.
- Database Design: Design, optimize, and maintain large-scale databases using SQL Server (versions 2005-2016) ensuring efficient data storage and retrieval.
- Business Intelligence (BI) Applications: Develop end-to-end BI solutions following Kimball’s DW/BI Architecture using Microsoft BI Stack, Microstrategy, Power BI, and other BI tools. Cover aspects such as source system analysis, ETL, data warehousing, and front-end reporting.
- Big Data Technologies: Leverage knowledge of Google AppEngine/Datastore/BigQuery, Attivio, and exposure to HDInsight and Hadoop for big data processing and analytics.
- Web and Mobile Development: Develop web applications using ASP.NET, MVC, Angular, and mobile apps using Xamarin for cross-platform compatibility.
- Design Methodologies: Apply Object-Oriented Methodology, Design Patterns, and the Kimball Approach for designing scalable and maintainable software systems.
- Tool & Technologies: Utilize a range of tools and technologies including JavaScript, Python, R, Microsoft .NET Framework, Entity Framework, Unity, LINQ, log4net, Git, SVN, TFS, SharePoint Server, and various IDEs for development and project management.
- AI technology – Research, design, and develop innovative AI algorithms to solve complex problems in areas such as natural language processing (NLP), computer vision, machine learning, and data analytics.
Qualifications:
- Bachelor’s or master’s degree in computer science, Engineering, or related field.
- Extensive experience in C#, C++/CLI, C/C++ (Native), JavaScript, TypeScript, Java, Python.
- Strong experience in SQL Server (2005-2016) for database design and programming.
- Proficiency in BI tools such as Microsoft SSIS, SSAS, SSRS, Microstrategy, Power BI, Tableau.
- Experience with web technologies including ASP.NET, MVC, Angular, HTML/CSS, jQuery, and mobile development with Xamarin.
- Familiarity with Big Data technologies such as Google BigQuery, Hadoop, and data analytics tools.
- Solid understanding of design methodologies, distributed applications, and SOA.
- Excellent communication skills and the ability to work in a collaborative team environment.
Additional Skills (Preferred):
- Exposure to cloud platforms such as Azure, AWS and Google Cloud Platform for scalable cloud-based solutions.
- Knowledge of containerization technologies like Docker and orchestration tools like Kubernetes.
- Experience with Agile methodologies and DevOps practices for continuous integration and deployment.
- This position offers the opportunity to work on challenging projects, collaborate with talented teams, and contribute to the development of cutting-edge software solutions. If you have a passion for technology and a track record of delivering high-quality software, we encourage you to apply and join our dynamic team.