This position is only available for W2 Employees. Please note that in order to be a W2 Employee, you must reside in one of the following states: PA, NJ, NH, DE, CO, SD, TX, WY, AK, FL or Canada.
About SofterWare
SofterWare is a dynamic, established company that builds multiple software-as-a-service (SaaS) products for clients whose dedication to bettering the world brings meaning to the work we do every day. Thousands of nonprofit organizations look to DonorPerfect software to effectively leverage their donor data, launch impactful fundraising campaigns, and grow the community that supports their cause.
Life at SofterWare
When you join SofterWare, you will:
- See the positive impact of your work by helping causes you care about
- Be part of a company culture that values work-life balance and giving back to local organizations together as a team.
- Work for a company that has been named a Top Workplace in the Philadelphia region 9 times and made the Inc. 5000- list for fastests-growing private companies 8 times in the last decade.
Your Role as a Principal Software Engineer:
The Principal Software Engineer is responsible for building new features and enhancements for our applications while focusing on solutions that are scalable, secure, and maintainable. As a key stakeholder in the software development lifecycle, you will design, develop, test, deploy, maintain and improve software, while ensuring that best practices are employed throughout the process. The success of SofterWare’s products is due, in large part, to our software engineers. Principal Software Engineers will possess rock-solid coding and database skills, sound deductive reasoning, excellent time management skills, attention to detail, persistence, creativity, efficiency, and the ability to mentor and guide less experienced developers. Principal Software Engineers will embody a strong work ethic and commitment to excellence while demonstrating the ability to work in both group and individual settings in an Agile development environment. They lead by example and build healthy, accountable, and collaborative development teams.
Key Responsibilities:
- Serve as a technical authority for industry standards, best practices and system design fundamentals
- Contribute to the design, implementation, enhancement and maintenance of products and services on an Agile team consistently following the company's coding standards and in accordance with applicable software development methodology and release processes
- Foster and lead environments of healthy communication, collaboration and accountability
- Serve as a technical authority in technologies such as Microsoft C#, .NET Core, ASP.NET, MVC, JavaScript (Angular, ReactJS, TypeScript, NodeJS), SQL, and related technologies
- Produce clean efficient code and establish patterns and practices to increase development team productivity
- Promote excellence and adherence to established patterns and practices through peer code reviews and team discussions
- Design, implement, enhance and integrate relational databases such as SQL Server
- Collaborate effectively using Agile methodologies to solve complex problems and improve products
- Maintain open communication across Development, QA, Operations, and other cross-functional teams
- Contribute to development objectives and take accountability for the contributions of the development team
- Lead code reviews, provide feedback to team members and ensure coding standards are followed
- Estimate and track work and deliver on team commitments while effectively reporting on progress or impediments
- Create and maintain documents for technical designs, decisions, configurations, and standards
- Actively pursue continuous learning to stay current with industry trends, technologies and best practices in order to share domain expertise with the development team, improve software quality and development efficiency
Reasonable accommodations may be made to enable individuals with disabilities to perform these essential functions.
Key Requirements:
- Self driven and accountable
- Excellent communication skills
- Expert in the full technology stack, and has a deep understanding of infrastructure, networking, databases, applications and security
- Expert in architectural patterns and practices (DRY, SOC, IoC, N-Tier, Microservices, Distributed Systems)
- Expert in software development and coding standards
- Expert in translating system requirements into technical implementations
- Expert in .Net Framework, .Net Core and .Net Standard
- Expert in ASP.NET, MVC, Javascript
- Proficient in modern JavaScript frameworks
- Proficient in legacy web technologies such as ASP and Webforms
- Expert in troubleshooting, diagnosing and resolving technical issues
Education and Experience:
- Bachelor’s Degree in Computer Science or related field or relevant experience
- 15+ years of experience in the Microsoft development stack
- 10+ years of experience in branching and release management
- 10+ years of experience in SDLC and/or ALM
- 5+ years of experience in a technical leadership role
- Experience with AWS or other cloud environments
- Experience with containers such as Docker or Kubernetes
Equal Employment Opportunity Statement
SofterWare is an equal employment opportunity employer. Employment decisions are based on merit and business needs, and not on race, color, citizenship status, national origin, ancestry, gender, sexual orientation, age, religion, creed, physical or mental disability, marital status, veteran status, political affiliation, or any other factor protected by law. SofterWare complies with the law regarding reasonable accommodation for handicapped and disabled employees.