Full Stack Java/React Developer

Portland Webworks
Portland, United States of America
3 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Remote
Portland, United States of America

Tech stack

Java
JavaScript
A/B testing
API
Agile Methodologies
Amazon Web Services (AWS)
Apache Ant
Application Lifecycle Management
Unit Testing
Databases
Data Structures
Software Design Patterns
Gradle
Java Persistence API
Liquibase
Machine Learning
NoSQL
Scrum
Next.js
Software Engineering
TypeScript
Web Applications
Tailwind
React
Spring-boot
Backend
SASS
Git Flow
Material Design
GraphQL
React Native
Front End Software Development
Code Restructuring
Docker

Job description

As a Full Stack Developer, you have a keen grasp of the full application lifecycle, from breaking down requirements to writing testable code for the front-end and the back-end, to documenting the details so it's easy to make updates in the future. You are great at drawing the line between what happens on the front-end and what happens on the back-end to take advantage of the best aspects of each. You can juggle performance, ease-of-implementation and ease-of-change because you have visibility of and vision for the full-stack.

Requirements

You can analyse a set of business requirements, break them down into technical features and tasks and visualize how the different aspects of the system will come together through data structures, APIs and persisted entities. You are as comfortable crafting a UI and creating the necessary APIs and server-side functionality to drive it as you are analyzing a set of external APIs and figuring out what kind of API patterns it will best support.

You know enough about all aspects of application development to make good decisions about architecture choices to allow team members who are more expert in each area apply their expertise efficiently. You might not be a UX expert but you are aware of good javascript patterns, libraries and UI Kits to get things going from a visual perspective. You might not be a database expert but you can define entity relationships that will make the necessary lookups performant. You might not be an API expert but you know how to design REST interfaces and GraphQL schemas that will securely expose the right levels of detail needed by each type of user of the system.

You understand techniquest for accessibility, performance, unit and integration testing, internationalization, software design patterns, refactoring techniques, and branching strategies. You know the tools for creating modern web applications and cross-platform mobile applications. Our current preferred stack is Java with Spring Boot on the back-end and React and React Native for front-end. We also like GraphQL, NextJS, JPA, Liquibase, Tailwind, Ant Design and Material UI Kits, Typescript, Gradle, Sass, AWS and Docker. But we're perpetually monitoring and exploring the technology landscape and have been known to dabble with PWA, Machine Learning, NoSQL and JamStack solutions on occasion. A deep curiosity and openness to new technologies and techniques is the only thing we tend not to change up.

You love taking (sometimes ambiguous!) client requirements and translating them into best-practice patterns. You can help less experienced developers find the right ways of doing things, and you are just as happy churning out deliverables yourself. You have great communication skills, good attention to detail and a strong sense of high-quality product.

High-quality to you means:

  • well aligned to internal designs and to the client's vision
  • a clean and reliable user experience
  • high levels of accessibility
  • consistency both within the current project and with industry best practices
  • highly testable and tested
  • reusable to enable increased efficiency in the future
  • maintainable both from a development perspective, and also from a client perspective

Our projects are centered around our teams. We do more than speak the Agile lingo, we strive for a truly agile culture. A background of working with Scrum or Kanban is a plus but what's really most important is having experience and willingness to work in a highly collaborative team setting. An important part of our team focus involves being able to coordinate work with the rest of the team. A valuable skill is being able to identify large blocks of functionality from requirements and design artifacts and break them down into suitable features and tasks.

As much as you have an eye for detail, you have an eye on the future. Application development is constantly evolving so we're looking for someone to bring some new skills and capabilities to our existing teams. Whether you have an opinion on some of the emerging light-weight headless CMSs or have A/B testing experience to bring a more data driven approach to decision making we value the unique perspectives you can bring to our existing teams.

Our Why

We strive for excellence in everything we do. We value wisdom, curiosity, and a sense of fun.

Benefits & conditions

The benefits that we offer include:

  • 100% Paid health and dental benefits for employees
  • Health Reimbursement Account (to minimize out of pocket costs)
  • Flexible Spending and Dependent Care Accounts
  • Company matching retirement plan
  • Annual profit sharing
  • Flexible scheduling
  • Up to 25 days paid vacation
  • Free parking (you will love Old Port parking)
  • Friday happy hours

About the company

We're a small company of overachieving consultants, taking on big challenges for our clients. We build web applications, mobile applications and application solutions for a wide range of clients, with a focus on the public sector. We use a team-based approach, with teams consisting of designers, software developers, quality assurance engineers and project managers. This allows us to provide the full lifecycle of project delivery to clients from initial concept consulting to final implementation.

Apply for this position