What are the responsibilities and job description for the Full Stack Engineer position at Veriday Inc.?
We are seeking an experienced Full Stack Senior Software Engineer who wants to work on a cross-functional agile development team for 6 months of contractual employment with the potential for extension or full-time employment. The person hired for this position will partner with product management to understand business pain points then design and build new solutions. Our application stack includes (among other things) ReactJS on the front end; Groovy, Java, Spring, Cassandra, and Oracle on the back end. We also stream data to Google Cloud Platform for analytics and BI dashboard reporting using BigQuery and Google Data Studio. Our team doesn't yet use pair programming for all engineering tasks, but encourages it for difficult problems and for general knowledge sharing. In addition to designing and building new software the person hired for this position will work with other engineers in a DevOps manner to support CI/CD tooling and provide second-tier production support of the team's applications.
What you will do as a Sr. Software Engineer:
- Build high-performance, highly available and scalable distributed systems
- Build the simplest possible thing that will continually deliver working software to customers
- UI development, ReactJS, Redux, Jest,Cypress.io
- Service development, REST, HTTP, Java, Spring, Groovy, Spock, NoSQL (Cassandra), Oracle, XML, JSON
- Prioritize, communicate clearly, and consistently deliver results
- TDD, paired programming, code reviews, and aggressive refactoring
- Work with open source software and tools (e.g. Spring, Apache, Tomcat, Jenkins, etc.)
- Share knowledge with peers to lessen knowledge silos, help peers grow and make the team better.
Soft Skills:
- Courage to communicate in an honest and direct manner
- Willing to accept decisions that depart from your opinion
- Able to draft user stories and acceptance criteria
- Enthusiastic and self-motivated
- Excellent organizational skills
Minimum Requirements:
- 3 or more years of experience as a software engineer, coding new software
- 3 or more years of experience coding in Java, Groovy, or other object oriented language
- 1 or more years of experience with Test Driven Development, Pair Programming, and/or other aspects of Extreme Programming (XP)
- 1 or more years of experience working on an Agile software development team
Preferred Skills/Experience:
- Knowledge of modern deployment, CI/CD, and configuration management tools
- Ability and aptitude to dig into and solve challenging problems and proactively avoid problems
- Experience in building web UI with ReactJS, or other JavaScript frameworks
- Scripting, automation, and troubleshooting of processes and systems; scripting in the shell and at least one of the following: Ruby, Perl, or Python
- Google Cloud Platform BigQuery, Google Data Studio, or other BI tooling
- Networks, security, firewalls, load balancers, DNS, and other infrastructure components
This is an eXtreme Programming (XP) team. Along with other XP practices, all production code is developed using pair programming and TDD.
We offer a competitive salary, remote workspace, and great people to collaborate with. If this job sounds perfect for you, please apply with your profile.