This site uses cookies. To find out more, see our Cookies Policy

Let’s Connect Today!

NextGen Person

UI Software Engineer in Fenton, MO at NextGen

Date Posted: 12/6/2018

Job Snapshot

  • Employee Type:
    Full-Time
  • Location:
    Fenton, MO
  • Job Type:
  • Experience:
    Not Specified
  • Date Posted:
    12/6/2018

Job Description

The Tech Stack

The stack you'll be working in has two main parts:

GraphQL! All requests go through a single GraphQL endpoint. This endpoint is stitched together from a bunch of different microservices which are broken out according to what they are (so for example: budgets, programs, etc). These are almost entirely Node/Apollo Express servers, although we have some specialized integrations with data stores that can natively speak in GraphQL. Tested using Jest. Our SPA consists of a couple layers:

Tooling

    • A growing Lerna Monorepo. We use Yarn Workspaces to get us a single, deduplicated set of dependencies. (Our node microservices and front end is all in here).
    • Webpack 4 for all our building & bundling
    • We do NOT need to support IE11!!!
    • Tested using Karma/Mocha/Chai
    • Workbox for progressive web application goodness
    • Sketch & Invision/Zeplin for consuming designs
    • CI/CD via Jenkins, Sauce Labs
    • Docker & JFrog(Or what we use for responsibilities which would typically be considered framework-level concerns)
    • Framework
    • Redux for state management. We're moving everything to be dux/duck-structured, and use the flux-standard-action format.
    • @vaadin/router along with some Redux logic to handle all our routing
    • Application
    • Our application is built using lit-html. In fact, most of our application is built and shaped through heavily embracing emerging browser standards like customElements, shadow-dom, service-workers, etc.
    • Note: if you're not familiar with lit-html, you can think of it as React without needing the virtual dom, and with all the nice convenience syntax from Vue. All of the usual diffing and calculations on what dom updates need to occur that used to be taken care of in javascript are just taken care of natively by the browser instead!
    • lit-html is a lesser known library (although just give it a year and that will be different), so here's why the fact we're using this means you'd benefit when choosing to work here. Two things:
    • lit-html is faster than React/Vue/Angular/etc, and is only 5 kb (source: https://www.stefankrause.net/wp/?p=504).
    • lit-html is where web development is converging. It recently inspired a React maintainer to propose reimplementing the jsdom using the same approach. (Also, it's at parity with all the React Concurrent goodness: https://www.youtube.com/watch?v=ypPRdtjGooc)The Culture
    • Key Points:
    • If you have any experience with Vue, React, Angular2+, or quite honestly any declarative templating library, you'll feel right at home!
    • We're shifting from what was essentially a consulting culture to a product-oriented culture. Big difference being, in a consulting culture, you mainly measure how much time you put in. In a product world, how much time you put in simply doesn't matter. What's the output?
    • Regularly have "Teaching Thursdays" walking through various new developments
    • High-trust - moving towards trunk-based development as fast as we can, we make sure to always write the word "blameless" whenever the next two words are "post-mortem"
    • Dev schedules are very flexible and family-friendly
    • We use sAFE (scaled agile framework) as a default for our workflow until we think of something that makes more sense for us/solves our pain points better
    • Fairly greenfield project with tons of room for experimentation/specialization wherever you might want to go.
    • In general, whoever has the most skin in the game on a certain decision gets to make the ultimate choice
    • You
    • Are comfortable putting your skin in the game behind what you think the best idea is
    • Update your understanding whenever new information and approaches are present
    • Don't mind nerdy coworkers who do https://adventofcode.com/ for fun Jaime-is this ok for us to list since it has a reference to "advent"?
      • (some of us even admit a strange love for pop quizzes)
    • Take responsibility for the effect your communication has on others
    • Are comfortable asking questions immediately when something doesn't make sense to you
    • Have, or can rapidly develop a deep understanding of modern javascript
    • Find fulfillment shipping software that gets the job done then gets out of the way
    • Are happiest when you're growing