Software Engineer
Description
Responsibilities
- Software Development: Write clean, maintainable, and efficient code for various software applications and systems.
- Design and Architecture: Participate in design reviews with peers and stakeholders
- Code Review: Review code developed by other engineers, providing feedback adhering to industry standard best practices like coding guidelines
- Testing: Build testable software, define tests, participate in the testing process, automate tests using tools and Design Patterns leveraging the test automation pyramid as the guide.
- Debugging and Troubleshooting: Triage defects or customer reported issues, debug and resolve in a timely and efficient manner.
- Service Health and Quality: Contribute to health and quality of services and incidents, promptly identifying and escalating issues. Collaborate with the team in utilizing service health indicators and telemetry for action. Assist in conducting root cause analysis and implementing measures to prevent future recurrences.
- DevOps Model: Basic understanding of working in a DevOps Model. Begin to take ownership of working with product management on requirements to design, develop, test, continuously deploy and operate the software in production.
- Documentation: Properly document new features, enhancements or fixes to the product, and contribute to training materials.
Qualifications:
- Bachelor’s degree in computer science, Engineering, or a related technical field, or equivalent practical experience.
- 2+ years of professional software development experience.
- Proficiency in one or more programming languages such as C#, .NET, or JavaScript.
- Experience with software development practices and design patterns.
- Basic familiarity with version control systems like GitHub and bug/work tracking systems like JIRA.
- Basic understanding of cloud technologies and DevOps principles.
- Strong analytical and problem-solving skills, with a proven track record of building and shipping successful software products and services.
Preferred Qualifications
- Experience with cloud platforms like Azure, AWS, or GCP.
- Experience with test automation frameworks and tools.
- Knowledge of agile development methodologies.
- Good communication and interpersonal skills, with the ability to work effectively in a collaborative team environment.
- Demonstrates strong customer empathy by understanding and addressing user needs and challenges.
- Commitment to continuous learning and professional development.