5+ years of experience in software development, comfortable and confident in one or more procedural or oop programming languages, ability to write readable, robust, testable and reusable code, understanding of relational databases and using orms, comfortable with system architecture, strong communication skills