A Senior Engineer on the Groupize team is responsible for the implementation of the Groupize application. They contribute to the direct implementation of business requirements as well as participate in or drive architectural decisions on tooling, methodology or code structure for the application.
A UI / Frontend focus indicates that the candidate is skilled at, and interested in, contributing to the architecture of the web user interface layer. This includes defining strategies with respect to client side code compilation, rendering and organization. Requirements that impact this section of the application will primarily be their responsibility, but they may be asked to take on work in more of a traditional “backend” role as necessary.
A Senior Engineer reports to the VP of Engineering and acts as a contributing member of the engineering team, participating in all activities related to the execution of sprints and the development of the application.
Responsibilities:
- Implement business requirements, as defined by the Delivery Manager, VPE and CCO.
- Provide feedback on requirements during implementation including possible changes or complications that could improve the product or expedite delivery.
- Take an active role in sprint planning, estimating, standups and other software delivery activities.
- Support and maintain the Groupize application including participating in off-hours support rotation as needed.
- Write clean, secure code.
- Adhere to best practices with respect to application development and security.
- Regularly unit test code and ensure any changes function as defined in the requirements.
- Communicate with your team and the Groupize team as a whole
- This includes helping engineering team members as needed to resolve any roadblocks and drive toward a successful sprint for everyone.
- Communicate with the VPE, CCO or Delivery Manager about application concerns or possible feedback on requirements.
- Clearly communicate any possible security vulnerabilities that may result from a new requirement or piece of functionality.
- As a front-end focus
- Help define the architecture for javascript, css and other user interface assets
- Be able to translate an application design into a clean and effective codebase.
- Manage and support developer tooling with respect to asset delivery including webpack, npm, scss and other tools. Provide feedback to the VPE on ways to improve development workflow.
- Monitor and manage security vulnerabilities with external front-end dependencies.
- Information Security:
- Participate in annual information security training.
- Participate in annual OWASP Top 10 training for engineers.
- Adhere to all elements of the Groupize Information Security Program specifically those items outlined in the Software Development Policy
- This includes identifying possible application vulnerabilities and alerting the VPE and other engineering team members.
- Proactively monitor and report information security incidents to their direct manager or to the VP of Engineering.
Requirements:
- Bachelor’s Degree in computer science or a related field, or equivalent experience in the field.
- An understanding of application development architectural principles, specifically those around the management and delivery of performant and well managed user interfaces.
- 3+ years of Ruby on Rails development experience including:
- Understanding of the asset pipeline and/or webpack delivery or equivalent asset delivery platform
- Understanding of key elements of application performance.
- Experience with PostgreSQL or similar SQL-based database.
- Experience with common front-end tooling including:
- SASS/SCSS
- Flex-box based layout
- ES6+ / Javascript
- Polyfills, browser support, transpilation and other common asset tools/patterns.
- Webpack or equivalent bundler.
- Semantic UI, Bootstrap or equivalent front-end frameworks.
- NPM / Yarn or equivalent dependency managers.
- Strong communication skills including the ability to present technical topics to business customers in a clear and effective manner.
- Ongoing interest and desire to learn new things and bring those learnings back to the team.
Additional Desired Skills / Background:
- React JS or a similar component-based javascript framework.
- Strong desire to help create a clean, organized, reusable codebase.
- Knowledge of the travel or meetings industry.