Senior Software Engineer Position Overview Professional Management Enterprise, Inc. is seeking an experienced and motivated Senior Software Engineer to join our engineering team. In this role, you will make an immediate impact on our team, products, and engineering practices by contributing to all phases of the software development lifecycle, including requirements analysis, application design, development, testing, and deployment. As a Senior Software Engineer, you will collaborate with cross-functional teams to develop scalable, reliable, and maintainable software solutions that support business objectives and deliver exceptional customer experiences. You will have the opportunity to influence technical decisions, improve engineering practices, mentor fellow team members, and contribute to solutions that make a meaningful difference for our clients. As a Senior Software Engineer, your responsibilities will include:
Analyze business and technical requirements and translate them into effective application designs and software solutions.
Design, develop, test, deploy, and maintain full-stack web applications using modern web technologies.
Build and maintain scalable REST APIs and backend services that support application functionality and integration.
Contribute to team objectives related to system performance, software quality, scalability, security, and long-term maintainability.
Write clean, efficient, well-structured, and reusable code that follows established engineering standards and best practices.
Conduct code reviews, provide constructive feedback, and help establish consistent development practices across the team.
Perform root-cause analysis, troubleshoot technical issues, and implement effective bug fixes and preventative improvements.
Develop and maintain SQL queries, stored procedures, functions, and other database components as required.
Design and implement core components, shared libraries, and reusable solutions that enable other developers to work efficiently.
Collaborate with product managers, designers, QA professionals, and other stakeholders to evaluate requirements, estimate effort, and determine appropriate technical approaches.
Participate in Agile ceremonies, including sprint planning, daily stand-ups, backlog refinement, and retrospectives, as applicable.
Identify opportunities to improve development workflows, testing strategies, deployment processes, and application performance.
Stay current with emerging technologies, software development methodologies, and industry best practices.
Provide technical guidance, support, and mentorship to team members and collaborate across teams to achieve shared objectives.
What You Will Need Required Qualifications
5+ years of professional experience in full-stack software development, with experience building and supporting production applications.
Strong proficiency in JavaScript and TypeScript.
Hands-on experience with Node.js, React, Redux, HTML, and CSS.
Experience working with relational databases and designing effective data models.
Proven ability to write and optimize SQL queries, stored procedures, functions, and related database logic.
Experience designing, developing, and maintaining RESTful APIs and backend services.
Strong understanding of computer science fundamentals, including data structures, algorithms, object-oriented programming, and software design principles.
Experience using Git and modern version control workflows.
Familiarity with testing frameworks and tools such as Enzyme, Mocha, or comparable testing technologies.
Demonstrated ability to optimize application code for production deployments, including performance, reliability, and maintainability.
Ability to maintain clean code architecture and ensure software components align with established design patterns and best practices.
Experience designing and implementing reusable, shared components that support consistent development across a team.
Strong analytical, troubleshooting, and root-cause analysis skills.
Ability to make sound technical decisions, evaluate trade-offs, and take accountability for results.
Effective written and verbal communication skills, with the ability to collaborate with technical and nontechnical stakeholders.
Experience working in an Agile development environment, such as Scrum or Kanban.
Preferred Qualifications Experience with one or more of the following technologies and platforms is a plus:
Amazon Web Services (AWS)
Java
.NET
Redis
Docker and containerized application development
MongoDB
PostgreSQL (Postgres)
Experience with continuous integration and continuous deployment (CI/CD), cloud-based application architecture, automated testing, and modern DevOps practices is also beneficial.