This role is for a highly experienced Software Engineer to design, develop, and work on the implementation and testing of sophisticated software products and technology platforms. The ideal candidate combines strong hands-on software engineering capabilities with experience in software methodology, software architecture, cloud computing, data design, generative AI, enterprise integrations, and enterprise application development.
This position is intended for an experienced hands-on software engineer who can operate at the design, develop, test, deploy and support levels across web, native and mobile applications. The successful candidate will be comfortable writing and reviewing custom production software, designing systems, supporting technical design discussions, breaking-down complex requirements into engineering tasks, estimating development effort, identifying technical risks, and working directly with other engineers, product management, project management, UI designers, quality assurance, business teams, and IT 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, DB design, API’s), native applications, and mobile application architectures (e.g., flutter).
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 are 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 applications, 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 codebases (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, unit test creation, testing and debugging.
• Establish, update, train others and write code based on coding standards.
• Design software for new products and major enhancements to existing systems. Support technical design discussions with software engineering teams.
• Translate business and functional requirements into technical designs and implementation approaches.
• Create technical design diagrams, UML artifacts, system diagrams, data-flow diagrams, integration diagrams, database designs and other technical documentation.
• Evaluate design 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.
• Familiar with and able to effectively use source code control tools and software release standards.
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, this role 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 improving 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 design diagrams, System designs, UML artifacts, Data-flow diagrams, API specifications, Technical requirements, Data models, Integration specifications, software environment installation and standards, Engineering standards, Deployment environments and processes, monitoring plans and solutions, automated test scripts 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 role 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.
• Write software for front-end UI experiences for web based, native, and mobile apps.
Enterprise Applications & Integrations
Experience developing or integrating enterprise applications and platforms is desirable.
Experience with Salesforce and Salesforce integration 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 design, and Generative AI. Experience with mobile application development is a plus with tools such as flutter. Ability to learn and effectively use new software languages, software libraries, IDE’s, debug tools 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.
• Professional experience as a hands-on software engineer.
• Demonstrated experience designing and writing code for production software systems.
• Understanding 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.
Skills Required
- Bachelor’s degree in Computer Science, Computer Engineering, Software Engineering, or a closely related technical field
- Professional hands-on software engineering experience designing, developing, and supporting production software systems
- Strong proficiency in C, C#, C++, Python, JavaScript, PHP, React or Angular, HTML, and CSS
- Experience with SQL, database and data design, API development, application architecture, distributed systems, and cloud computing
- Experience designing scalable, high-performance, cloud-based applications and understanding software architecture and system design
- Strong understanding of Agile software development practices
- Experience translating technical requirements into engineering tasks, estimating effort and complexity, and identifying risks and dependencies
- Strong written and verbal communication skills, including communicating technical designs and architecture diagrams
- Strong quantitative and analytical problem-solving skills
- Experience developing and supporting multiple software products or codebases concurrently
- Strong technical documentation skills
- Proficiency with Azure DevOps, Jira, Git, Microsoft Loop, Confluence, Lucid, Figma, IDEs, and AI-assisted development tools
- Experience developing or integrating enterprise applications and platforms
- Experience with Salesforce and Salesforce integrations
- Experience with mobile applications
- Experience with mobile application development frameworks such as Flutter
- Ability to collaborate effectively with distributed, cross-functional engineering teams
- Ability to work full-time onsite in the Houston, Texas office five days per week
- High sense of urgency and ability to meet deadlines and changing priorities
- Receptiveness to performance feedback within a team environment
What We Do
alliantgroup, LP is the leading international tax specialty services provider, working with CPA firms and their clients to ensure companies receive the full benefit of federal and state tax incentives to create jobs and spurring innovation. No other firm has alliantgroup's combination of talent, resources, and experience to substantiate business claims. We hear time and again from our clients how much they value our industry knowledge, attention to detail, and consideration for their time. Our people and culture set us apart as a firm, and our staff includes professionals from a diverse array of fields, including architecture, engineering, software development, chemistry, and accounting. alliantgroup also maintains an active Strategic Advisory Board of former law and policymakers, bringing a deep bench of expertise from Washington insiders on the forefront of tax legislation. In addition, our firm works closely with industry and CPA organizations to educate and spread the word of the many credits and deductions available to small to medium-sized businesses.

.jpg)







