hero

Tech Nonprofit Job Board

Opportunities from over 600 organizations leveraging tech for social impact.

Looking to hire talent? Contact us to post your jobs here.

Senior Software Development Engineer

USAFacts

USAFacts

This job is no longer accepting applications

See open jobs at USAFacts.
Software Engineering
Bellevue, WA, USA
Posted on Monday, January 15, 2024

The Organization

At USAFacts, we believe facts deserve to be heard. We are on a mission to provide a comprehensive and unbiased look at our country by the numbers. Democracy thrives on serious, reasoned, and informed debate. And we’re here for it.

Founded and funded by Steve Ballmer, former CEO of Microsoft, USAFacts answers questions around government spending and outcomes. While these are basic questions, finding the answers is hard. But it’s also pretty exciting. We pull together data from thousands of jurisdictions to normalize, contextualize, and visualize these metrics so the data is approachable and understandable.

We learn something about our country every day, how to make complex data understandable, and how to make the American people interested in the numbers. We’re a very collaborative group and are always learning from each other, too. The team is mission-driven. We have no political agenda nor commercial incentive; we do this work purely as a public service.

Oh, and to top it off? USAFacts was named to Fast Company’s List of the World’s Most Innovative Companies for 2023! We’d love for you to bring your talents, your curiosity and come make a difference!

The Opportunity

At USAFacts, we are committed to providing unbiased and transparent data about the United States. The purpose of a Senior Software Engineer role in a technical company is to leverage their expertise and experience to contribute to the development, design, and maintenance of software systems and applications. They are responsible for leading and participating in the entire software development life cycle, from requirements gathering and analysis to coding, testing, deployment, and ongoing support.

Senior Software Engineers typically take on more complex and critical projects, requiring strong problem-solving skills and the ability to make architectural decisions. They collaborate closely with cross-functional teams, including product managers, designers, and other engineers, to ensure the successful delivery of high-quality software solutions. In addition to their technical responsibilities, Senior Software Engineers often play a leadership role in the team by developing and promoting software development best practices, driving continuous improvements, and assisting junior developers by offering design and code reviews, and technical feedback. They are also involved in evaluating and implementing modern technologies, frameworks, and methodologies to improve the efficiency and effectiveness of the development process.

Overall, the Senior Software Engineer role is crucial in driving innovation, maintaining technical excellence, and delivering robust software products that meet the company's objectives and customer needs.

Key Priorities and Responsibilities

Key responsibilities include:

  • Lead software development projects: Define project scope, outline solution architecture, establish timelines, build key components, work through challenges, and coordinate with team members to deliver high-quality software solutions.
  • Make architectural and technical decisions: Evaluate and propose appropriate software architectures, technologies, and tools to meet project requirements and ensure long-term scalability and sustainability.
  • Develop and implement software solutions: Design, code, test, and debug complex software applications, ensuring high performance, scalability, and maintainability.

Additional responsibilities involve:

  • Debug and troubleshoot software issues: Identify and resolve complex software defects, performance bottlenecks, and production incidents, ensuring timely resolution and minimal impact on end users.
  • Lead by Example: Share knowledge, provide technical guidance, and promote best practices in software development with the rest of the team.
  • Conduct code reviews: Review code contributed by team members to ensure adherence to coding standards, maintainability, and efficient performance.
  • Stay updated with industry trends and emerging technologies: Continuously research and evaluate modern technologies, frameworks, and methodologies to enhance software development practices and drive innovation.
  • Contribute to continuous improvement: Identify areas for process improvement, participate in retrospectives, suggest, and implement enhancements to optimize software development workflows and efficiency.
  • Communicate technical solutions: Create and maintain technical documentation, including system architecture, design specifications, and user guides, and effectively communicate technical concepts to both technical and non-technical stakeholders.
  • Collaborate with cross-functional teams: Work closely with product managers, designers, and other stakeholders to gather requirements, understand business needs, and translate them into technical solutions.

Qualifications

