Jobs · Oregon

Software Development Engineer

Precision Analytical Inc. · McMinnville, OR · 2 wk ago
HybridFull-time
We need to output HTML fragment with sections: About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. Only include sections that have real specific content. We must not repeat job title. Must not include Job ID etc. Must remove boilerplate. We need to parse the posting. Key info: - Location: McMinnville, Oregon, Willamette Valley. Hybrid home/office. - Compensation & Benefits: description: "Market-based competitive wage, Bonus potential, 401(k) with employer contribution, Medical, dental and vision insurance, Company-paid life insurance, Wellness program, Onsite gym, Paid time off, Holiday & Floating holiday, Casual work environment, Employee assistance program, Free DUTCH Tests…and more!" - Pay: Not specific numbers, just "Market-based competitive wage". The instruction: never create Pay/Schedule/Benefits sections unless posting actually states them. It does state benefits and compensation description, but not specific numbers. However they said "Compensation & Benefits" section includes description. Should we include Benefits? Yes, they gave list of benefits. Pay: they gave "Market-based competitive wage" but no numbers. The rule: never emit a heading followed by filler/placeholder text (e.g., "commensurate with experience", "not specified", "N/A", "varies", "TBD"). "Market-based competitive wage" is vague but not exactly placeholder? It's still vague. Might be considered filler. Safer to not create Pay section unless specific numbers. So we will include Benefits section but not Pay. - Schedule: Not mentioned. No schedule details. So omit. - About the Role: there is a paragraph: "We're rebuilding our architecture from the ground up, and we're looking for a Software Development Engineer to help shape it. You'll design, build, and ship scalable cloud-native applications with a focus on AWS serverless, event-driven architecture, and TypeScript/Node.js, while drawing on solid experience with traditional application architectures too." - Who You Are: description of traits. - What You'll Do: description. - Major Duties and Responsibilities: a long list bullet-like sentences. - Qualifications: Required and Preferred. - Work Environment: description. We need to map to headings: About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. We need to decide what goes where. - About the role: we can put the "About the Role" paragraph. - Responsibilities: we can put the "Major Duties and Responsibilities" list. - Requirements: maybe the "Required" qualifications. - Qualifications: maybe the "Preferred" qualifications? But we already have Qualifications heading; maybe we split Required vs Preferred? The instruction: Use headings for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule). So we have both Requirements and Qualifications. Likely Requirements = required qualifications, Qualifications = preferred or additional qualifications. Skills could be extracted from required: TypeScript/JavaScript, Node.js, AWS, etc. But we might combine. We need to avoid thin sections. Let's think: we have required qualifications list (education, experience, hands-on experience, strong experience, strong foundation, experience with AWS CDK/SAM, etc). That's substantive. Preferred qualifications list also substantive. We could put Required under Requirements heading, Preferred under Qualifications heading. Skills maybe we could extract a list of technical skills from required and preferred, but that may be redundant. Better to not create Skills if we don't have distinct content beyond what's already in Requirements/Qualifications. The instruction: prefer a few substantive sections over many thin ones. So we could omit Skills if it would be thin. Thus sections: About the role, Responsibilities, Requirements, Qualifications, Benefits. Check if we have any content for Skills: maybe we could list "Technical Skills: TypeScript/JavaScript, Node.js, AWS Lambda, API Gateway, SQS/SNS, EventBridge, Step Functions, ECS, Docker, AWS CDK/SAM, SQL, NoSQL (DynamoDB), distributed systems patterns, CI/CD, Git, etc." That is substantive. But we already have that in Requirements. Might be okay to have Skills separate but risk duplication. The instruction: preserve ALL substantive information; do NOT invent or summarize away detail. Duplication is okay? It says do NOT repeat the job title as a heading, but not about repeating content. However we should avoid unnecessary duplication? Not explicitly prohibited. But better to not duplicate to keep concise. Thus we will not include Skills. Now Benefits: we have list. Pay: we have vague statement; we will omit. Schedule: none. Now we need to format. Use

