Senior Software Engineer (Erlang)
Рексофт - Санкт-Петербург
Reksoft is a software engineering services provider with headquarters in St. Petersburg and delivery offices across Europe. We specialize in supplying software development services, products and solutions to enterprises, ISVs, and system integrators operating in a variety of industries.
We're looking for talented developers to join multinational team of professionals!
We are looking for a highly motivated, positive and experienced Senior Software Engineer to work as part of the Data Access & Search team to design, develop, and deliver components of the Alert Logic Security as a Service (SaaS) solution.
As a member of distributed development team, you will take responsibility over backend infrastructure that comprises a number of micro services and manages data access and search execution. The ideal candidate will possess a strong software development and automation background delivering novel software solutions for large-scale distributed data storage and processing systems.
- Design, implement, and test fast and scalable software in Erlang to be run in a distributed environment
- Drive challenging development processes within a multinational team of professionals, taking ownership over technical activities inside the team
- Follow Agile ceremonies within the team and provide comprehensive feedback on the development process, striving for its continuous improvement
- Manage task distribution within a small team of Engineers and drive the implementation effort to complete business goals and deliver high-quality results
- Take responsibility for deployed software components in the fields, being on on-call rotation along with other developers for emergency escalations that directly impact users
- Create efficient and elegant solutions using bleeding-edge technologies
- Accept challenges in designing and delivering solid code on time
- Participate in debates and discussions with technical specialists from all over the company
- Be proactive and responsive
- 5+ years of Linux/Unix software development experience in any of the following programming languages C/C++/Java/Python/Perl/Erlang (the latter is preferable)
- Proven experience with commercial backend software development
- Good understanding of micro-service architecture, knowledge of its advantages, disadvantages, and associated challenges
- Demonstrated experience with database management systems, both relational and distributed key-value storages like Riak
- Ability to foresee and bypass performance challenges in design of highly-available distributed software
- Prior experience leading development teams
- Good understanding of serialization formats, particularly JSON, protobuffs
- Strong understanding of TCP/IP stack and HTTP protocol in particular
- Comfortable working in a Unix/Linux environment and the command line
- Experience writing functional and unit tests
- Excellent English communication skills (upper-intermediate or advanced level)
- Experience with AWS/Azure IaaS tools and services
- Prior experience of commercial development in Erlang or any other functional programming language
- Understanding of testing and code verification process; ability to create and manage test plans
- Salary rates will depend on the interview result;
- International and friendly team;
- Full employment according to Russian Labor Law;
- Assistance during relocation;
- Well-equipped working space in modern business-center with good infrastructure;
- Social package (not only medical insurance, education, but also a rich corporate life in multinational team of professionals).