About the role
Overview and Summary
We are Automotive Business Scientists. We empower our clients to turn overwhelming industry data into discovery, action and measured success. We are unique market leaders because we find and examine possibilities through the clarity of a scientific lens. To solve the toughest client challenges, we need curious, creative and dedicated people to join our team.
We search out individuals who align with our core values and who adhere to the highest standards of integrity and ethics in everything they do. Our company is filled with the brightest minds and the biggest hearts at every level. We recognize that personal success takes on many different forms of the course of our lives – both professional and personally – so we provide a myriad of benefits and programs focused on Wellbeing, Growth, Community and Recognition. One size does not fit all, so we encourage every Urban Scientist to discover their own formula for success. If this sounds like the kind of company you would like to work with, Apply Now!
POSITION OVERVIEW
We are looking for a Senior Software Engineer with full-stack development skills to be an important part of building our latest innovative multi-tenant, micro-services solutions. We use some of the latest technologies along with some core foundational technologies such as .NET, SQL Server and Angular. Successful candidates will possess a passion for technology, seeking out and learning the best options for solving problems. A Senior Software Engineer will often take a lead role in the design and development of features and capabilities with an eye to improving the process we use to deliver best in class software.
Workplace flexibility has taken on a whole new meaning here at Urban Science. The requirements of each team, role and employee can look quite different. Leaders work with their teams to determine the right balance for working in-person and remotely, considering the needs of the business, our clients, cross-functional projects, individual work, and individual preference.
This role has current Hybrid Workplace flexibility local to our Detroit office. Candidate must be available and willing to work in-person two days per week.
URBAN SCIENCE DOES NOT AND WILL NOT PROVIDE IMMIGRATION RELATED SPONSORSHIP FOR THIS ROLE, NOW OR IN THE FUTURE.
Essential Duties and Responsibilities
ESSENTIAL DUTIES AND RESPONSIBILITIES
- Maintain our goal: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Use Agile methodologies to deliver solutions that will support our customers, mainly using the Scrum framework to support solution development, implementation, and support.
- Work in a team environment to build our solutions, and with regular retrospection, improve our team culture and processes through continuous inspection.
- Lead in team technical discussions where design ideas are presented and reviewed resulting in a team decision on the best approach.
- Lead in systems design, design reviews, software development, code reviews, quality engineering, and continuous integration and continuous delivery.
- Develop and maintain databases in support of application development, modification and creation of queries and integration.
- Assist with the creation of necessary technical documentation in support of programming and design activities such as design diagrams, release notes, code comments, use cases, and training materials.
- Provide support to internal and external clients currently utilizing software applications, including assisting with the delivery of solutions.
- Assist with training, including developing training materials and delivering training to staff.
- Mentor other Software Engineers.
Qualifications - Education and Experience
KNOWLEDGE, SKILLS, ABILITIES, AND COMPETENCIES
To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skills, abilities, and competencies required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
Preferred familiarity with, or desire and ability to learn:
- Extensive hands-on experience with Angular and TypeScript, including component-based architecture, state management using NgRx / Redux patterns, API integration, and front-end performance optimization.
- Experience with Module Federation and mapping libraries such as Mapbox is a plus
- Proven ability to collaborate with UX designers to deliver intuitive and visually appealing user interfaces.
- Experience developing and integrating AI solutions using Azure AI Foundry, Azure OpenAI, or similar platforms, including AI copilots and intelligent assistants.
- Experience with AI-driven development tools such as GitHub Copilot to enhance developer productivity.
- Knowledge of modern AI architectures, including RAG, MCP, agentic AI, and enterprise integration with data, APIs, and security frameworks.
Web technologies such as HTML, CSS, JavaScript
- Utilization of technologies such as C#, .NET 8+, REST APIs, and SQL Server
- Modern JavaScript web development techniques (i.e., Angular)
- Relational and dimensional database design methodologies and/or unstructured data solutions
- Tools such as Visual Studio (VS), Git, Azure DevOps, GitHub.
- Automation testing for quality engineering disciplines such as unit testing, smoke testing, and integration test.
- Continuous integration and continuous delivery tools (Azure DevOps).
- Understanding of potential performance, security, scalability and maintainability issues.
Successful candidate will have substantial knowledge of:
AI-enabled application architecture
- Microservices Architecture, Event-Driven Architecture, Service-Oriented Principles
- AI-assisted software development workflows (GitHub Copilot)
- Understanding of Model Context Protocol (MCP) concepts and AI agent integration patterns
- .Net Framework & .NET Core
- Web API design and implementation
ORMs (Entity Framework, NHibernate)
Software patterns (Dependency injection, MVC, etc.)
Code management best practices and one or more tools (Git, Azure DevOps, GitHub)
Requires ability to
- Function on an Agile (Scrum) team utilizing ADO for task management and source control.
- Independently analyze requirements to determine how applications function in order to build effective designs and tests.
- Use industry standard design patterns.
- Lead implementation of testing methodologies (test driven development, unit testing, performance/load testing).
- Learn and follow Urban Science’s Software Development Life Cycle (SDLC).
- Grow as a subject matter expert within the solution as it relates to the business requirements, implementation and delivery of software, data within platform, and the software artifacts themselves.
- Monitor and check work deliverables ensuring high quality, accuracy and having a strong attention to detail.
- Prioritize competing demands, manage multiple concurrent tasks and adapt to changing priorities.
- Find improvements in processes, projects, and software.
- Independently engineer a feature or epic from ideation with product owner to delivery of those specified items, while understanding the impact in relation to the rest of the software platform and associated business.
Oral Communication
Requires the ability to compose and verbally deliver information of varying levels, using appropriate grammar, tone, inflection and non-verbal cues, while also listening to and correctly deciphering verbal communication delivered by others.
Written Communication
Requires the ability and capacity to communicate ideas, facts and data in writing using appropriate grammar, syntax and sentence structure including the ability to create technical documents.
Analytical Thinking/Reasoning
Requires the ability to understand a situation by breaking it apart into smaller pieces, and/or tracing the implicati