Develop high-quality software design and architecture
Identify, prioritize and execute tasks in the software development life cycle
Develop tools and applications by producing clean, efficient code
Automate tasks through appropriate tools and scripting
Work closely with clients and cross-functional departments to communicate project statuses and proposals.
Analyze data to effectively coordinate the installation of new systems or the modification of existing systems.
Managing the software development lifecycle and monitoring system performance.
Communicating key project data to team members and building cohesion among teams.
Perform validation and verification testing
Collaborate with internal teams and vendors to fix and improve products
Document development phases and monitor systems
Extensive experience in software development, scripting and project management
Experience using system monitoring tools (e.g. New Relic) and automated testing frameworks
Experience with databases and Object-Relational Mapping (ORM) frameworks (e.g. Hibernate)
Knowledge of selected programming languages (e.g. Python, C++) and the Java/J2EE platform
In-depth knowledge of relational databases (e.g. PostgreSQL, MySQL) and NoSQL databases (e.g. MongoDB).