Senior Data Application Engineer
Cooley AI · Chicago, IL · 1 mo ago
Information Technology$220k–$250k/yrFull-time
We need to output HTML fragment with sections: About the role? Actually the posting includes "About Cooley AI" and "Position summary". The instruction: use for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule). Do NOT repeat the job title as a heading. So we need headings for sections that have real content.
We need to include sections: About the role (maybe "About Cooley AI" or "About the role"? The example says "About the role". The posting has "About Cooley AI" and "Position summary". We could combine into "About the role". Probably we should create a section "About the role" containing the description about Cooley AI and position summary.
Responsibilities: we have many bullet points under "Position Responsibilities". We'll list them as
for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule). Do NOT repeat the job title as a heading. So we need headings for sections that have real content.
We need to include sections: About the role (maybe "About Cooley AI" or "About the role"? The example says "About the role". The posting has "About Cooley AI" and "Position summary". We could combine into "About the role". Probably we should create a section "About the role" containing the description about Cooley AI and position summary.
Responsibilities: we have many bullet points under "Position Responsibilities". We'll list them as - .
Requirements/Qualifications/Skills: The posting has "Required Skills and experience:" and then list. Also "Preferred" list. Also "Competencies". We need to decide sections: maybe "Requirements" for required skills, "Preferred Qualifications" for preferred, "Skills" maybe not needed separate. But we can follow instruction: Use headings for sections that have real content. We can have "Required Skills and Experience", "Preferred Qualifications", "Competencies". Or we could combine required and preferred into "Requirements". But better to separate.
Pay: The posting includes expected annual pay range $220,000 - $250,000. Also mention full-time schedule. So we can have Pay section with that range. Also Schedule maybe mention full-time. But we should only create Schedule if posting actually states it. It says "full-time schedule". So we could include Schedule section with "Full-time". However instruction: prefer a few substantive sections over many thin ones. Could combine Pay and Schedule into one? But they said use headings for Pay, Schedule separately if present. Since we have both, we could include both.
Benefits: The posting includes benefits description. So we need Benefits section.
We must not include boilerplate like EEO, EOE, etc. Remove cookie/navigation/legal/EEO/equal-opportunity/scam-warning boilerplate, duplicated lines, and application instructions. So we strip "Cooley LLP offers a competitive compensation and excellent benefits program. EOE." etc. Also remove "Please note that final offer amount will be dependent on geographic location, applicable experience and skillset of the candidate." That's part of pay details but maybe we keep? It's substantive about pay determination. It's not boilerplate. Keep.
Also remove "Senior level candidates may be considered for this position and would be eligible for a higher salary range based on experience." That's also pay detail.
We need to preserve all substantive information.
Let's extract content:
About Cooley AI: "Cooley AI is the wholly-owned subsidiary of Cooley LLP. The frontier development arm of the leading technology law firm in the world. Our mission is to bring the best-in-class practices from the technology field into the legal domain to help lead our firm and the legal industry into the AI era. All employees of Cooley AI are employees of Cooley and are seconded to Cooley AI."
Position summary: "As a leading technology law firm, Cooley is determined to become a leader in the digital practice of law. We are committed to advancing the digital practice of law through modern data applications, automation, and Lakehouse‑native tooling. The Senior Data Application Engineer plays a foundational role in building and supporting interactive data applications on the firm’s Databricks platform, enabling users to access insights, workflows, and AI‑powered capabilities more efficiently. The Senior Data Application Engineer will work closely with product owners and architects to deliver intuitive, reliable, and secure data applications built using Databricks Appkit, AI‑assisted development tools, and GitHub‑based engineering practices."
Responsibilities: list bullet points under "Position Responsibilities". Let's capture each bullet:
- Build and enhance interactive data applications using Databricks Appkit, AI‑assisted coding tools (e.g., Claude Code), and optional local development in VS Code, following GitHub‑based version control and pull‑request workflows
- Implement UI components, data visualizations, and user‑facing features that integrate seamlessly with Databricks data sources and Lakehouse‑native APIs
- Support the development of internal tools that streamline workflows, improve data accessibility, and enhance user experience across legal and business teams
- Participate in code reviews, testing, and documentation to ensure application reliability, maintainability, and adherence to firm standards
- Troubleshoot application issues, perform root‑cause analysis, and implement fixes under the guidance of senior engineers
- Maintain and update content‑driven applications, ensuring accuracy, usability, and compliance with firm policies
- Contribute to internal documentation, user guides, and knowledge bases for supported applications
Then "Data Integration & Pipeline Support":
- Assist senior engineers in building and maintaining ingestion, transformation, and integration workflows on the Databricks platform
- Write SQL queries to retrieve, validate, and prepare data for use in data apps
- Monitor data jobs and application integrations, escalating issues when needed
- Support data quality efforts through validation checks, structured testing, and documentation updates
- Learn foundational concepts of Lakehouse architecture, Delta Lake, and Databricks‑native development practice
Then "Cross‑Functional Collaboration":
- Work with Data Platform team members to understand data consumption patterns and ensure applications present information clearly and accurately
- Collaborate with Product Owners to translate business requirements into actionable development tasks and user stories
- Partner with Data Architects and platform teams to ensure applications align with governance, security, and architectural standards
- Engage with Technology, Security, and Legal stakeholders to ensure applications meet firm compliance and access‑control requirements
- Participate in Agile ceremonies (standups, sprint planning, retrospectives) and contribute to team delivery commitments
- Communicate progress, blockers, and application updates to both technical and non‑technical stakeholders
Then "AI, Automation & Innovation":
- Use AI‑assisted development tools (e.g., Claude Code) to accelerate coding, documentation, and troubleshooting
- Support the development of lightweight automation workflows using Databricks, low‑code/no‑code tools, or API‑based integrations
- Assist in preparing structured content and data for AI‑driven tools, internal search experiences, and RAG‑style applications
- Explore emerging Databricks capabilities and bring forward ideas for improving internal processes through automation or app development
- Stay current on trends in web development, data applications, and AI‑assisted engineering
- All other duties as assigned or required
Now Required Skills and experience:
- After orientation at Cooley LLP, exhibit proficiency in the Microsoft Office suite, iManage, and other firm applications
- Ability to work extended and/or weekend hours, as required
- Ability to travel, as required
- 5+ years of experience directly applicable experience (e.g., data engineering, data application)
- Experience with front‑end development (HTML, CSS, JavaScript)
- Familiarity with React, Vue, Angular or other modern JavaScript frameworks
- Basic SQL skills and understanding of relational databases
- Experience building or maintaining web applications, websites, or content‑driven platforms
- Familiarity with using GitHub for version control, branching, and pull requests
Preferred:
- Bachelor’s degree in Computer Science, Data Science, or related discipline
- Experience with Python or another scripting language
- Exposure to Databricks, cloud platforms (Azure/AWS/GCP), or Lakehouse concepts
- Familiarity with REST APIs, JSON, and basic integration patterns
- Experience with VS Code or similar development environments
- Experience related to data engineering, analytics, or application development
- Experience with low‑code/no‑code automation tools
- Understanding of UI/UX principles and accessibility best practices
- Exposure to AI‑assisted development, RAG workflows, or data‑driven application design
Competencies (list many bullet points). We'll capture them as bullet list.
Competencies list:
- Strong problem‑solving skills and willingness to learn new technologies
- Ability to collaborate effectively with cross‑functional teams in an Agile environment
- Strong attention to detail and commitment to producing high‑quality work
- Excellent communication skills with the ability to explain technical concepts clearly
- Highly organized with the ability to manage multiple tasks and deadlines
- Collaborative team player with a positive, learning‑oriented mindset
- Proactive problem solver who seeks opportunities to improve processes and tools
- Ability to adapt to evolving technologies and business needs
- Professionalism, discretion, and the ability to handle confidential information
- Curiosity and enthusiasm for growing into a data engineering or application engineering career path
- Ability to drive projects to completion and achieve goals
- Strong judgment
- Team-player with collaborative spirit
- Unwavering ability to handle and maintain confidentiality regarding firm information, projects, client data
- Proactive, analytical mindset
- Effective presentation skills
Now Pay: "The expected annual pay range for this position with a full-time schedule is $220,000 - $250,000. Please note that final offer amount will be dependent on geographic location, applicable experience and skillset of the candidate. Senior level candidates may be considered for this position and would be eligible for a higher salary range based on experience."
We can include that as Pay section.
Benefits: "We offer a full range of elective benefits including medical, health savings account (with applicable medical plan), dental, vision, health and/or dependent care flexible spending accounts, pre-tax commuter benefits, life insurance, AD&D, long-term care coverage, backup care for children and/or adults and other parental support benefits. In addition to elective benefit options, benefited employees receive firm-paid life insurance, AD&D, LTD, short term medical benefits as well as 21 days of Paid Time Off (“PTO”) and 10 paid holidays each year. We provide generous parental leave and fertility benefits. New employees will attend a detailed benefit orientation to learn more about our many benefits and resources."
Schedule: The posting mentions full-time schedule. Could include Schedule section with "Full-time". But we already mentioned full-time in Pay. Might be redundant. However instruction: only create Schedule if posting actually states it. It does state full-time schedule. So we can include Schedule section with "Full-time". But we might combine with Pay? The instruction says prefer a few substantive sections over many thin ones. Having both Pay and Schedule may be thin. But we could include Schedule as a short paragraph inside Pay? However they said use headings for Pay, Schedule separately if present. I'd include both but keep Schedule brief.
Now we need to output HTML fragment only, no markdown fences.
We'll structure:
About the role
... (combined About Cooley AI + Position summary)
Responsibilities
- ...
...
We might split responsibilities into subheadings? Not required. Could keep as one list.
But we have multiple categories: Data Application Development & Support, Data Integration & Pipeline Support, Cross-Functional Collaboration, AI, Automation & Innovation. Could we keep them as separate ? Not allowed; only h3 for section headings. Could embed headings inside
? Not needed. We'll just list all responsibilities as a single list.
Similarly for Required Skills and experience:
Required Skills and Experience
...
Preferred: Preferred Qualifications
...
Competencies: Competencies
...
Pay: Pay
...
Benefits: Benefits
...
Schedule: Schedule
Full-time
Make sure not to include any boilerplate like "EOE." etc.
Now ensure we preserve all substantive info. Let's craft the About the role paragraph:
"Cooley AI is the wholly-owned subsidiary of Cooley
About the role
... (combined About Cooley AI + Position summary)
Responsibilities
- ... ...
? Not allowed; only h3 for section headings. Could embed headings inside
? Not needed. We'll just list all responsibilities as a single list. Similarly for Required Skills and experience:
Required Skills and Experience
- ...
Preferred:
Preferred Qualifications
- ...
Competencies:
Competencies
- ...
Pay:
Pay
...
Benefits:Benefits
...
Schedule:Schedule
Full-time
Make sure not to include any boilerplate like "EOE." etc. Now ensure we preserve all substantive info. Let's craft the About the role paragraph: "Cooley AI is the wholly-owned subsidiary of Cooley