11 Nov
|
S M Software Solutions
|
Mississauga
11 Nov
S M Software Solutions
Mississauga
Client: CITI – Java Developer or Python Developer (Data Lineage & Metadata)
We are looking for a highly skilled Java Developer or Python Developer specializing in Data Lineage and Metadata Management with strong expertise in software engineering, backend development, code parsing, data flow analysis, and modern Gen AI/LLM technologies. The ideal candidate should have hands‑on experience building scalable systems that parse and analyze large, multi‑language codebases to automatically generate accurate data lineage. The successful candidate will be responsible for designing and developing backend services, implementing AI‑powered retrieval capabilities, building deployment pipelines, and delivering clean, efficient, reliable, and maintainable solutions.
Role Snapshot
- Job Title: Java Developer or Python Developer – Data Lineage & Metadata
- Client: CITI
- Work Location: Mississauga, Ontario, Canada
- Work Arrangement: Onsite
Technical Requirements
The candidate should have strong development experience in Java/J2EE or Python, with the ability to design, develop, and implement scalable software solutions.
Java/J2EE Technical Expertise
- Strong knowledge of Java/J2EE development.
- Experience with Spring Boot, Hibernate, and Object-Relational Mapping (ORM).
- Core development expertise, including the ability to write reusable libraries and executable solutions.
- Experience working with event-based frameworks.
- Knowledge of different software design patterns.
- Experience with Oracle Database.
- Experience configuring and working with APIs, Graph APIs, and Graph Databases.
Role Summary
The developer will focus on data lineage and build systems that parse and analyze large,
multi‑language codebases to automatically generate accurate data lineage.
What You’ll Do
- Design and build engines that parse multiple programming and query languages to extract accurate, column‑level data lineage.
- Build Gen AI/LLM‑powered retrieval and assistant capabilities on top of lineage and metadata.
- Develop backend services and the interfaces that expose them, from data processing through to user‑facing views.
- Own the delivery pipeline, including build, testing, deployment, and production support across environments.
Design Principles We Value
- Simplicity First: Favor the simplest design that solves the problem; avoid unnecessary complexity and premature abstraction.
- Separation of Concerns: Establish clear module boundaries, single‑responsibility components, and well‑defined interfaces so individual components can evolve independently.
- Correctness and Determinism: Prefer predictable, testable behaviour; ground AI outputs in verifiable data rather than guesswork.
- Performance‑Aware Design: Consider time and space complexity, memory footprint, and efficient data structures and algorithms from the beginning.
- Scalability and Extensibility: Design systems so current languages, sources, and capabilities can be added without requiring rewrites.
- Robustness:
Implement graceful error handling, fault isolation, and defensive design so one bad input cannot bring down the system.
- Readability and Maintainability: Develop code and designs that other engineers can easily understand, extend, and debug.
- Reuse Over Duplication: Use shared models and common abstractions instead of duplicating logic.
Required Skills
- Strong Python development experience with solid object‑oriented and functional design skills.
- Strong software engineering fundamentals, including data structures, algorithms, and complexity analysis.
- Experience in data lineage and data flow analysis, including parsing and analyzing source code using AST‑based and pattern‑based static analysis techniques, with the ability to read and understand multiple programming languages.
- Hands‑on Gen AI/LLM experience, including prompt design, tool/function calling, and agent orchestration.
- Understanding of Retrieval‑Augmented Generation (RAG) and vector/semantic search concepts.
- Experience designing APIs and backend services, along with front‑end fundamentals to build usable interfaces.
- Pipeline and deployment experience, including build/test automation, Continuous Integration/Continuous Delivery (CI/CD), and releasing solutions across environments.
- Strong data manipulation and transformation skills.
Nice to Have
- Knowledge of graph algorithms and traversal techniques for dependency and lineage tracing.
- Understanding of data governance, metadata management, and data cataloguing concepts.
- Experience designing systems for long‑running or asynchronous workloads.
- Knowl
📌 Java Developer or Python Developer – Data Lineage (Mississauga)
🏢 S M Software Solutions
📍 Mississauga