We are seeking a Software Engineer II to join a small, energetic and collaborative team to help implement and expand upon our current product offerings to our residents, as well as our operations, marketing and leasing teams.

The ideal candidate has proficient knowledge to develop, maintain and troubleshoot cloud-based web and mobile applications using the latest technologies and tools. This role will be constantly learning from other team members through pair programming, collaboration and effective communication as well as providing mentorship, guidance and feedback to level I engineers.

You will be on the forefront of working on customer and employee facing applications as we build the next wave of technologies that will drive our resident experience to the next level. If you are motivated, passionate, a quick learner and have effective commination skills, this role is waiting for you!

Essential Job Duties and Responsibilities

  • Develop and deploy frontend and backend services with focus on high availability, low latency and scalability.
  • Assist and lead designing, developing, documenting, testing, and debugging new and existing software systems and/or applications.
  • Identify and resolve defects of advanced scope using proper engineering tools and techniques such as debuggers, emulators, simulators, and logic analyzers.
  • Exhibit advanced technical problem solving and debugging skills.
  • Promote and advocate best practices, design standards and procedures.
  • Team player that is willing to do what it takes to help the team succeed.
  • Work collaboratively and professionally in a team environment to achieve objectives.
  • Write, test, commit, review, deploy and document code.
  • Provide support and maintain existing products and add new features as requested by customers.
  • Anticipate and adapt to a changing business environment and requirements.
  • Collaborate and communicate with Stakeholders, Product Owners, Quality Assurance and other teams in an agile work environment, including but not limited to design meetings, planning, stand ups, & retrospectives.
  • Participate regularly in Agile/Scrum activities and learn from experienced developers.
  • Perform other duties as assigned.

Education and/or Experience

  • Bachelor’s Degree in Computer Science or Computer Engineering from an accredited college or university or equivalent work experience or successful completion of a development boot camp.
  • At least two (2) years of work experience in software development

Preferred Qualifications and Requirements

  • Proficient knowledge of NodeJS and asynchronous programming.
  • Proficient knowledge in Linux/Unix systems, particularly on AWS.
  • Proficient knowledge in client-side JavaScript frameworks (like React) or other client side web development.
  • Proficient with structured query language (SQL) and relational database concepts. Understanding of PostgreSQL a plus.
  • Proficient knowledge of the software development life cycle (SDLC).
  • Working knowledge of Heroku.
  • Working knowledge of CI/CD concepts and practical experience.
  • Follows and promotes Agile practices and principles.
  • Proficient knowledge and understanding of system design, data structures and algorithms.
  • Proficient knowledge of contemporary web API design (REST, hypermedia, profiles, relations).
  • Ability to demonstrate knowledge, education, experience and/or training necessary to develop complex software in JavaScript and other programming languages.
  • Demonstrate strong and effective verbal, written, and interpersonal communication skills.
  • Provide logical and meaningful contributions in discussions and meetings.
  • Provide feedback and guidance in code reviews.