Full Stack Software Engineer C# (LATAM)
We are searching for a talented, hands-on full-stack software engineer to help take our university career center
SaaS platform to the next level! If you are a self-motivated, team player with a great attitude, excellent
communication skills, strong work ethic, and a passion for building great products, we’d love to hear from you!
Your Role:
Collaboratively work to solve complex, technical problems with a small, tight-knit team of smart,
highly motivated developers in an agile environment, where code is released multiple times per
week
Architect, develop, code review, and support high-quality code and automated tests in a detail-
oriented manner with software engineering best practices in mind. Deliver clean, maintainable
code within a large, complex, and established code base.
Refactor and redesign existing code to maximize performance, scalability, and maintainability,
while building out comprehensive automated tests to reduce the risk of regression
Effectively and respectfully communicate and collaborate with other members of the team - Devs,
Product, and QA - to build innovative and intuitive features that our users will love
Provide recommendations on ways to do things better; mentor and inspire team members to
elevate the team and our code
Take ownership and have accountability over modules and features
Work in a fast-paced environment with an eclectic group of people from all over the world
Continue to learn and grow and apply those learnings to improve the team and organization
Your Experience:
5+ years of full-stack data-driven web application software development experience with C#;
demonstrated ability to lead and inspire teams
Bachelor's or Master’s degree in computer science or related field
Expertise with unit and integration testing and TDD concepts to build high quality, reliable code
Experience applying software engineering best practices and design patterns for a SaaS product
across a large codebase, multiple modules, and complex business rules
Experience with SPA development and working with JavaScript frameworks/libraries like Angular
or React
Comfortable working in a fast-paced, agile environment, with frequent deliverables
About us:
We are an ed-tech company based in Santa Monica that’s changing the way university career centers,
students, and employers approach recruiting.
Through its suite of SaaS web apps, we provide universities and employers with a platform to better connect
students, career centers, and employers. Our mission is to equip universities with a platform that revolutionizes
productivity and connections, enabling students and alumni to advance their careers and employers to hire
quality and diverse talent.
We work on an extremely diverse set of features, modules, and integrations, including oauth, calendar sync,
payments, apple wallet / android pay. We are continuously building new features and improving existing ones
in the context of a relatively large and long-running mostly monolithic codebase that we are also continuously
refactoring and improving.
Engineering Team Structure/Processes:
We work in two week sprints, but deliver continuously. Our engineering team currently consists of ten devs,
broken up into two subteams. Developers work closely with their teammates and the Product team to ensure
we build with usability, maintainability, and scalability in mind. We put a strong emphasis on quality, automated
testing, and clean code.
Our development process:
1. Iterate upcoming stories with Product and the team
2. Engineer and lead work through a design review as needed for higher-level design decisions
3. Engineer develops and thoroughly tests their own code, via both manual and automated tests
4. Code is reviewed, first by a peer, then by the lead before it can be merged
5. QA team manually tests the story
6. Code is deployed twice a week or as needed
The majority of our code is in a single solution with dozens of projects. While the codebase and architecture is
mostly monolithic, we do have a few microservices as well.
Infrastructure: mostly on Azure, including App Services, SQL Database, Service Bus, Redis, Functions, Virtual
Machines. We also use Cloudflare and AWS S3.
Tools we use: GitHub, JIRA, Confluence, Notion, Slack, and GSuite for our day-to-day tasks.
Our tech stack: C# (.NET 9), Web API, MVC, AngularJs, Typescript, HTML, Less, Sql Server, Dapper, EF, and
other technologies, including some legacy jquery and knockoutjs.
Technical Challenges:
We are a small team working on a large number of modules and integrations across the platform, including job
postings, on campus interviews, events, appointments, custom reporting, analytics, calendar sync, and single
sign on.
We are continuously refactoring and improving the existing codebase, implementing design patterns and best
practices as much as possible to build scalable infrastructure that is manageable and maintainable. However,
our codebase is relatively large and long running. There is a lot to refactor and many patterns to consolidate.
We are always balancing delivering direct value to the customer with repaying technical debt and ensuring we
build for the long-term.
Upcoming Projects:
New products built on top of our framework within our existing platform, including a rebuild of our
student-facing outcome analytics platform (which has helped some schools close the gender
wage gap for post graduation offers!) and extensive improvements to our alumni platform to help
alumni connect and network.
Product enhancements to existing modules and features, which may include extensive refactors
Infrastructure improvements within Azure to ensure security,scalability, high availability, and
general reliability (e.g. scaling out our database, making better use of Redis and Service Bus, and
improvements with observability and monitoring)
Better reorganize code and dependencies to better encapsulate modules
Rewrite our AngularJS code in the latest version of React or another modern front-end
library/framework
Team Values:
Communication: offer suggestions, ask questions, be open; give and expect honesty,
transparency, empathy, and respect
Collaboration: work together to find the best solutions
Continuous Learning and Improvement: always be looking for opportunities to improve both
yourself and our product/code/team
