Senior Full-Stack Software Engineer
At Censinet, weβre on a mission to take the risk out of healthcare. As a Senior Full-Stack Software Engineer on our innovative, fully-remote (US only) team, you'll collaborate with talented colleagues to employ AI and other cutting-edge technologies to create impactful solutions that protect patients and shape the future of healthcare cybersecurity. Our commitment to consistent delivery - shipping high-quality features every two weeks - ensures that your work will make a meaningful impact immediately. We value ownership, responsible urgency, and continuous improvement. If you share these principles and are energized by the pursuit of excellence, pushing technological boundaries, and growing both personally and professionally, we invite you to join us in creating a safer, more secure healthcare ecosystem for all.
Responsibilities
Lead Feature Development: Serve as the Feature Lead for key projects, consuming draft feature specs and designs, providing constructive feedback, and anticipating potential challenges. Author technical plans, lead scoping and estimation efforts, assign tasks, report status, and ensure successful project execution.
Repeatedly Deliver High-Quality Solutions: Balance visionary thinking and practical execution to craft thoughtful, customer-focused interfaces and solutions. Ship these high-quality features to our growing customer base every two weeks, ensuring they align with customer needs and enhance user experience.
Relentlessly Improve: Actively engage in requirements, design, architecture, code, and test plan reviews. Propose methods to solve problems more effectively and efficiently, while maintaining a perpetual learnerβs mindset and committing to continuous personal and team growth, always striving to raise the bar on quality and performance.
Measure Twice and Cut Once: Prioritize high-leverage work by thoroughly refining requirements and front-loading technical design. Approach preparation as a strategic investment, where each hour spent upfront yields significant time savings and reduces rework, ensuring smoother execution downstream.
Collaborate Cross-Functionally: Own your work by actively participating in every stage of the feature lifecycle and ensuring that outcomes align with customer needs and company goals. Collaborate with Product Management and Design to deeply understand customer workflows and needs, brainstorm requirements and workflows, deploy, support, and iterate.
Foster a Collaborative Culture: Seek and embrace feedback, support team members, and contribute to a culture of transparency, humility, and mutual respect. Actively participate in knowledge sharing and mentoring to elevate the collective capabilities of the team.
Maintain Technical Excellence: Commit to automated unit and integration testing, code reviews, refactoring, and the minimization of technical debt. Advocate for and implement security best practices and performance optimizations, staying informed about the latest industry developments to ensure best-in-class technical standards.
Innovate Continuously: Identify opportunities to leverage new technologies and patterns, driving the development of proof-of-concept projects that demonstrate feasibility and value. Stay up-to-date with industry trends and best practices in software development and cybersecurity, integrating this knowledge into your work to maintain our competitive edge.
Adapt and Thrive in a Dynamic Environment: Demonstrate resilience and adaptability in the face of changing priorities and challenges. Balance the need for speed with the commitment to customers and quality, making informed decisions quickly while ensuring the reliability and effectiveness of our solutions.
Qualifications
Required Experience
- 5+ years of experience as a Software Engineer
- 5+ years of experience with Ruby on Rails
- 5+ years of experience with React
Technical Skills
Required
- Mastery of HTML and CSS (to the extent that anyone can truly master CSS)
- Proficiency with SQL, database design, indexing, and query optimization
- Practical experience in API design
- Proficiency with automated testing tools such as Rspec, FactoryBot, and Cypress
- Strong understanding of Big O notation and data structures, with a proven ability to optimize code for performance, memory utilization, and scalability
- In-depth knowledge of secure coding practices and defending against common web application attack vectors (e.g., XSS, SQL injection)
- Extensive experience with Git branching strategies, pull requests, and conflict resolution
Preferred
- Experience with TypeScript
- Experience leveraging AI technologies, particularly LLMs,Β to build AI-powered features/products (prompt engineering, retrieval-augmented generation (RAG), evals)
Required Functional Skills
Technical Planning and Estimation: Accurately scope and estimate project timelines and resource requirements to ensure that features are delivered on time. Break down complex projects into manageable tasks and identify potential risks early in the process.
Task Management: Demonstrate strong organizational skills by managing multiple tasks and priorities efficiently. Track progress, manage deadlines, and ensure that all team members are aligned and on schedule.
Work Independently: Take ownership of tasks and projects, managing your workload with minimal supervision. Demonstrate the ability to make informed decisions autonomously, while maintaining accountability for outcomes and ensuring that your contributions align with team objectives and company goals.
Communicate with Clarity and Purpose: Effectively communicate ideas and intentions in both written and verbal exchanges.
Software Architecture: Design scalable, maintainable, and efficient software architectures. Make informed decisions on technologies, design patterns, and system structure to align with both short-term and long-term goals.
Debugging and Troubleshooting: Diagnose and resolve software issues in both development and production environments.
Code Refactoring: Improve existing codebases by restructuring and optimizing code without altering its behavior, enhancing readability, maintainability, and performance.
Code Review: Conduct thorough code reviews to ensure adherence to requirements, coding standards, and best practices. Provide constructive feedback that fosters learning and improvement within the team.
Quality Assurance (QA) Collaboration: Work closely with QA teams to ensure that features meet the highest quality standards. Review test plans and collaborate on test case development to ensure software meets requirements.
UI Design: Design user interfaces that are intuitive, user-friendly, and visually appealing.
Performance Optimization: Profile and optimize application performance to ensure fast load times, efficient resource usage, and scalability.
Continuous Integration/Continuous Deployment (CI/CD): Set up and manage CI/CD pipelines to automate the build, test, and deployment processes.