Required Skills:

  • Extensive software development experience: A strong background (typically 7+ years) in software development, including designing, implementing, and debugging complex software systems and applications.
  • Back-end software development: Proficiency (typically 5+ years) in programming languages: Java/Kotlin, Python.
  • Front-end software development: Proficiency (typically 5+ years) in programming languages and frameworks: TypeScript/JavaScript and React.
  • Full-stack development expertise: Proficiency in integration between front-end and back-end platforms, including experience with frameworks (Web API, Microservices, Web Sockets), databases, APIs, and cloud technologies (preferably Microsoft Azure). Understanding the entire software development lifecycle and being able to contribute to all stages of development is valuable.
  • Technical architecture and design: Proven experience in making architectural decisions, designing scalable and maintainable software solutions, and understanding trade-offs between various design options. Familiarity with architectural patterns, frameworks, and system integration is beneficial.
  • Leadership skills: Experience leading software development projects, taking ownership of deliverables, coordinating with team members, balancing, and prioritizing multiple needs, and ensuring project success. Demonstrated ability to adjust project scope, work through timelines, and guiding a team is highly desirable.
  • Ownership: A keen sense of stewardship and accountability to drive the entire software development process, proactively dealing with ambiguity and taking the initiative to ensure the delivery of high-quality solutions from start to finish.

Desired Skills:

  • Collaboration and teamwork: A track record of effectively collaborating with cross-functional teams, including product managers, designers, and other engineers, to translate requirements into technical solutions. Effective communication and interpersonal skills are essential for successful teamwork.
  • Problem-solving and debugging skills: Demonstrated ability to analyze and solve complex technical problems, debug software issues, and optimize performance. Experience in identifying and implementing efficient algorithms and data structures is valued.
  • Agile software development: Experience working in an Agile development environment, following Agile methodologies such as Scrum or Kanban. Familiarity with Agile practices like user stories, sprint planning, and continuous integration/continuous deployment (CI/CD) is advantageous.
  • Continuous learning and adaptability: A mindset of continuous learning, keeping up with emerging technologies and industry trends, and being adaptable to new tools and frameworks. Demonstrated ability to quickly learn and apply new concepts is beneficial.

Degree Requirement: Bachelor's or a Master's degree in Computer Science, Software Engineering, or a related field. This educational background provides a solid foundation in core computer science principles, algorithms, data structures, and software development methodologies.

Compensation

The starting cash compensation range for the Senior Software Development Engineer role in Bellevue, WA, includes a base salary range of $169,200 to $211,500, plus a 10% performance bonus target opportunity.

The maximum of the base salary range for the role is $253,800 per year. Individual pay increases are assessed annually based on multiple factors such as demonstrated skill in the role and context, progress and performance against goals, and increased experience.

Featured Benefits & Perks

  • Medical, dental, and vision insurance with employee and dependent premiums entirely paid for by Ballmer Group
  • 3 weeks of paid vacation annually
  • 11 paid holidays, plus paid days off for the weekdays between Christmas and New Year
  • 80 hours of paid sick leave annually
  • 401(k) with 6% employer contribution
  • 2:1 Ballmer Family Giving Match for charitable contributions
  • Professional development reimbursement up to $2,000 per year
  • Employer-paid life insurance of 3x salary to $1,000,000 ($750k guarantee issue)
  • Fertility & Family Building reimbursement to $40,000 (lifetime max)
  • Healthcare and Dependent Care Flexible Spending Account (FSA) options
  • Parking or transportation (Orca card) up to $250 monthly
  • Cash stipend of $300/month (for cell phone, wellness expenses, etc.)

Location and Hybrid Work

The position is based in Bellevue, Washington, and our organization practices intentional hybrid work with an in-office emphasis to build trust and prioritize the collaboration, connection, and interaction needed to accomplish pressing goals. All USAFacts employees are expected to work on-site Tuesdays, Wednesdays, and Thursdays. Mondays and Fridays remain flexible work-from-home or office workdays. Our standard workday is 9:00 am - 5:00 pm PT, with core hours of 10:00 am - 3:00 pm in-person on in-office days. Employees work out their full schedule with their manager to align with the role's demands.

More details on USAFacts can be found here:

https://usafacts.org/

https://www.linkedin.com/company/usafacts/

This job is no longer accepting applications

See open jobs at USAFacts.