· 2+ years industry experience designing and building software tools, applications, or back-end multi-tiered distributed systems.
· Expertise in Computer Science fundamentals: data structures, algorithms, complexity analysis, object oriented design, unit & integration testing, and distributed systems architecture.
· Significant experience & proficiency with modern programming languages - Java, C, C++, C#, Python, etc.
· Proficiency with relational & non-relational databases and a broad range of software design patterns.
· Strong problem solving and troubleshooting skills.
· Experience and willingness to mentor more junior engineers helping them develop and grow their technical & leadership chops.
· Experience working directly with customers, stakeholders and peers, and effectively balancing their respective needs and requirements.
· Demonstrated track record of constructively identifying problems, proposing solutions and making software better than when you found it.
· Strong verbal and written communication skills working in team environment.