Senior Software Engineer

Johannesburg, Gauteng, South Africa

Job Description


Qualifications & Experience:

  • Bachelors degree in Computer Science, Software Engineering, or a related field.
  • Minimum of 5 years experience in a similar role with a proven track record in mobile development projects.
  • Leadership abilities and a passion for mentoring junior developers.
  • Experience with designing, implementing, and managing robust and scalable software solutions.
  • Excellent problem-solving and communication skills.
Key Competencies:
  • Self-motivated: Excels in a dynamic environment with a proactive and results-driven approach.
  • Leadership: Strong ability to mentor and guide junior developers, inspire teams, and drive project success.
  • Learning mindset: Committed to continuous learning and staying updated with industry trends and technologies.
  • Adaptability: Thrives in changing project requirements, technologies, and team dynamics.
  • Problem-solving: Logical and analytical thinker, skilled in breaking down complex issues and identifying root causes.
  • Attention to detail: Ensures code quality and reliability through thorough reviews and testing.
  • Team player: Collaborates effectively to achieve team goals.
  • Time management: Efficiently prioritizes tasks, meets deadlines, and manages workloads.
  • Communication skills: Effectively articulates ideas, clarifies requirements, and ensures team alignment.
  • Initiative: Proactively seeks opportunities to enhance code quality, processes, and project outcomes.
  • Professionalism: Maintains high standards of accountability, punctuality, and confidentiality.
  • Positive attitude: Encourages teamwork, creativity, and resilience, fostering a healthy work environment.
Technical Proficiency:
  • Core Requirements:
  • Proficient in Maui, C#, and SQL.
  • Strong understanding of version control systems (e.g., Git).
  • Experience with front-end technologies (e.g., HTML, CSS, JavaScript frameworks).
  • In-depth knowledge of software development methodologies, coding standards, and best practices.
  • Solid understanding of database systems, data modeling, and scalable software architectures.
  • Familiarity with Agile/Scrum methodologies and tools (e.g., DevOps).
  • Beneficial Skills:
  • Prism, Blazor
  • JavaScript, jQuery, CSS, AJAX, JSON
  • Figma, Penpot
  • Docker, Flutter
  • Familiarity with cloud platforms (e.g., Azure, Google Cloud).
Main Responsibilities:
  • Lead the design, development, and implementation of software projects, ensuring adherence to best practices and coding standards.
  • Collaborate with the team to analyse, design, and implement software solutions that meet business requirements.
  • Write clean, efficient, and well-documented code following coding standards and best practices that will perform consistently in specified operating environments within agreed timelines/budgets.
  • Participate in code reviews and provide constructive feedback to ensure a high-quality codebase, maintainability, and scalability.
  • Mentor and guide junior developers, assisting them in their professional growth and promoting best practices
  • Assist in troubleshooting and debugging software issues, identifying and resolving defects and performance bottlenecks.
  • Contribute to the development of software documentation, including technical specifications, user guides, and test plans.
  • Stay up to date with emerging technologies and industry trends to continuously improve your skills and knowledge.
  • Perform unit testing, support integration and system testing activities.
  • Collaborate with cross-functional teams, including firmware engineers, designers, and product managers, to deliver high quality software products.
  • Actively participate in stand-ups, sprint planning, and retrospectives as well as team meetings, discussions, and brainstorming sessions to contribute ideas and solutions.
  • Participate in architectural discussions and contribute to the continuous improvement of our software architecture.
  • Professionally document all work in relevant technical environment, including advanced algorithms and design calculations, plans & estimates as well as the design performance characteristics and a summarized project cost breakdown.
  • Develop procedures for testing modules/components/products and evaluate, modify/enhance and re-test products.
  • Work in a professional manner consistent with the companys commitment to excellence, and R&Ds applicable development methodologies and/or standard operating procedures.
  • Standardise all designs as far as possible, using standard components; particular consideration must be given to inventory management. Always use appropriate components to ensure product excellence (exceptional reliability, high levels of functionality, excellent value, ease of manufacture and maintainability, etc.).
  • Solve all but the most complex problems in core discipline. Relies on assistance from senior personnel only in the most challenging situations.
  • Designs complex modules / components / products that are reliable, cost effective and that will perform consistently in specified operating environments within agreed timelines and budgets.
  • Responsible for projects requiring complex judgement using high level engineering principles and techniques.

ExecutivePlacements.com

Beware of fraud agents! do not pay money to get a job

MNCJobs.co.za will not be responsible for any payment made to a third-party. All Terms of Use are applicable.


Job Detail

  • Job Id
    JD1373099
  • Industry
    Not mentioned
  • Total Positions
    1
  • Job Type:
    Full Time
  • Salary:
    Not mentioned
  • Employment Status
    Permanent
  • Job Location
    Johannesburg, Gauteng, South Africa
  • Education
    Not mentioned