Software Engineer at Modernize

Category: Engineering
Location: Austin, Texas
Description:

What we’re looking for:

Modernize is looking to hire a Software Engineer that is self-driven, is a critical thinker, and likes to have fun building products! Our downtown office space has an open floor plan that encourages collaboration and pushing each other to be our best. We take care of our team as well, with a solid benefits package, quarterly bonuses, regular company outings, free coffee, beer, snacks, music, and great co-workers–these are all included with employment at Modernize.

In this position, you will research, design, build, test, deploy, and maintain web and backend applications that leverage large-scale marketing data to optimize web-based user experiences. Your knowledge of databases, programming languages, and scalable web architectures will be put to the test as you build out applications that optimize the experience of millions of online users. Working in a tight-knit team environment, you will participate in architecture discussions, code reviews, sprint planning, and deployments. Our current code base is primarily LEMP stack in a distributed AWS environment, so we seek applicants that have experience in a similar ecosystem.

What you’ll do:

  • Translate business requirements into software

  • Implement software modules, database schemas, deployment and migration scripts

  • Define new features ensuring a high performing and scalable user experience in the cloud

  • Collaborate with peers on technical design, work estimation and feature implementation on data model, business logic, and user interfaces

  • Participate in sprint planning by understanding the effort, risk, and priority of remaining work committed to a software release

  • Perform peer code reviews and collaborate with team to improve overall code quality

  • Contribute ideas for continually improving the team’s productivity, release quality, and job enjoyment

  • Develop procedures for testing existing and new software releases in both staging and production cloud environments

  • Create, execute, and maintain manual and automated tests

  • Test user stories for incomplete information or incorrect assumptions and conclusions.

  • Document and communicate testing procedures and results

  • Collaborate with cross functional teams to prioritize and resolve issues

What you need:

  • 2+ years experience in software development (PHP required; Python or Javascript a plus)

  • Solid grasp of common design patterns
 and object oriented design

  • SQL experience (MySQL preferred)

  • Experience working with large transactional datasets and combining transactional data with web, social and mobile data

  • Excellent communication skills with the ability to present and translate complex information to internal teams

  • Experience with performance tuning and memory profiling

  • Experience building automated unit, integration tests and test driven development

  • Experience with source control systems (Git preferred), and continuous integration and deployment (CI/CD) methodologies.

  • Basic *NIX and web server (Nginx or Apache) administration skills

  • Stellar written and verbal communication skills

  • Extremely detail oriented

  • Excellent problem solving and interpersonal communication skills

  • Comfortable working in a fast-paced Agile environment

Nice to haves:

  • Experience working with and designing for a cloud environment (e.g., AWS, Azure, Google)

  • Experience building systems from AWS components (e.g., EC2, RDS, SNS, SQS, Lambda, etc.)

  • Experience working with Vagrant

  • Experience working with Docker

  • Written or designed API’s

Who you are:

  • Loves to solve problems

  • Motivated, driven, and works well independently and with a team

  • Always researching a better more efficient way to fix something

  • Looking for the opportunity to join a fast-growing engineering team