Intermediate Software Development Engineer - Live

BETSoftware

Job Description

  • Good written and verbal communication skills.
  • Strong attention to detail.
  • Experience with responsive and adaptive design.
  • Understanding of SEO principles.
  • Good problem-solving skills.
  • Excellent verbal communication skills.
  • Good interpersonal skills.

Responsibilities

Technical Outputs

Perform Planning

  • Identify and establish objectives for self and team.
  • Work on objectives or goals within the timeline.
  • Consider all reasonable factors, impediments, and obstacles.
  • Identify potential alternative strategies and refactor approach for maximum benefit within the shortest possible time.

Implementation - Ensure the Solution is Functionally Complete

  • Deliver a solution that covers all the agreed-specified tasks and user objectives.
  • Deliver a correct solution that provides the correct results with the needed degree of precision.
  • Ensure checked-in code is reviewed to ensure standards are met.

Implementation – Ensure the Solution is Reliable

  • Ensure the solution performs appropriately under agreed conditions for extended periods without the
  • need for intervention (despite potential attacks)
  • Ensure all steps are taken to reduce the occurrence of faults due to misunderstood requirements, design errors,
  • and implementation errors.
  • Ensure the solution is robust and remains continually available.
  • Respond to outages and failures when and where needed.
  • Improve fault tolerance even when operational conditions are not optimal.
  • Ensure complete data recoverability so that data may be recovered, and the desired state of the solution can be re- established (despite potential attacks).
  • Ensure the solution is maintainable, and actively seek methods to reduce downtime.
  • Ensure the solution is durable so that as user volumes and requirements change the solution can evolve over the long term.
  • Ensure the solution simplifies support and maintenance support through traceability and effective error
  • messaging.
  • Ensure over time, the solution becomes more mature where the interval between the interventions remain
  • operational become less frequent.
  • Ensure in the event of a failure reduce effective downtime is to the minimum possible.

Implementation – Ensure the Solution has Effective Security

  • Ensure the solution is secure, and confidential by protecting all information and data (also data transmission).
  • Ensure persons or other solutions have the degree of access appropriate to their level of authorization and
  • types.
  • Ensure the solution has high integrity where the solution prevents unauthorized access to, or modification of
  • computer programs, data, or settings.
  • Ensure the solution has a high degree of survivability despite third-party interventions (attacks, human errors,
  • hardware or software faults).
  • Employ logs and records so that actions and events can be proven to have taken place and cannot be disputed/
  • repudiated later.
  • Ensure wherever possible actions can be traced uniquely to the entity that performed them.
  • Ensure wherever possible the identity of an entity can be proved to be the correct one.

Implementation - Ensure the Solution is Maintainable

  • Ensure the solution and its relevant code base support ease of modification for future maintainers.
  • Ensure the use of appropriate standards and methods.
  • Ensure where possible (without affecting performance/security) the solution caters to maintenance by support
  • teams rather than developers.
  • Ensure modularity where the solution consists of discrete components so that a change in one component has
  • minimal impact on other components.
  • Ensure relevant documentation is provided to the support team to reduce the development support burden.
  • Apply a strategy of reusability so an asset can be used in more than one solution or in building other assets.
  • Where possible provide a mechanism for the solution to analyze its faults and provide reports before a
  • critical failure.
  • Develop the solution in a manner that supports modification for future developers thereby reducing the number of defects or negatively affecting system quality.

Verify Deployed Solutions

  • Ensure the solution is delivered completely and with the additional assets which are required to make installation/deployment as seamless and easy as possible.
  • Ensure the adaptable solution delivered is appropriate for different or evolving, software or other operational usage environments.

Respond to Outages & Failures

  • Provide proactive support to Peers, Testing, Dev Support, and Operational teams so the number of escalations to the development team is reduced, thereby maximizing development time.
  • Provide support to the Dev Support when required during operational events and create or assist with the
  • creation of SOP’s.
  • Be available to handle emergency outages and failures for your or your teams’ solutions.
  • Perform troubleshooting and effectively resolve issues to increase solution stability and reduce intervention required over time.
  • Recommend and execute approved improvements to development methods and solutions.
  • Provide quick resolutions to app/system issues, driving stability, efficiency, and effectiveness.
  • Maintain solutions that have completed development and are in the operations phase.
  • Develop and maintain technical support documentation.
  • Assess risk and impact of production issues/changes and take appropriate steps to mitigate risk.

Direct 3rd Party Development Partners

  • When required supply appropriate information, domain knowledge, and access to partners.
  • Provide timely, relevant, and constructive feedback to assist the partner to achieve success.
  • Take corrective action when deviation from the plan is observed.
  • Take all appropriate steps to ensure organizational success.

Qualifications

  • Degree in computer science or related field.
  • Understanding of key design principles.
  • Proficiency in HTML, CSS, JavaScript, and jQuery.
  • Understanding of server-side CSS.
  • At least 3-5 years’ experience within a development environment
  • 2-5 years SQL/ database Experience
  • Preferably Experience in document stores such as Couchbase would be advantageous
  • Preferably Experience in Message Brokers such as RabbitMQ / Kafka would be advantageous
  • 2-5 years C# experience.
  • 2-5 years .net core experience.
  • 2-5 years of restful api experience.