Participate in all phases of the software development life cycle
Help design and implement functional requirements
Build efficient back-end features in Python/C#/Java
Integrate front-end components into applications
Manage testing and bug fixes
Prepare technical documentation
Collaborate with UX/UI designers to implement design into the code
Coach junior team members
Required:
5 years of experience writing microservices in C# or Python
1-2 years of experience working with .net Core preferably cross-platform.
Experience with major public cloud offerings and how to solution designs that are built around these technologies (AWS, Azure, Google Cloud Platform, and similar)
3 years of relevant experience data management platforms including relational and non-relational data engines (MS SQL, MySQL, PostgreSQL, Amazon Redshift, MongoDB, HDFS, Snowflake, Big Query, and similar)
3 years of relevant experience in highly available, scale-able, and resilient architectures
Preferred:
Awareness of wider micro-service ecosystem - 3rd party libraries, tooling, etc.
Experience in deploying and maintaining enterprise-scale applications in production using CI/CD pipelines.
TTD mindset with experience of automated testing frameworks. Experience implementing tools like Junit, Cucumber and Selenium
Advanced understanding of multi-threading applications against SQL and No-SQL database engines
Experience with low-latency, high-throughput web-services (1,000s of requests per second)
Experience with large dataset’s and memory management (Over 1 billion records)
Core knowledge of Python standard library and Pythonic conventions (PEP8, etc.)
Successful skillsets for this role are:
Eager to work with fellow developers, user experience designers, and product owners
Lead by example, sharing freely and emphasizing transparency in decision making
Build your teams' collective ability via collaborative techniques like pair-programming and whiteboard design sessions
Continuously learn and improve, and constantly explore new languages, tools, and techniques
Treat challenges as opportunities to advance your understanding
You are an early adopter, and an inquisitive, critical thinker, always seeking to expand your knowledge and experience
You know that many heads and a diversity of opinions make the best decisions