Senior Software Engineer (Backend Developer)
Upload My Resume
Drop here or click to browse · PDF, DOCX, DOC, RTF, TXT
Responsibilities
• Translate business requirements into clear, actionable technical documentation that guides development and testing. • Understand the purpose of new features and help communicate that purpose to team members. • Create design specifications, test plans, and unit tests for individual work scope. • Preemptively scan backlogs to surface important issues, apply relevant labels for triaging and tracking, and assist in prioritizing work. • Understand work processes and their interdependencies to ensure seamless integration. • Build new features or enhance existing ones based on defined specifications, ensuring scalability, maintainability, and security. • Evaluate existing software systems to identify areas for improvement, optimization, or refactoring. • Use profiling tools to identify and optimize inefficient code paths, memory usage, and system responsiveness. • Design and implement software systems in accordance with software development standards • Write clean, legible, efficient, and well-documented code. • Ensure timely and high-quality delivery of assigned tasks, contributing to overall project success and team velocity. • Participate in software testing to identify, document, and resolve bugs and other issues. • Participate in code reviews and other quality assurance activities to ensure software systems are robust and performant. • Debug and troubleshoot complex software issues and provide timely solutions. • Ensure adherence to software development best practices and processes. • Perform ongoing maintenance to ensure software stability, reliability, and alignment with evolving business needs. • Create and maintain comprehensive documentation to support development, testing, and long-term maintenance. • Collaborate with cross-functional teams to design, develop, test, and maintain software applications. • Collaborate with business and technical stakeholders to ensure shared understanding of requirements and implementation goals. • Communicate effectively with team members and stakeholders. • Manage projects and initiatives with moderate complexity. • Mentor junior team members and provide guidance. • Help to support the work of their peers by pair programming, reviewing code, and through mentorship. • Contribute to strategic planning and decision-making. • Contribute to hiring and retaining top engineering talent by conducting interviews, serving as an onboarding mentor and support/mentor new hires. • Continuously improve technical skills and stay up to date with emerging technologies. • Qualifications for Data Engineering domain: • Bachelor’s degree in Computer Science, Computer Engineering, or related field and a minimum of 5 years of relevant work experience in information technology (IT), software development/support and technology solutions. • 2-4 years of experience working in a customer-facing role and leading projects. • Proficiency in one or more programming languages (e.g., Java, Python, JavaScript). • Proficient in SQL, relational databases and relational data modeling. • Strong foundation in Data Structures and Algorithms (DSA) with a focus on implementing efficient solutions. • Proven expertise in R and Python backend development, including R package creation and adherence to community best practices. • Skills in data preprocessing, cleaning, and transformation using tools like Pandas, NumPy, and SQL. • Experience with R object-oriented programming (R6, S3). • Strong experience with Git, version control workflows, and working in Linux environments using command-line tools. • Familiarity with tools such as GNU Make, Docker, GitLab CI. • Background in clinical trial data management is a plus. • Any data provided as a part of this application will be stored in accordance with our Privacy Policy. For CA applicants, please also refer to our CA Privacy Notice.