- Leading software design process; asking questions, “poking holes,” offering suggestions, etc.
- Refactoring old code or transitioning legacy applications/services
- Testing software via automated methods, including but not limited to writing and running unit tests, functional tests, integration tests, as well as manual methods.
- Proposing and prototyping new technologies and/or approaches to solve existing or upcoming problems.
- Collaborate with other engineers, managers, and executive team to define, design and ship product deliverables researching, designing, implementing, and testing of software for mobile devices, web server systems or supporting tool environments.
- Lead concept, development and delivery of new software product initiatives.
- Educating other engineers; assisting technical leads and fellows with architectural decisions.
Qualified candidates will be seasoned builders of secure, scalable code that understand how high-performing teams want to build and deliver software. Candidates must be able to work in an agile development life-cycle. Above all, candidates must have a passion for innovation, learning and improvement. To be considered, candidates must be highly innovative, flexible and self-directed, with a competitive instinct to drive products to success in the marketplace, must have command of software development tools and techniques, must be able to handle multiple competing priorities in a fast-paced environment, and must speak intelligently and with authority about a variety of technology topics. In addition, qualified candidates must have:
- Bachelor of Science in Computer Science, Computer Engineering, Electrical Engineering or related field or experience and at least 10 years of professional full time developer experience.
- 10 years of practical experience using design patterns and object oriented principles in languages like Python, Java, etc.
- High proficiency in communicating designs with diagrams and written statements
- Proven expertise in go-to-market software design
- Experience developing within Linux/Unix environments
- Strong debugging and Instruments skills
- Solid understanding of Web Development: DOM, HTML5, CSS3, SASS, JSON, XML
- Solid understanding of Model-View-Controller (MVC) architectures
- Solid understanding of Object Oriented designs
- Solid understanding of RESTful web services / APIs
- Solid understanding of cloud platforms: e.g. AWS, OpenStack, Google App Engine
- Experience leveraging relational data stores: e.g. MySQL, Oracle, Postgres
- Solid understanding of NOSQL data stores: e.g. MongoDB, CouchBase, DynamoDB
- Solid understanding of Object-to-Relational Mapping (ORM) libraries: e.g. Django ORM, ActiveRecord, Hybernate
- Experience with version control solutions such as Git
- Solid understanding of development methodologies including Scrum, Agile, and test-driven development
- Proven successful track record showing an aptitude for engineering and product sense