What are the responsibilities and job description for the Software Engineer - Identity Solution Management position at FMLS?
Position Summary
This role manages and enhances our dashboard and identity solutions, ensuring secure and seamless access across various applications and platforms for our members. This position will be a knowledge expert on internal and external systems while collaborating with cross-functional teams to deliver high-quality software solutions. The ideal candidate will have a strong background in identity and access management (IAM), experience with SSO technologies, and a passion for improving user experience while maintaining security compliance. At FMLS, we value innovation, collaboration, and professional growth. As an Identity Solution Engineer, you will be critical in enhancing our security posture and improving user experiences across our entire platform.
Product Overview
The SSO platform has two major components: a Product Dashboard and an Identity
Provider (IDP). Each component plays a critical role in ensuring the smooth operation
and security of the platform.
- Product Dashboard:
- Repositories:
- SSO Repo: Contains both the frontend (FE) and backend (BE)code for the main product dashboard.
- Tenants Repo: Manages the login pages for each customer, allowing customizations specific to individual tenants.
- Database: Uses Postgres for handling application data, providing reliability, scalability, and flexibility for complex queries.
- Repositories:
- Identity Provider (IDP):
- Utilizes Auth0 for handling authentication, user creation, and service provider (SP) integrations.
- Provides capabilities for single sign-on (SSO) and identity management.
- Data Ingestion:
- Ingestion Pod: A specialized service that ingests data from customer Account Management Systems (AMS) using Kafka as the data pipeline for streaming and handling large data volumes. The ingested data is stored in the SSO database and updates user information within the Auth0 system.
- Analytics:
- Utilizes Snowflake for analytics, enabling robust data warehousing and querying capabilities to gain insights from the ingested data.
Responsibilities
- Design, implement, and maintain IDP and SSO solutions that align with organizational goals and security standards.
- Able to communicate with cross-functional teams, including product managers, designers, and other engineers.
- Develop and maintain documentation for system configurations, processes, and user guides.
- Perform other duties as assigned by the Manager.
Required Experience
Backend Development
- Node.js: Proficiency in building and maintaining backend services, especially for handling API endpoints and server-side logic.
- Express.js: Experience with this framework for creating robust APIs for the SSO platform.
Database Management:
- SQL: Strong understanding of SQL for complex queries in Postgres.
- Database Optimization: Skills in performance tuning, indexing, and data modeling in Postgres.
Data Ingestion & Processing
- Kafka: Experience with setting up, managing, and scaling Kafka clusters for data ingestion, including stream processing and handling event-driven architectures.
- Data Transformation: Familiarity with data processing techniques and transforming incoming data streams for storage in Postgres and for analytics in Snowflake.
Cloud Infrastructure & DevOps
- AWS: Proficiency in managing AWS services (RDS, S3, CloudFront, CloudWatch, and Kubernetes).
- Kubernetes: Skills in container orchestration, deploying services, and maintaining scalability.
- CI/CD Pipelines: Experience with GitLab’s CI/CD for automated testing, deployment, and integration.
- Infrastructure as Code (IaC): Knowledge of tools like Terraform or AWS CloudFormation for infrastructure management.
Security & Authentication
- Auth0 (Owned by Okta): Understanding of integrating Auth0 with applications, including managing user roles, permissions, and authentication flows.
- OAuth, SAML & OpenID: Familiarity with OAuth SAML and OpenID standards for secure identity management.
Frontend Development
- React.js: Skills in building and maintaining the frontend interface for the SSO Product Dashboard.
- JavaScript/TypeScript: Strong understanding of JavaScript, with experience in TypeScript for type-safe code.
- UI/UX: Basic understanding of user interface design and user experience best practices.
Analytics & Data Warehousing
- Snowflake: Experience in setting up and managing data warehouses, querying large datasets, and performing analytics.
- Data Analysis: Basic skills in understanding and interpreting data results to assist with feature improvements and debugging.
Monitoring & Troubleshooting
- Datadog: Experience with Datadog for system monitoring, creating dashboards, and setting up alerting for performance metrics.
- CloudWatch: Skills in configuring AWS CloudWatch for tracking logs, metrics, and system performance.
Other Essential Job Functions & Skills:
- Knowledge of Auth0, Postgres, Kafka, Node.js, Express.js, and React.js
- Knowledge of C#; JavaScript, Web APIs, MVC development patterns, and .NET Core.
- Strong understanding of authentication protocols (e.g., Auth0, SAML, OAuth, OpenID Connect).
- Experience with multi-factor authentication (MFA) solutions.
- Experience with database stored procedures, functions, and views.
- Experience with Microsoft SQL server.
- Strong analytical skills and problem-solving skills needed to manage multiple technical challenges simultaneously.
- Position may require performing job duties outside of normal business hours.
Preferred Experience
- Advanced knowledge of technical documentation.
- 2 years working with Real Estate Data
Education & Work Experience:
- 2 years of proven work experience in developing and delivering IAM solutions.
- 3 years of proven work experience in developing and delivering solutions.
- Bachelor’s degree in science, math, or engineering.
Disclaimer:
This job description is not intended to be a complete list of all responsibilities, duties or skills required for the job and is subject to review and change at any time, with or without notice, in accordance with the needs of FMLS. Since no position description can detail all the duties and responsibilities that may be required from time to time in the performance of a job, duties and responsibilities that may be inherent in a job, reasonably required for its performance, or required due to the changing nature of the job shall also be considered part of the job holder’s responsibility.