Determine and identify technical requirements based on interactions with business analysts and knowledge of enterprise architecture. Design architectures, including the software, hardware and communications, to support the total requirements, as well as to provide for present and future cross functional requirements and interfaces.
Interact with project management to plan project schedules and technical direction. Provide quality assurance review and the evaluation of existing and new products. Develop high-level system design diagrams for program design, coding, testing, debugging and documentation. Develop and implement moderate to complex applications on one or more platforms.
Requirements
- Teamwork
- Analyze User Needs
- Analytical Thinking
- Comfortable Writing and Analyzing SQL Queries
- Critical Thinking
- Document Application Process
- Troubleshooting
- Programming Experience
- Attention to Detail
- Backend Development
- Problem Solving
- Verbal and Written Communication
- Software Design
Qualifications and Experience
- Has mentored junior software developers on design patterns, development best practices and DevOps trade-offs.
- Bachelor’s Degree in appropriate field of study or equivalent work experience
- Experienced with all ancillary technologies necessary for Internet applications: HTTP, TCP/IP, POP/SMTP, etc.
- Working knowledge of object-oriented design and development skills
- Successful track record of developing quality software products and shipping production ready software
- Good understanding of Web Services protocols such as REST, SOAP and API design for extensibility and portability
- Experience debugging distributed systems with high data loads.
- Deep understanding of distributed data model
- Solid understanding of the Software as a Service (SaaS) model in the online environment
- Design, develop and implement unit and scenario testing for existing code base and for new functionality under development.
- Experience with Scrum/Agile development methodologies
- C#, .Net Framework 4.0, OSGi, JSON, XML, REST, NoSQL Database, Distributed System, RDBMS, MVC frameworks, Design Patterns
- Experience with smart metering systems would be advantageous.
- Ability to use version control software such as Git.
- Experience as an applications programmer on large-scale data base management systems.
- Experience writing SQL queries for Oracle, PostgreSQL or another Relational Database is required
- Knowledge of computer equipment and ability to develop complex software to satisfy design objectives.
Interested in joining a dynamic team – contact Colin – Mirriam