Web & Mobile Developer
A technology solutions provider, at the leading edge of Mobile & Web technology, is looking for a Web & Mobile Developer to join their team. Below are some of the Web & Mobile Systems that the successful candidate will be required to help develop:
Cross Platform, Database Driven, Web & Mobile Based Systems
· Responsive Design (Multiple Devices)
· Single Page Site (Speed)
· Database Side Processing (Speed)
· Web API Integration with Third Parties
· Enhanced User Interface Options
· Server Side In Memory Options
· Improved Multi-User Environment
· SaaS Ready
DUTIES & RESPONSIBILITIES, NOT LIMITED TO:
· Solution Development and Delivery
· Creates efficient and logical databases for clients.
· Designs and codes superior technical solutions.
· Easily recognizes system deficiencies and implements effective solutions.
· Understands complex database concepts as well as the implications of different database designs.
· Effectively employs many different database design techniques.
· Possesses demonstrated work experience with more than one relational database management system.
· Possesses significant knowledge of client server and internet systems architectures.
· Creates well designed, reusable objects.
· Understands browser specific compatibility issues.
· Understands the benefits of the various design methodologies and object oriented environments.
· Documentation/Technical Authoring
· Working alone on simple to moderately complex systems or with colleagues on larger or more complex systems, produces outline technical system specifications covering for example: objectives, scope, constraints (such as performance, resources etc.), hardware, network and software environments, main system functions and information flows, data load and implementation strategies, phasing of development, requirements not met, and alternatives considered.
· Working alone or with colleagues, specifies user/system interfaces, including for example: menus, screen dialogues, inputs, reports, validation and error correction procedures, processing rules, access, security and audit controls, recovery routines and contingency procedures.
· Translate logical designs into physical designs taking account of target environment, performance requirements, existing systems and any potential safety-related aspects.
· Produce detailed designs including for example: physical data flows, file layouts, common routines and utilities, program specifications or prototypes, and backup, recovery and restart procedures.
· Document all work using required standards, methods and tools, including prototyping tools where appropriate.
· Provide guidance to less experienced colleagues as required.
· Develops relationships with client personnel that foster ties with our clients.
· Communicates effectively with clients to identify needs and evaluate alternative business solutions with project management.
· Continually seeks opportunities to increase customer satisfaction and deepen client relationships.
· Manages client expectations effectively.
· Conducts effective progress evaluations in a timely manner.
· Mentors those with less experience through informal channels.
· Seeks and participates in development opportunities above and beyond required training.
· Trains other employees through both formal and informal training programs.
· Suggests areas for improvement in internal processes along with possible solutions.
· Actively contributes to corporate knowledge base.
· Obtain diagnostic data to assist in the investigation and resolution of problems. Matches unresolved incidents against existing problems, known errors and other incidents. Ensures that incidents and problems in systems and services are fully documented within the configuration management defect/problem reporting system.
· Keep relevant staff informed of the status of systems and services, by producing reports/registers on defect/problem reporting data extracted from the configuration management system. Ensures that agreed actions relating to problem investigation and clearance are taken within the allotted timescales.
· Assist in the analysis of incidents and problems to show trends and potential problem areas, so that action can be taken to minimise the occurrence of incidents and to improve the process of problem reporting, analysis and clearance. Monitors plans and actions to investigate and resolve incidents and problems, including any suppliers and specialists involved, and contributes to problem management policy decisions
Software development/Software Creation
· Develop and maintain generic project management standards, processes and procedures.
· Support the setting up of individual project processes and procedures.
· Support the use of planning, estimating, tracking and risk analysis tools and techniques.
· Provide generic and specific support for the development and content of business cases, project plans, and review and audit reports.
· Evaluate project performance and recommends changes where performance is found to be unsatisfactory.
· Develops software according to URS and Technical specifications
· Create mechanisms and procedures for the structured review of work produced and ensures that these are adhered to.
· Conduct Research and Development pertaining to, but not limited to: Third Party software integration/ implementation; code refactoring and improvement techniques; general software development practises as directed by a team leader or from a task case assigned through senior systems developer colleague.
· Provide regular reports on actual service levels achieved compared with the targets set.
· Organise regular review meetings between service providers and users.
· Make proposals to management for changes and improvements to service level monitoring.
· Take responsibility for the systems testing function within a systems development department or project.
User Support & Training
· Assist in the solving of business problems by providing detailed personal advice and guidance to all levels of users in the expert use of systems, products and services available to them; demonstrates ingenuity in applying knowledge to complex and non-standard situations.
QUALIFICATION & SKILLS REQUIREMENTS:
3 to 5 years’ experience.
Be familiar with the following DEV stack:
· Other: Node JS, phantomJS
· Mobile: Xamarin with Xamarin.Android (C#, XAML, XML, LINQ For SQLite)
· Database: SQL Server
With the main focus on:
The essential characteristics are:
· Translate application specifications and use cases into functional applications
· Design, build, and maintain efficient, reusable, and reliable code
· Integrate data storage solutions, typically on MS SQL Server
· Ensure the best possible performance, quality, and responsiveness of applications
· Identify bottlenecks and bugs, and devise solutions to mitigate and address these issues
· Help maintain code quality, organization, and automatization
· Carry out code reviews and assist in the mentoring of junior developers
· Assist / Advise development managers with technical analysis
· Refactoring and optimising new and existing code
· Carry out R&D / POC for new system features / requirements
· Assist debugging support issues on systems
The following skills are seen as required to perform the above:
· Strong knowledge of .NET web framework; good knowledge of the Xamarin framework
· Proficient in C# with a good knowledge of their ecosystems
· Strong understanding of object-oriented programming
· Skill for writing reusable libraries
· Familiar with various design and architectural patterns – when, where and how to use
· Familiarity with Microsoft SQL Server
· Knack for writing clean, readable, and easily maintainable code
· Understanding of fundamental design principles for building a scalable application
· Experience creating database schemas that represent and support business processes
· Basic understanding of Common Language Runtime (CLR), its limitations, weaknesses, and workarounds
The following are areas that will become more relevant and important as part of your responsibilities:
· Experience with mobile development
· Experience specifically with Xamarin mobile development
· Experience with other popular web application frameworks
· Knowledge of concurrency patterns
· Experience implementing automated testing platforms and unit tests
· Understanding of code versioning tools such as TFS & GIT
www.studio29.co.za / firstname.lastname@example.orgApply