Software Engineer I
About the role :
The Software Engineer I designs, develops, troubleshoots and debugs software applications for our core product. This includes developing software components including Frameworks, APIs, Websites, Utilities, Databases and Internet-related tools.
Skills & experience:
2–4 years of engineering experience.
Deep knowledge of the Microsoft development stack: C#, ASP.NET, .NET, .NET Core, MVC, ADO/ADO.NET, and LINQ.
Experience with NoSQL databases.
Experience with Visual Studio.
Familiarity with AWS services, including EKS, EC2, ElastiCache, non-relational databases, SNS, and SQS.
Foundational knowledge of AI and Generative AI concepts, including Large Language Models (LLMs), prompt engineering, embeddings, and Retrieval-Augmented Generation (RAG).
Hands-on exposure to integrating LLM APIs and building AI-powered features using LangChain or equivalent frameworks.
Familiarity with vector databases, semantic search, and responsible AI practices, including data privacy, security, and validation of AI-generated outputs.
Familiarity with the software development lifecycle and software design patterns.
Familiarity with Agile methodologies and DevOps principles.
Ability to assess the impact of new features and identify potential application risks.
Ability to analyze service performance.
Effective time-management skills and the ability to learn new technologies quickly.
Strong collaboration skills and the ability to help establish new software teams.
Detail-oriented, professional, and positive work attitude.
Strong verbal and written communication skills.
Bachelor’s degree in computer science or equivalent.
Develop software solutions by studying information needs, conferring with users, studying systems flow, data usage, and work processes, investigating problem areas, following the software development lifecycle.
Conducts systems analysis and makes recommendations to improve the system to achieve an outcome.
Identifies opportunities for improving system reliability, security, and stability then working with product owners to prepare backlog items for the team.
Promotes internal best practices and coding conventions to write and execute tests for your own code,
including creating comprehensive unit tests.
Contributes to technical documentation.
Implements best practices based on companywide policies and standards.
Occasional on-call rotation duty to respond to after-hours system incidents.
Requests constructive feedback for designs early in the process.
Communicates successfully with large teams and many personalities.
Assists in removing obstacles for the team to yield successful releases.
Updates job knowledge by studying state-of-the-art development tools, programming techniques and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations.
Works effectively with multiple projects and departments.