Senior Software Engineer
Pioneer Square Labs
Who Boundless is
At Boundless, we’re breaking down the barriers of the immigration system. We are looking for experienced software engineers to architect, design, and deliver the best immigration experience for immigrants, attorneys, and our operations and support teams. If you want to create a meaningful impact on the world with technology; if you share our belief that bringing empathy to our customers, our product, and our team will bring success; and if you are always on the lookout to get better at what you do, Boundless is the right place for you.
During your first month in this role, you will:
- Learn by doing with your team. Upon your start you will be assigned to one of our existing initiatives. You will learn our codebase and our technologies with pairing and contributing solutions to the problems your Core Team is working on. Within your first week, you will deliver code to the production environment.
- Discover our process, practices, and career map. Throughout your first month you’ll learn about our practices & process; the way we plan our work, retrospectives, etc and you will work closely with your manager to learn about how we think about career development at Boundless.
Within three months, you will:
- Independently progress on major product initiatives. Once you feel comfortable with our systems, you will start owning parts of our major product initiatives. You will collaborate with Product Managers and other engineers to estimate and break down product initiatives into smaller, workable projects.
- Identify and improve the technical gaps in our codebase/infrastructure. As you are working on our product initiatives; you will identify structural issues in our codebase, develop a plan to address critical tech debt, and improve the reliability of our product and our developer experience in alignment with the initiatives you are working on.
- Demonstrate an ability to organize long term solutions to process and performance issues. Part of what you bring to the table is your experience. Leaning on this experience, you will help to flag areas in our team processes and code base that could be improved to help the application and the team become more efficient.
Within a year, you will:
- Assist team in assessing project plans and ensure projects are well defined and processes are followed. Participate in advanced planning projects with external teams or mgmt and work with external stakeholders and mgmt to establish and improve processes.
- Proactively discuss QA & release of projects across the team to ensure broad ability to support and triage issues across the team. Regularly and proactively review projects, providing detailed and actionable feedback that improves on solutions and educates team members.
- Regularly participate in review and help the broader team uphold best practices.
- Work efficiently in application support, time boxing solutions and communicating tradeoffs to different approaches. You will primarily escalate issues to the broader team for visibility or training while proactively investigating performance and identifying tech debt.
- Help build an inclusive and high-performing culture at Boundless. Through your day to day actions, you will set examples for our inclusive engineering culture. You will be part of our interview loops, mentor our early career team members, and help our team grow without compromising our team’s technical and cultural balance.
About this position:
Being passionate about a healthy codebase, continuous learning, maintainable architectures, and collaborating with other engineers will make it easy for you to be successful in this role. You will work with a variety of technologies including Ruby/Rails and Javascript/React/Typescript. We don’t require you to initially be an expert in all of these technologies but we do expect you to have expertise in similar frameworks and to be willing to learn our technologies quickly. Solid understanding of security practices is a big plus for this position.
Here are some examples of work we have done recently to illustrate the type of projects you would be working on:
- Account Holder position - sometimes the person filling out an application is not the person applying. We repurposed some previous account management architecture to allow a family member sponsor to create and manage an application on a beneficiary’s account, including allowing for question copy to be personalized.
- Address Gap Errors - Sometimes it is okay for an applicant to have gaps in their address history. Sometimes it is not. We updated our Authoring Tool to allow this to be configurable when we are asking for address history and also updated our front end to make it clear where gaps in the address history exist.
- Task Windows - Each application has a series of tasks that need to be completed by a particular date. Sometimes an applicant needs a few more days to gather some information. We added that ability for our legal team to extend a task due date, also pushing out due dates for all of the remaining tasks (as long as there is space to do so without negatively impacting an applicants visa status)
- Chained applications - there are certain cases where visa applications always follow the same ordering. One of these is PERM to I-140 to Adjustment of Status. Instead of treating these as one off applications, we updated our architecture so that these are now treated as a chain of applications. This means applicants will not need to re-enter as much information and we can also accurately project when the next application should be started (which is dependent on information from previous applications).
About You:
- Advanced experience as a full stack Ruby on Rails + React developer. You are recognized within your immediate organization as "a person to ask" when difficult questions arise.
- Strongly opinionated about the necessity of automated tests and the ability to determine what level of automated testing is necessary for a particular feature
- Experience with an end to end testing framework such as Cypress
- Experience and interest in mentorship and coaching of engineers
- Experience effectively leading collaboration and discussion with stakeholders
- Assists in prioritizing the work of self and others to focus on the highest-impact work
- Leads system designs for new features and initiatives
- Set best practices to maintain the health of an area of the codebase
- Removes roadblocks for others on the team to keep projects and initiatives moving forward