We’re in search of a Back-End Software Engineer that specializes in server-side components. In this role, you’ll primarily bring a depth of knowledge on basic algorithms and data structures. As a Back-End Software Engineer, on any given day you might be architecting new features for our customers, refactoring existing code to be more scalable, and seeing changes through to completion in a live environment.
- Strong computer science fundamentals including data structures, algorithms, complexity analysis, object-oriented design, and distributed systems.
- Design and create services and system architecture for your projects, and contribute and provide feedback to other team members.
- Help improve our code quality through writing unit tests, automation, and performing code reviews.
- Collaborate with a multidisciplinary team of Back-End Software Engineers, Project Managers, and System Administrators.
- Participate in brainstorming sessions and contribute ideas to our technology, algorithms, and products.
- Work with the product and design teams to understand end-user requirements, formulate use cases, and then translate that into a pragmatic and effective technical solution.
- Dive into difficult problems and successfully deliver results on schedule.
- Proven experience as a backend engineer
- Ability to work in a remote setup
- Ability to independently own and deliver features from start to finish
- Understand both how to write tests and the value of automated testing
- Experience with all phases of the software development life cycle, best practices, and Agile Software Development.
- Solid OOP and software design knowledge – you should know how to create software that’s extensible, reusable, and meets desired architectural objectives.
- Experience with Java, Ruby, or Golang and the willingness to learn new technologies
- Establish Back-End Software Engineer best practices
- Experience with Linux/Unix and scripting languages like Python
- Knowledge in database systems and NoSQL databases such as DynamoDB
- Experience with CI/CD processes and tools (e.g. Jenkins)
- Experience with containerization technologies (e.g. Docker)
- Experience with AWS is a plus (e.g. ECS, EC2, S3, DynamoDB, etc…)