How Remoteville checks and expires listings

Senior Software Engineer

Skills
.NET FrameworkApplication DevelopmentComputer ScienceOOPSoftware DevelopmentWeb Application DevelopmentWeb Applications
Role

What the job involves

The main requirements, responsibilities and hiring steps.

Requirements

  • Fluent in English for written and verbal communications
  • Strong understanding of SOLID principles and best practices
  • Experience with back-end development using C# and .NET Core
  • Familiarity with PHP is a plus
  • Experience with front-end development using HTML, CSS, and JavaScript/TypeScript (preferably Angular)
  • Experience with database technologies such as T-SQL, MS SQL Server/MySQL
  • Experience with code versioning tools such as Git
  • Ability to design, develop, configure, and test software products
  • Experience in Azure, Cloud Native Architecture, Containers
  • Capable of leading a small team and working independently
  • Commitment to staying current with latest technologies
  • Minimum 8 years of software engineering experience
  • At least 4 years of .NET experience
  • 2+ years of full-stack .NET web application development experience
  • Experience with container technologies like Docker and Kubernetes
  • Experience with Agile development methodologies

Nice to have

  • Proficient in managing Linux-based VMs
  • Skilled in editing configurations, running services, and analyzing logs
  • Experience with Nginx
  • Skilled in managing build and deployment pipelines

Day to day

  • Lead and mentor development teams and provide technical mentorship
  • Participate in Program Increment and Sprint planning, User Story Decomposition and Sizing, and assign Sprint Tasks
  • Translate business requirements into technical designs and develop high-quality code
  • Adhere to coding principles such as SOLID and DRY while applying Secure Coding Standards
  • Test and debug newly implemented functionality
  • Write automated unit and integration tests
  • Optimize code performance and SQL queries
  • Develop detailed production deployment plans inclusive of rollback scenarios
  • Provide post production support for software components
  • Contribute to all phases of software development
  • Drive innovation and improvement
  • Ensure high-quality software delivery