Software Engineer (React/Node.js)
About Forte
Great software doesn’t happen on its own. It takes great people. That just happens to be our forte. With nearly 20 years of matching top engineering talent with preeminent and innovative brands, we look for people who are inquisitive, resourceful, dedicated to their craft, and driven to help companies build great software. If this sounds like you, read on.
Project description
Our client is one of the largest independent real estate brokerage and residential brokers in the U.S. You will be the core developer on a b2c SaaS web application launched in several national markets across the U.S. This is a small, agile development team with an entrepreneurial spirit, giving you the opportunity to be an integral part of the product’s success.
Requirements (While we recognize that great developers can learn new languages quickly, the ideal candidate will meet most of these criteria.)
- Bachelor’s Degree in Computer Science/Software Engineering
- 3+ years of experience in application development, focusing on building large-scale enterprise web applications using modern JavaScript, TypeScript, Node.js, React, Redux, and AWS services.
- Expertise with Node frameworks such as HAPI, Express, and Sequelize
- Experience building responsive web applications using ReactJS, HTML, CSS, and JavaScript
- Expertise in building Node RESTful API backends
- Experience with CI/CD pipelines
- Proficient in cloud platforms like AWS, Azure, or GCP (AWS highly preferred)
Nice to Have
- Programming experience with PHP and back-end frameworks such as Spring, Laravel or Django.
- Experience building projects in either Angular/Vue
About You
You are an Agile Team Member
Job #1 is to be part of a self-organizing team – a team that solves complex challenges and builds working software. Being a good team member means you contribute to it’s success by:
- Collaborating with your PO to groom backlog and break down stories into small functional slices
- Maintaining an attitude of commitment through outward display of willingness.
- Impressing responsibility on others by displaying ownership in tasks.
- Practicing positive interactions – lean on encouragement in place of judgment.
- Being open to new ideas and encouraging innovative practices amongst peers
- Actively working on broadening or adding a skill
- Asking for assistance when problems become challenging
- Balancing best practice decisions with delivering high business value (right vs right now)
- Delivers stories/tasks that are “committed” within a timebox
You are also a Product Developer
The Product Developer is focused on delivering a quality and timely product. They contribute to the development of large and small-scale solutions that enable the business by building software that is in compliance with “what” needs to be done (stories) and “how” they are constrained (frameworks, patterns and practices).
Principal Accountability | Technical Sprint Planning
- Understands and collaborates with the Principal Engineer to adhere to solution level design
Principal Accountability | Software Development
- Active member of a product team that solves complex challenges and builds working software
- Develops with an awareness for team members needs
- Produces high quality code and is a dependable resource for peers
- Keeps development tasks updated (time remaining) to provide insight into risk/complexity
- Learns to develop code in small chunks and checks in code (at minimum) daily
- Contributes to merge up/down through development process
- Carries out root cause analysis on defects to ensure fixes are happening in the right way
Principal Accountability | Quality Control
- Practices unit test development with a focus on increasing code coverage sprint over sprint
- Reviews code of other team members as a generally accepted practice
- Addresses technical debt constantly - escalating when it becomes risky to time or quality
- Proactively reaches out to the team to discuss “scope of impact” of code changes
- Balances the velocity of development tasks with those of testing tasks (lean concept)