Backend Software EngineerRemote as FreelancerFulltime
About WoolsocksWoolsocks is a financial services application that empowers its members to make the most of their money while leading the way for socially conscious behaviour. Woolsocks is built around multiple themes and offers various financially related services.Today there are endless opportunities to save money, but it’s easy to miss out on them. We believe technology can help you spend less and save more. That’s why we created Woolsocks. A smart app that helps you find personalized saving opportunities that suit you best and help put more money in your Woolsocks.
About the jobIf you would like to develop backend features in a state-of-the-art infrastructure, have a self-starter attitude and tech-driven curiosity, know that a good opinion must be shared, and are willing to contribute together with a commited team, you can proceed with reading.
We are looking for an experienced Software Engineer who will be responsible for designing and developing a highly decoupled micro services systems that can handle complicated business flow and can interact with various 3rd party systems at scale. In this role, you will have the opportunity to build from the ground up with an obsession towards making these experiences memorable for the customers.
What you will be doing· Design, implement and test software services (mainly Go, a bit of Kotlin/JAVA with Spring)· Manage availability, latency, scalability and efficiency of Woolsocks Software Services· Analyze Software performance and system tunning· Be doing bug fixing and write monitoring and detection tools to prevent recurrence· Work in “microservice mesh” application development and Agile environment· Review and influence ongoing design, architecture, standards and methods for operating services and systems· Continuous learning and researching for identifying shortcomings and opportunities for software services improvements· Have fun with your team!
What will help you succeed?Being an expert in:· Preferably Go, experience in other languages like C++ or JAVA can come in handy· Data structures, algorithm design, problem-solving, complexity analysis, secure coding best practices and remediation· Designing, building and maintaining large-scale, high-performance systems and frameworks· Object-oriented concepts and systems design patterns· Analyzing and troubleshooting distributed systems· Tackling problems of load, scale, and optimizations of complex large-scale deployments· Modern server scaling technologies on Linux (e.g., async, non-blocking I/O, multithreading)
Being experienced in:· Architecture and design of cloud-scale distributed systems· IP networking, network analysis, performance and application issues· Event-driven architecture and technologies· Message-Brokers(e.g. RabbitMQ, ActiveMQ)and Event-Streaming( e.g. Kafka) solutions· RDBMS (PostgreSQL, MySQL) or distributed NoSQL Database systems (e.g. MongoDB, Redis, Memcached)· Automated CI/CD solutions· High availability and business continuity principles· Cloud technologies (preferably GCP)· Containerization and container orchestration technologies (preferably K8s)· One or more of: Python, Shell, Perl