Principal Full Stack Engineer (Remote)

  • Legalmatch Com
  • Verified

Job Description

As a Principal Software Engineer, you will be responsible for leading and implementing technical decisions and efforts of a software engineering team, overseeing and performing the development of high-quality software products, and enhancing our existing software platforms alone or with individuals of the same or similar role. The role requires a combination of strong leadership, advanced technical capabilities, and excellent communication skills. The successful candidate must have a deep understanding of the software development lifecycles, modern software engineering technologies and methodologies, and the ability to guide and inspire a team of talented engineers. 

The Principal Software Engineer is the basic unit member of a future engineering department capable of taking the business where it needs to go. High performing, skilled engineers - capable of thriving in both a team environment and as individuals. In a gist, this is a coding/technical role with good management ownership mindset. 

Your responsibilities will include: 

  • leading and managing a team of software engineers, fostering a creative and cohesive unit capable of delivering complex software projects 
  • coordinating with scrum masters, project managers and other software engineers to plan, design, develop, test, and maintain web-based and desktop applications 
  • providing technical leadership in all aspects of our software development processes 
  • overseeing the design, development, and implementation of new software systems and enhancements to existing systems 
  • ensuring all software engineering projects are delivered on time and to the agreed quality standards 
  • continually updating technical knowledge and skills and sharing them with the team 
  • maintaining high standards of software quality within the team by establishing good practices and habits 
  • providing regular performance feedback, coaching, and career development to team members 
  • facilitating root cause analysis of system issues and implementing resolution strategies. 

Requirements

  • Demonstrates a positive and proactive attitude, embracing challenges with enthusiasm and a willingness to learn new skills.  
  • Problem solver, actively seeking innovative solutions and experimenting with different methodologies to improve efficiency and effectiveness. 
  • Collaborative team player, possessing strong communication skills and a commitment to working effectively with others to achieve shared goals. 
  • with a minimum of 7 years of hands-on experience in software development, including at least 3 years in a leadership capacity 
  • with extensive experience in various programming languages such as PHP, Java, Python, JavaScript, etc.  
  • competent in Object Oriented Design, functional programming, and even with straight forward scripting to solve problems. 
  • with solid experience as a full stack developer, capable of working proficiently at both the backend and frontend levels (ex: HTML, ES6, Virtual DOM like ReactJS, and DOM like bootstrap + jQuery). 
  • is aware of good User Experience (UX) practices and trends, capable of effectively proposing how to improve User Experience and understands when to trust clients/stakeholders on their chosen path of UX 
  • is familiar with modern software architectures (microservices, event-driven architectures) and deployment methodologies and tools (CI/CD, Docker, Kubernetes) 
  • believes that software quality is not the work alone of the Quality Assurance/Control team 
  • has practiced unit testing and Test-Driven Development (TDD and optionally Behavior-Driven Development (BDD) 
  • with experience in software development methodologies like Agile/Scrum. 
  • has a strong knowledge of database systems, both SQL and NoSQL, and entity relationship modelling. 
  • has excellent problem-solving and detail orientation skills 
  • possesses strong communication and interpersonal skills 
  • has proven ability to manage and prioritize multiple, concurrent projects 
  • is familiar with cloud platforms (AWS, Azure, Google Cloud) is a plus 

Additional Requirements: 

  • has a proven track record of managing all aspects of a successful software product throughout its lifecycle 
  • with solid understanding of the technology landscape including current and emerging technologies and best practices 
  • can inspire and motivate teams to deliver innovative and exciting solutions with an appropriate sense of urgency 
  • has demonstrated success in leading and managing a team of software engineers with a commitment to their growth and professional development 
  • has an exceptional project management and organization skills 
  • with strong customer focus and ability to manage client expectations 
  • proficient in system-level design and experience with web services and service-oriented architecture 
  • is familiar with version control systems such as Git 
  • has an experience in testing frameworks and practices, including unit, integration, and automated testing 
  • has an experience in securing software applications 
  • with excellent written and verbal communication skills, including the ability to explain complex technical concepts to a non-technical audience. 
  • is flexible to adapt to rapidly changing conditions and priorities 
  • can multi-task, prioritize tasks, and quickly adjust in a rapidly changing environment 
  • can furnish a comprehensive portfolio or provide examples of projects where they have successfully led the software engineering effort 

Our ideal candidate possesses the following qualities and traits: 

  • proactive, adaptable, and flexible 
  • highly professional 
  • has the willingness to go the extra mile to achieve desired outcomes 
  • with strong collaboration and communication skills to work effectively with cross-functional teams 
  • with strong problem-solving skills 
  • committed to continuous improvements and willing to experiment with new approaches and techniques to work processes