Senior Software Engineer
Houston, TX
Full Time
Technology Strategy and Solutions
Experienced
Senior Software Engineer
The Senior Software Engineer position involves taking a lead role in the design, implementation, configuration, and maintenance of proprietary clinical research software products. This requires a seasoned professional proficient in Java, angular, microservices, micro Front Ends, unit testing, and building reusable components. The responsibilities encompass ensuring the seamless integration of Automatic CI/CD processes and utilizing DevOps practices. The ideal candidate should also bring experience with NoSQL databases and SQL Server technologies. This role demands strong technical skills, effective communication abilities, and a track record of successful software solution delivery.
DUTIES & RESPONSIBILITIES
KNOWLEDGE & EXPERIENCE
Education:
The Senior Software Engineer position involves taking a lead role in the design, implementation, configuration, and maintenance of proprietary clinical research software products. This requires a seasoned professional proficient in Java, angular, microservices, micro Front Ends, unit testing, and building reusable components. The responsibilities encompass ensuring the seamless integration of Automatic CI/CD processes and utilizing DevOps practices. The ideal candidate should also bring experience with NoSQL databases and SQL Server technologies. This role demands strong technical skills, effective communication abilities, and a track record of successful software solution delivery.
DUTIES & RESPONSIBILITIES
- Full Stack Development Proficiency: Demonstrated hands-on expertise in designing, coding, testing, and debugging web applications using Java, Angular, Node.js, SQL, and .NET.
- End-to-End Development Capability: Ability to develop both front-end client and back-end server software.
- API Development: Design, develop, and maintain robust and scalable APIs. Ensure seamless integration with front-end applications and other services - within a Cloud Architecture.
- CI/CD Expertise: Proven experience in CI/CD processes using tools such as Azure DevOps, Jenkins, etc. Work closely with DevOps teams to establish robust CI/CD pipelines, automate deployment processes, and ensure seamless software releases. Advocate for and implement infrastructure as code (IaC) practices to streamline development and deployment workflows.
- Frameworks and Technologies Competence: Working knowledge of JSP, Spring Core, Spring Boot/Microservices, and Service-Oriented Architecture (REST/SOAP).
- Cloud Technologies: Design and build cloud-native applications by employing containerization (specifically Docker) and orchestration (utilizing Kubernetes). Harness the capabilities of leading cloud services (Azure, or Google Cloud) to enhance scalability, reliability, and resource optimization.
- Security Best Practices: Adherence to industry best practices for secure coding and continuous learning to stay updated on evolving security threats.
- Code Integrity and Reviews : Uphold coding standards and implement best practices to ensure code quality. Conduct thorough and constructive code reviews, offering valuable feedback. Take an active role in mentoring junior developers, fostering a culture of continuous improvement in code quality and maintainability.
KNOWLEDGE & EXPERIENCE
Education:
- Bachelor of Science degree in Computer Science or equivalent education and work experience is required.
- Over 7 years of professional software development experience, demonstrating a strong emphasis on designing and implementing complex systems.
- UI Development Experience: Previous experience in crafting UI solutions using Angular, React.
- Operating System Versatility: Experience in working across both Linux and Windows environments.
- Database Mastery: Proficient in working with both relational databases (SQL Server) and NoSQL databases (e.g., CosmosDB, Elasticsearch).
- Container Technologies Proficiency: Hands-on experience with container technologies like Docker and Kubernetes.
- N/A
- Exhibit proficiency in multiple programming languages, such as Java, Python, JavaScript, or .NET.
- Possess solid expertise in both frontend (Angular) and backend (Node.js, .NET, etc.) development frameworks, databases, and cloud technologies.
- Showcase in-depth knowledge of cloud-native concepts and hands-on experience deploying applications on platforms like AWS, Azure, or Google Cloud.
- Display a strong understanding of microservices architecture, along with proficiency in containerization (Docker) and container orchestration (Kubernetes).
- Demonstrate excellent problem-solving skills and the ability to diagnose complex technical issues, providing effective solutions.
- Communicate effectively, possessing the capability to explain technical concepts to both technical and non-technical stakeholders.
- Exhibit familiarity with security best practices, authentication/authorization protocols, and data protection.
- Familiarity with agile development methodologies and tools (Azure DevOps, Git, etc.) is expected.
- Possess a passion for continuous learning and staying abreast of technological advancements
- Collaborative Team Player: A flexible team player with a proactive "get-it-done" attitude.
- Adaptability and Quick Learning: Ability to thrive in a rapidly changing environment and quickly adapt to new technologies.
- Analytical and Design Excellence: Strong analytical skills coupled with a keen eye for design and development.
Apply for this position
Required*