for section headings. Use
  • for any list of duties/requirements/benefits. Use

    for prose. We need to preserve all substantive information. Let's extract content. About the role paragraph: "We're rebuilding our architecture from the ground up, and we're looking for a Software Development Engineer to help shape it. You'll design, build, and ship scalable cloud-native applications with a focus on AWS serverless, event-driven architecture, and TypeScript/Node.js, while drawing on solid experience with traditional application architectures too." Who You Are and What You'll Do maybe also part of About the role? But we have Responsibilities separate for duties. The "Who You Are" is more about traits; could be part of About the role or maybe we could include in About the role as prose. The instruction: About the role heading for section headings (e.g. About the role...). So we can put the descriptive paragraphs under About the role. Thus About the role content: combine the paragraphs: "We're rebuilding our architecture from the ground up, and we're looking for a Software Development Engineer to help shape it. You'll design, build, and ship scalable cloud-native applications with a focus on AWS serverless, event-driven architecture, and TypeScript/Node.js, while drawing on solid experience with traditional application architectures too." plus "Who You Are..." and "What You'll Do..." maybe. But we need to avoid too much duplication with Responsibilities. The "What You'll Do" is similar to duties. Might be better to put that under Responsibilities. However the "What You'll Do" paragraph is a high-level overview; the "Major Duties and Responsibilities" is detailed list. We could put the overview under About the role and the detailed list under Responsibilities. Thus: About the role: includes first paragraph and maybe "Who You Are" description. Let's capture "Who You Are": "You're a hands-on engineer with a curious streak. You've opened up a codebase, asked "why does it work like this?", and then actually gone and found out. You're equally comfortable with serverless and traditional architectures, and you know when each one is the right tool. You enjoy hard problems, ambiguous requirements don't rattle you, and you care about how your code connects to the business it serves. When you dig into an existing system, you can tell the difference between what the business actually needs and what someone bolted on years ago as a workaround." We'll put that as prose under About the role. Now Responsibilities: the "Major Duties and Responsibilities" list. It's a series of sentences each starting with a verb. We'll turn each into

  • . List items: - Help shape our new architecture from the ground up, choosing between serverless, containerized, and traditional approaches, and between monolithic and microservice designs, based on what each problem actually needs - Design, develop, test, and maintain scalable, cloud-native applications using AWS and modern software development practices - Build serverless and event-driven systems using AWS services including Lambda, API Gateway, SQS/SNS, EventBridge, and Step Functions, as well as ECS and Docker containers - Apply distributed-system patterns such as pub/sub, saga, idempotency, retries and dead-letter queues, and CQRS to build reliable and resilient systems - Develop infrastructure as code using AWS CDK and/or SAM - Build backend services and applications using TypeScript/JavaScript and Node.js - Design and work with both relational SQL databases and NoSQL databases, including DynamoDB - Apply strong software engineering fundamentals, including data structures, algorithms, complexity analysis, software design patterns, SOLID principles, and separation of concerns - Use sound judgment when applying design patterns, recognizing when a pattern improves maintainability and when it introduces unnecessary complexity - Participate in Git-based development and pull-request workflows, including code reviews and collaborative problem solving - Build and maintain CI/CD pipelines and automated testing, including unit, integration, and characterization testing - Analyze existing applications and workflows to understand their business logic, identify the true business rules, and translate them into modern cloud-native designs - Design integrations between new services and existing applications and platforms, including data synchronization and migration between database platforms - Monitor and troubleshoot applications using AWS observability tools such as CloudWatch and X-Ray, along with structured logging and other appropriate practices - Apply sound IAM and cloud security fundamentals when designing and implementing AWS solutions - Collaborate with technical and non-technical stakeholders to clarify requirements, explain trade-offs, and make practical decisions - Stay current with emerging development tools, including AI-assisted coding and AI application development, and apply them thoughtfully with appropriate review and testing - Contribute to LLM-powered applications, including RAG pipelines, vector search, MCP servers, agent tooling, and evaluation of LLM output quality, as applicable to business needs - Contribute across the technology stack as needed, including frontend development, infrastructure, data, and direct interaction with users Now Requirements: Required qualifications. List: - 5+ years of professional software development experience and a bachelor's degree in Computer Science, Software Engineering, Information Technology, or a related field; equivalent education and experience may be considered - Hands-on experience building AWS serverless and event-driven applications, including Lambda, API Gateway, SQS/SNS, EventBridge, Step Functions, ECS, and Docker - Experience designing and building with both serverless and traditional application architectures, and the judgment to know when each is the right fit - Strong experience with TypeScript/JavaScript, Node.js, SQL, and NoSQL databases such as DynamoDB - Strong foundation in data structures, algorithms, complexity, software design patterns, SOLID principles, and separation of concerns - Experience with AWS CDK/SAM, Git, pull-request workflows, CI/CD, and automated testing - Understanding of distributed systems, microservices, and resilient architecture, including pub/sub, idempotency, retries, dead-letter queues, saga, and CQRS - Ability to work effectively with existing systems, including reverse-engineering business logic and using characterization testing to capture current behavior Now Qualifications: Preferred qualifications. List: - Experience with React/Next.js, Python, Java, AWS observability and security, and software development in healthcare or other regulated industries - Experience integrating new cloud-native services with established applications, including data synchronization and migration between platforms - Experience using AI coding tools effectively and critically reviewing generated code - Experience building LLM-powered applications, including RAG, embeddings/vector search, MCP servers, agent tooling, and LLM evaluation - Familiarity with C#/.NET, Angular, Azure, Jira, and Confluence Now Benefits: list from "Compensation & Benefits" section. List: - Market-based competitive wage - Bonus potential - 401(k) with employer contribution - Medical, dental and vision insurance - Company-paid life insurance - Wellness program - Onsite gym - Paid time off - Holiday & Floating holiday - Casual work environment - Employee assistance program - Free DUTCH Tests - …and more! (we can keep "and more!" as part of last item or separate.) We should not include vague "Market-based competitive wage" if we are omitting Pay section; but it's in Benefits list. It's okay to keep as benefit item. Now we need to output HTML fragment. Structure:

    About the role

    ... paragraphs ...

    Maybe we need separate

    for each paragraph.

Similar jobs