Position: Junior Engineer (AdTech)
Company: Sigma Software
Experience required: 1y
English level: intermediate

How about building future-proofed, AI-powered dynamic experiences for our customers? Sounds exciting? Then keep reading.
We invite a Junior Engineer to join an AdTech project and be responsible for turning our product vision and roadmap into best-in-class code that delivers an awesome customer experience. We need people who can deliver solutions with an optimal balance between development efforts, deployment costs and time-to-market, all while ensuring product requirements are met. 
As a member of the Development team, you will play a key role in the development of a platform composed of thousands of Kubernetes containers that serves billions of requests per day. This role requires a person with fully up-to-date knowledge of the latest software coding practices, tools and languages. 
Ready to dive into this exciting project?

With the deprecation of cookies and mobile IDs, addressability at scale has become an industry-wide challenge. Working with partners that have a future-proofed audience strategy and ID-less solution has become paramount, as has leveraging highly engaging and impactful creative to capture customers’ attention.
Where the client has traditionally focused on AI-powered audiences and geo-location, we are evolving with the industry to refocus on what truly matters in advertising, creative. We are leveraging our powerful machine learning engine to deliver high-scale, dynamic creatives that shine in a native environment. Contextually relevant ads deliver greater results. 
The software engineering team is the engine that drives our ambition to build the world’s best mobile advertising platform. 

To grow the team, a client is recruiting additional Back-end Software Developers who will be responsible for turning our product vision and roadmap into best-in-class code that delivers an awesome customer experience.

**Responsibilities**
- Design, implement, and debug components under supervision of senior personnel
 - Be an active learner in Node.js and Go
 - Design and develop unit, integration, or automated end-to-end tests
 - Dev-test own code, check key scenarios, corner and edge cases prior to changing task development status to Done
 - When designing and implementing portions of software, follow best engineering practices required by clients' needs
 - Participate in requirements clarification sessions, raise questions about assigned task inputs and requirements, in ready-to-send form, where necessary
 - Peer-review design and code with middle and senior level specialists, be proactive and request reviews instead of waiting for somebody to enforce it
 - Participate in estimation and planning sessions
 - Track progress of assigned tasks against estimate and schedule. Raise any foreseen issues proactively and in advance
 - Participate in project and team meetings, provide relevant contributions and information
 - Report status and progress according to the project
 - Actively and permanently work on self-development and self-education, making lessons learned for further advancement to a Middle position
 - Improve your qualification within the area(s) of expertise at various training courses, seminars and/or other educational organizations


**Requirements**
 - Experience developing in one of the following programming languages: TypeScript/Node.js, Java, C++, Ruby, Python. 
 - Desire to learn Go language and TypeScript (Node.js)
 - Understand and have some basic experience in container-based architectures (especially Kubernetes/AWS)  

**Personal Profile**
 - Some experience working in distributed international teams would be a benefit
 - Feeling comfortable working with Agile frameworks and CI/CD
 - Good analytical, problem-solving, and documentation skills
 - Good communication skills, ability to work in a highly collaborative team environment with a heavy remote structure
 - Being passionate about software engineering