Software Engineer
Recruiter
Listed on
Location
Salary/Rate
Type
Start Date
This job has now expired please search on the home page to find live IT Jobs.
Role/ResponsibilitiesSenior Software Engineer is responsible for the following, with occasional guidance of more senior team members:Interpret business requirements for a Business Mission/Epic with the assistance of Business Analysts.Provide feedback on requirements from a technical perspective, and provide estimates for user stories and tasks.Author technical design documents.Take ownership of stories; Implement and test features based on the requirements.Refactor design and implementation for stories owned, based on requirement changes.Define and maintain coding standards, and guide team members to comply with these standards.Collaborate with quality assurance engineers to fix defects.Collaborate with build and release engineers to prepare packages and solve environment issues.Investigate and find the root cause for software problems reported by clients.Maintain technical documents.Review code of less senior team members, provide guidance from technical perspective.Work with more senior team members to continuously improve our engineering practices.Mentor more junior engineers.Conduct training sessions and proactively share knowledge in or across teams.Qualifications
Minimum Bachelor's degree in Computer Science or related major from top institutions, Master's degree is a plus
Deep understanding of Object Oriented design and development
Deep understanding of Design Patterns and SOLID principles
4+ years of professional software design and development experience on multi-tiered enterprise applications
Proficient in data access techniques for both relational and NoSQL databases
Works well within the constructs of an agile development process, including SCRUM, Unit Testing, Continuous Build and Integration, and suggests improvement to this process
Quickly learns new technologies; proactively seeks to improve
Excellent verbal and written communication skills
Ability to participate in multiple projects concurrently and to own a business mission or a lead a small team
Ability to Debug issues and provide solutions/optimization techniques
Works well in a fast-paced team environment; able to work under pressure to meet tight deadlines
Has superb analytical and problem solving skills
Competent in Programming Languages: C#, JavaScript, TypeScript, HTML/HTML5, CSS2/3, XML, XSLT
Competent in Development tools: Visual Studio, Visual Studio Code
Competent in Development Platforms: Microsoft Windows, Linux
Competent in Application Servers: IIS, ExpressJS
Competent in Application Frameworks & Engines: ASP.NET MVC, ASP.NET WEB API, Microsoft WCF Linq, Unity, Microsoft Enterprise Library, Node.js, Angular, Bootstrap
Familiar with Databases: SQL, MongoDB
Competent in Others: Jira, Git, Jenkins, Circle CI
Competent in Messaging Brokers: RabbitMQ, Kafka (RabbitMQ experience a plus)
Competent in Distributed Cache: Redis, Memcached (Redis experience a plus)