Full Stack Engineer II
About The Role:
The Software Engineer II (Full Stack) is an essential role for the development and refinement of software features or products. This role will be responsible for designing, building, maintaining, and improving software products and services with both frontend and backend components, specifically crafting interactive applications that utilize diverse UI technologies and tools. Sophisticated coding, testing, and debugging tasks along with resolving complex bugs, enhancing performance, and updating software will be additional focus areas. This role is based out of our Seattle, WA office 5 days per week.
You will be joining a dynamic team that is the driving force behind the expansion of our suite of software products. A successful candidate will be able to navigate ambiguous and complex situations seamlessly, quickly establish trust and rapport across teams, and guide and mentor team members in scaling systems to accommodate more users and ensuring system functionality and reliability.
Join us on our journey of continual evolution and innovation!
What You Will Do:
- Design and implement stable and performant SaaS products utilizing both frontend and backend technologies such as C#, Java, and Node.js.
- Own a complex set of internal/external services and data sets.
- Execute full SDLC (design, build, document, unit/functional/load test, and deploy) APIs, UIs, applications, and infrastructure needed to scale our products and platform.
- Address latency and throughput challenges in data process and request serving.
- Design and develop high volume enterprise scale data service applications, which will handle billions of data points weekly.
- Build and manage large scale distributed system platform and services built using Big Data technologies.
- Evaluate existing software to identify enhancement opportunities. This will include tackling latency, throughput challenges in data processing and request serving.
- Set up efficient operational processes including continuous deployment pipelines (CI/CD), testing automation, and appropriate monitoring and alerts.
- Actively participate in design discussions, team planning and code reviews. Provide insightful and constructive feedback for team and individual improvement.
- Troubleshoot software failures by reviewing code errors, logfiles, metrics, using debug functions, and other common troubleshooting techniques.
- Provide guidance to junior engineers about software development, operational excellence.
Who We Are Looking For:
- Bachelor’s degree in Computer Science or a related technical field.
- 3+ years of professional development experience in modern programming languages such as Node.js, C#, Java, and Python with strong proficiency in JavaScript and Typescript.
- 2+ years of professional development experience in building REST/GraphQL APIs with strong proficiency in React.
- Experience with LLMs and other machine learning models.
- Experience with AWS services including, S3, SQS, CloudFront, SNS, ECS, EC2, Route 53, Lambda, Kinesis.
- Experience using Database technologies: Mongo / Dynamo / MySQL / Postgres / RDS.
- Experience with Elasticsearch/OpenSearch.
- Experience using state management libraries such as Redux, Zustand, Redux Toolkit.
- Knows a broad range of design approaches and when to use them (and when to not).
- Understands a broad range of data structures and algorithms, and which to use, or not.
- Understands the maintenance characteristics, runtime properties, and dependencies of a software (e.g., build dependencies). Knows how to be efficient with compute resources: hardware, database, memory/CPU, etc.
- Understands how to thoroughly test functionality of complex software systems.
- Experience working with Agile methodologies.
- Strong analytical and excellent problem-solving skills, with a propensity towards learning new tools and technologies.
- Comfortable writing SQL and hands-on knowledge of working with large datasets with billions of records.
Bonus Points If You Have:
- Master’s degree in Computer Science or a related technical field.
- Experience working in a startup, retail, digital advertising, or e-commerce environment.
- Experience building complex applications on distributed systems that have been successfully deployed for a large customer base.
- Experience with Big Data technologies (streaming and batch processing).
- Experience with LLMs and other machine learning models.
- End-to-end software development experience.
- History of delivering high quality production systems/services.
- Experience designing with an emphasis on scalability and sustainability.
Benefits and Perks:
It’s important that each and every employee feels they are supported and can complete their life’s best work today and in the future. As part of that, we are committed to doing our part in addressing pay gaps and discrepancies by providing pay transparency for all of our roles. Actual salaries are just one component of the compensation package and may vary above or below the range based on job-related knowledge, skills, experience, geographical location, and performance. The pay range for this position located in Seattle is $150,000 - $170,000 per year. Other rewards may include annual bonuses, short- and long-term incentives, and other team-specific awards. In addition we provide a robust benefits and perks package that includes:
- Comprehensive benefits plan covering medical, dental, and vision
- Fertility benefits
- Company 401k plan plus matching
- Company paid Life Insurance
- 20 days of Paid Time Off annually
- 9 Paid company holidays
- 100% Paid Parental leave - 20 weeks for birthing mothers and 12 weeks for all other parents
- Summer Fridays early close at 2pm
- Fully stocked kitchen snacks with weekly fresh fruit
Apply for this job
*
indicates a required field