Senior Software Development Engineer
USAFacts
This job is no longer accepting applications
See open jobs at USAFacts.See open jobs similar to "Senior Software Development Engineer" Fast Forward.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 by mentoring and guiding junior engineers, conducting code reviews, and promoting best practices in software development. They may also be involved in evaluating and implementing new 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 new 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 development, 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.
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 pay range for the Senior Software Development Engineer role is $163,000 to $260,000. We aim to hire new employees between $163,000 to $210,000 allowing future compensation growth within the range based on aptitude in the role and context, and progress and performance against goals over time.
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.
- $300 monthly incidentals stipend.
- Tax-Free Flexible Spending Account (FSA) and Dependent Care (DCFSA) plans offered.
- Parking and transportation (Orca card) up to $250 monthly.
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 demands of the role.
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.See open jobs similar to "Senior Software Development Engineer" Fast Forward.