Associate Software Engineer - Pay Web
Olo · Remote (United Kingdom) · Engineering
How You'll Make an Impact
-
Develop an understanding of the team's domain and technology stack and actively seeks guidance to grow technical expertise.
-
Handle small-to-medium features with support from more senior engineers, ensuring tasks are completed according to set timelines.
-
Write code adhering to established coding standards and participates in code reviews to learn best practices.
-
Collaborate with team members to understand feature requirements and implements solutions with guidance.
-
Focus on building reliable and maintainable software components, contributing to team deliverables with a focus on quality.
-
Utilise version control systems to manage code changes and maintain a consistent development workflow.
-
Participate in team meetings and sprint ceremonies, such as daily stand-ups and sprint retrospectives, contributing updates and feedback.
-
Engage in learning activities, including game days and training sessions, to build familiarity with the company's tools and processes.
-
Troubleshoot and debug issues with guidance, learning to identify and resolve common software bugs.
-
Demonstrate a willingness to collaborate with other engineers and stakeholders, developing teamwork skills necessary for larger projects.
-
Demonstrate ownership of the team's delivery pipeline, ensuring that code quality, testing standards, and deployment practices are continuously optimised.
-
Active participation in on-call duties is required, with specific responsibilities determined by your assigned team and area of expertise.
What Will Set You Up for Success
-
Bachelor’s Degree in Computer Science, Software Engineering, or a related field, or equivalent practical experience.
-
Minimum of one year industry experience in a Software Engineering/Development position (post academic studies)
-
Basic Programming Skills: Proficient in at least one programming language (ideally C#, TypeScript, React) and familiar with basic programming constructs and design patterns.
-
Version Control Systems: Basic understanding of version control tools (e.g., GitHub) and how to use them for source code management.
-
Unit Testing: Familiarity with writing unit tests to validate small software components and test-driven development frameworks (e.g., NUnit, Jest).
-
Distributed Systems Fundamentals: Basic understanding of how distributed systems work, focusing on building reliable components.
-
Collaboration Tools: Experience using collaboration platforms for development, such as Jira, Confluence, and GitHub.