Full-Stack Software Engineer
This individual will work closely with internal and external resources and will function as a Software Engineer specifically tasked with Data Engineering on a multi-functional team.
As a Full-Stack Software Engineer, you will contribute towards designing, developing and maintaining our application enhancement efforts at various layers of our platform.
Work within a growing Agile development team on high-impact features, helping the team deliver on our next-generation enterprise web-application:
- Design, develop, test, deploy and maintain rich web applications and micro-services
- Build the infrastructure required for optimal extraction, transformation, and loading of data from a variety of data sources using PostgreSQL and AWS ‘big data’ technologies.
- Build analytics tools that utilize the data pipeline to provide actionable insights into customer acquisition, operational efficiency and other key business performance metrics.
- Embrace and implement modern technologies and frameworks
- Promote innovative and elegant software design while actively helping to drive the team toward best practices and solutions with a focus on security, reliability, testability, and maintainability
- Take responsibility and ownership of your projects
- Perform code and design reviews
- As time goes on you may be asked to coach and mentor other engineers on the team
- 3-5+ years of experience in creating well-written applications, with ideal experience being comprised of Laravel / Vue.js / Nuxt / PostgreSQL / TailWind CSS
- Advanced working SQL knowledge and experience working with relational databases, query authoring (SQL) as well as working familiarity with a variety of databases.
- Experience building and optimizing ‘big data’ data pipelines, architectures and data sets.
- Proficiency with at least one server-side languages/frameworks such as PHP and Laravel
- Familiarity with database technology such as Postgres, Oracle, and MySQL.
- Experience working through the software development life cycle on software development teams and the associated tools (git, Jira, confluence, etc.)
- Successfully deployed code/features, multiple times, while working in an Agile environment
- Working knowledge of message queuing, stream processing, and highly scalable ‘big data’ data stores.
- Experience with big data tools: Hadoop, Spark, Kafka, etc.
- Implementing cloud infrastructure (one of AWS, Azure or GCE), virtualization and/or container technology
- Passion for keeping current on trends related to frontend architectures, performance techniques, accessibility, localization, security and web design/user experience
- Comfortable working on a team that experiments with its processes and practices as well as evolving them when necessary
- Comfortable working on distributed onshore/offshore team
- Bachelors or M.S. Degree in Computer Science or a related field (or equivalent level work experience)
- Partnering and teamwork
- Ability to work with little oversight
- Attention to detail
- Very organized / Methodical
- Critical / Analytic / Objective
- Data collection, management and analysis skills
- Excellent communication skills, both verbal and written
- Team-oriented and personally committed to continuous improvement
- Demonstrate ability to interface effectively and positively with all members of the organization, suppliers and customers
- Computer literacy for basic Microsoft Office applications and Google platform