Senior Software Engineer creates high quality software applications using industry-standard software development practices. This person works as part of a team that turns software requirements and user stories into working software. The Senior Software Engineer will drive the design, development, and quality within the project. Mentor and coach team members during code reviews, planning discussions, and problem-solving sessions. The Senior Software Engineer participates in technology evaluation and contributes to the definition of Keystone’s Software Development processes and tools.
- Working as part of an agile software team, design, build and test software applications.
- Ensure timely completion of software tasks identifying alternative approaches or work-arounds when problems are encountered.
- Understand and adhere to the software development process and standards; aids software team leadership in their optimization and maintenance.
- Participate in efforts to identify and implement changes to technology and tools.
- Use advanced knowledge of technology and product to help team create realistic project plans by identifying risks, estimating work and making good trade-off decisions.
- Actively participate in code, design and quality reviews within the software team.
- Mentor and develop Software Engineers on technology and software practices.
This is a senior role that works cross-functionally helping drive projects and business initiatives. The role also is tasked with helping less experienced developers professionally mature and develop. Specifically, these behavioral skills are required:
- Proactively communicates and collaborates with team.
- High service orientation always willing to help other team members.
- Willingness to take initiative, ownership and accountability for the software development activities within a project.
- Drives high-quality work personally and across team.
- Embraces change by identifying and positively participating in changes.
- Builds relationships cross-functionally within the project team.
- Education: Bachelor’s Degree in computer science or related field
- Experience: 6+ years of professional software development experience.
Knowledge, Skills and Abilities
- Full-stack development experience across the Microsoft .Net stack.
- Strong understanding of relational database design using MS SQL Server.
- Experience designing and developing to satisfy non-functional requirements like performance, scalability, usability and maintainability.
- Commitment to use software development best practices such as unit testing, code reviews and continuous integration.
- Experience working collaboratively with an agile software project teams.