Alliantgroup

Senior Software Engineer

Houston, TXPosted Oct 14, 2026

This role is for a highly experienced Senior Software Engineer to design, develop, and lead the implementation of sophisticated software products and technology platforms. The ideal candidate combines strong hands-on software engineering capabilities with substantial experience in software methodology, software architecture, cloud computing, data engineering, generative AI, enterprise integrations, and enterprise application development.


This position is intended for an experienced hands-on software engineer who can operate at both the implementation and architectural levels. The successful candidate will be comfortable writing and reviewing custom production software, designing system architectures, leading technical design discussions, breaking down complex requirements into engineering tasks, estimating development effort, identifying technical risks, and working directly with and mentoring other engineers and quality assurance resources to deliver high-quality software solutions.


The role will involve development of advanced technology solutions involving customer facing web and mobile products, big data, search, graph technologies, enterprise data, front-end, back-end, content publishing, benchmarking tools, and cloud-based architectures for both internal and external solutions and products. Work will include browser-based (C#, dot-net, Angular, PHP, Python, CSS, HTML), native applications, and mobile application architectures (e.g., flutter).


The Senior Software Engineer will work closely with software engineers, architects, product managers, UI designers, project management, technical leadership, data engineers, AI engineers, infrastructure teams, quality assurance, devOps, client teams, and other stakeholders. The position requires excellent written and verbal communication and the ability to collaborate daily with geographically distributed engineering teams, including teams in the United States and India.


Key Responsibilities:


Software Engineering

• Accurately interpret requirements, design, develop, test, debug, deploy, and maintain enterprise software applications and technology platforms.

• Write high-quality, maintainable, scalable, secure, and well-documented production code. Experience using generative AI tools to accelerate quality software design, code and test solutions. Very strong math skills is important.

• Participate throughout the complete software engineering lifecycle. Ability to quickly analyze and respond to hosting and hot-fix deployments.

• Analyze complex technical problems and develop practical, scalable solutions.

• Review existing software and recommend improvements to architecture, performance, maintainability, security, and reliability. Analyze advancements in market technologies and design patterns to recommend and incorporate into planned solutions.

• Conduct and participate in requirements, design, code, test plan and deployment plan reviews.

• Establish and promote software engineering best practices, coding standards, testing practices, safe incorporation of generative AI engineering results, and development processes.

• Troubleshoot complex application, infrastructure, integration, data, and performance problems. Extensive skills in debugging best practices.

• Develop reusable software components, services, APIs, and frameworks where appropriate that align to design.

• Experience supporting multiple code-bases (products) in parallel as needed.

• Strong technical, functional and support documentation writing skills and experience.

• Able to mentor other software engineers and associates at varying levels of experience.


Software Design & Engineering

• Hands on software coding.

• Design software and system architectures for new products and major enhancements to existing systems. Lead technical design discussions with software engineering teams.

• Translate business and functional requirements into technical architectures and implementation approaches.

• Create architecture diagrams, UML artifacts, system diagrams, data-flow diagrams, integration diagrams, and other technical documentation.

• Evaluate architectural alternatives and make recommendations based on scalability, performance, security, maintainability, cost, and implementation complexity.

• Design distributed systems and cloud-based applications.

• Define application boundaries, service interfaces, APIs, data flows, dependencies, and integration patterns. Develop software code, documented code, and unit tests. Define and use project file structure standards including security related assets.

• Identify architectural constraints and technical dependencies early in the development lifecycle.

• Help establish technical standards and architectural patterns across products.

• Ensure architectural decisions are appropriately documented and communicated to the engineering team.

Big Data & Data Architecture

• Analyze and select large-scale data assets for use in custom software product solutions. Design and implement large-scale data systems and architectures.

• Develop data ingestion, transformation, processing, storage, indexing, and retrieval solutions. Design data models appropriate for application, analytical, search, graph, and AI workloads.

• Determine appropriate data stores based on data characteristics, query requirements, scale, performance, and application needs. Develop and integrate data pipelines and data-processing systems.

• Use relational, graph, search, semantic, unstructured and other data technologies.


Application Security & Infrastructure Security

• Incorporate security considerations into application and system architecture.

• Develop secure software and follow secure coding practices.

• Understand authentication, authorization, identity management, access control, and data protection.

• Work with Microsoft Entra ID, Azure DevOps, and cloud identity architectures.

• Identify security vulnerabilities and architectural security risks.

• Collaborate with security and infrastructure teams on security requirements and remediation.

• Consider security, privacy, and data protection requirements when designing


AI and data systems.

• Ensure security is addressed throughout the software development lifecycle.

Scalability, Performance & Reliability

• Design systems capable of scaling appropriately as users, transactions, data volumes, and workloads increase.

• Analyze application and infrastructure performance.

• Identify system bottlenecks and develop performance optimization approach.

• Design for appropriate availability, reliability, fault tolerance, and recoverability.

• Evaluate architectural tradeoffs between performance, scalability, cost, complexity, and maintainability. Participate in performance testing, functional testing and security testing.


Engineering Task Definition & Estimation

While this is an engineering position rather than a project-management position, the Senior Software Engineer is expected to contribute substantially to engineering planning and execution.


Responsibilities include:

• Break complex technical requirements into manageable engineering tasks.

• Define technical implementation steps and dependencies.

• Estimate development effort and technical complexity.

• Identify assumptions underlying technical estimates.

• Identify technical risks and implementation uncertainties.

• Identify contingency approaches when technical approaches may not achieve the desired result.

• Help engineering teams establish realistic development commitments.

• Identify dependencies between software components, systems, teams, data, infrastructure, and third-party services.

• Communicate changes to estimates or technical approach as new information becomes available.

Agile Software Development

• Work effectively within an Agile software development environment.

• Participate in sprint planning, backlog refinement, technical discussions, sprint reviews, and retrospectives.

• Collaborate with product management to clarify requirements and acceptance criteria.

• Help ensure engineering work is appropriately defined before implementation begins.

• Maintain awareness of sprint objectives, technical dependencies, blockers, and delivery commitments.

• Provide technical input into prioritization and sequencing decisions.

• Continuously improve engineering practices and development processes.

Technical Risk & Contingency Identification

• Proactively identify technical risks that could affect product functionality, quality, security, performance, schedule, or scalability.

• Communicate significant risks to technical and product leadership.

• Develop alternative technical approaches when appropriate. Identify technical dependencies that could create delivery constraints.

• Evaluate new technologies and architectural approaches for potential implementation risks. Help engineering teams establish contingency plans for high-risk technical components.


Technical Documentation

Maintain clear and useful technical documentation throughout the development lifecycle.

Documentation examples include: Architecture diagrams, System designs, UML artifacts, Data-flow diagrams, API specifications, Technical requirements, Data models, Integration specifications, software environment installation and standards, Engineering standards, Deployment architecture and process, AI architecture, Big Data architecture, AI Search and retrieval architecture, monitoring plans and solutions, and test plans.

Experience with documentation and wiki platforms such as Microsoft Loop and Confluence is desirable.


Engineering Status & Communication

• Provide concise and accurate written and verbal updates regarding engineering progress. Communicate completed work, current activities, upcoming work, blockers, technical risks, and dependencies.

• Clearly communicate technical issues to both engineering and non-engineering stakeholders. Maintain effective communication with distributed engineering teams across multiple time zones.

• Collaborate daily with technology teams in the United States and India.

• Ensure important technical decisions and issues are documented rather than relying solely on verbal communication.

• Participate effectively in technical meetings and design reviews.


Technical Tools & Collaboration

Experience with, or ability to work effectively with, tools such as:

• Microsoft Azure DevOps suite, ADO Projects, Jira, Microsoft Loop, Confluence, Lucid, Figma, Microsoft Office Suite (e.g., PowerPoint, Word, Excel), Git/source-control platforms, Software IDE’s, AI-assisted software development tools.


The engineer should be comfortable using technical collaboration tools to support requirements, architecture, development, documentation, design, and engineering execution.

User Interface & User Experience

Knowledge of UI and UX design is a plus.


The Senior Software Engineer should be able to:

• Understand UI/UX requirements and design specifications.

• Work effectively with product and UX/UI designers.

• Interpret Figma designs and translate designs into software implementations.

• Identify technical implications of UI/UX decisions.

• Contribute technical recommendations regarding usability, performance, responsiveness, and implementation feasibility.


Enterprise Applications & Integrations

Experience developing or integrating enterprise applications and platforms is desirable.

Experience with Salesforce and Salesforce integrations is a plus.

The engineer should understand enterprise integration patterns involving:

• REST APIs, Web services, Data integration, Authentication and authorization security, Event-driven architectures, Enterprise SaaS platforms, Mobile Applications, Cloud services, Relational and non-relational data systems.


Required Technical Skills

Strong professional experience with software programming languages and technologies including: C, C#, dot-net, C++, Python, JavaScript, PHP, Angular, HTML, CSS, SQL, Database design, Flutter, API development, Application architecture, Distributed systems, Cloud computing, Data architecture, Big data technologies, Generative AI, Machine learning libraries and frameworks, AI/ML standards and development practices. Experience with mobile application development is a plus with tools such as flutter. Ability to learn and effectively use new software languages, software libraries, and software engineering tools. Use of Hangfire is nice to have. Deploying custom software solutions to Microsoft Azure environments (or other similar cloud service providers) is nice to have.


Required Qualifications

• Bachelor's degree in Computer Science, Computer Engineering, Software Engineering, or a very closely related deep technical discipline.

• Significant professional experience as a software engineer and senior software engineer.

• Demonstrated experience designing and implementing production software systems.

• Strong understanding of software architecture and system design.

• Experience designing scalable, high-performance software systems.

• Experience with database design and data architecture.

• Experience with cloud-based software development.

• Strong understanding of Agile software development methodologies.

• Experience breaking technical requirements into engineering tasks.

• Experience estimating software development effort and complexity.

• Ability to identify technical risks, dependencies, and contingency approaches.

• Strong written and verbal communication skills.

• Ability to create and communicate software architecture diagrams.

• Ability to collaborate effectively with distributed engineering teams.

• Experience working with modern software development and collaboration tools.

• Ability to work full-time onsite in the Houston, Texas office five days per week.

Keep exploring

View all software engineering jobs