Jobs Career Advice Signup
X

Send this job to a friend

X

Did you notice an error or suspect this job is scam? Tell us.

  • Posted: Sep 4, 2019
    Deadline: Not specified
    • @gmail.com
    • @yahoo.com
    • @outlook.com
  • Never pay for any CBT, test or assessment as part of any recruitment process. When in doubt, contact us

    Established in South Africa 21 years ago, ASSA ABLOY, South Africa is part of the international Swedish giant, ASSA ABLOY, global specialists in the manufacture and supply of secure, safe and convenient door opening systems and entrance solutions for a wide range of applications. The impressive, state-of-the-art range of locks, keyless locking mechanisms, ...
    Read more about this company

     

    Senior Software Engineer

    This software engineering role on our team will design, enhance, customize, and maintain our system designs through a variety of analysis and development tasks (see Responsibilities section below). This individual will architect, analyze, design, build, and verify new high-performance systems for our access control products (and devices/modules included with them).

    Duties And Responsibilities

    • Analyze and evaluate software requirements; collaborate with colleagues and customers to gather and define product requirements
    • Assist in product design and architecture development
    • Design, develop and maintain software systems to satisfy documented software requirements
    • Facilitate and assist in the task estimation process
    • Work and communicate in a cross-functional team environment comprised of software engineers, quality assurance engineers, product line managers, and customer support representatives, etc.
    • Investigate and analyze reported software defects to resolve them in a timely manner
    • Proactively provide status, raise issues, and communicate necessary information to appropriate team members on a regular basis
    • Prepare, present, and participate in technical discussions and code reviews
    • Contribute to the continued development of processes to improve the efficiency and quality of development projects; assist in formulating standards and development practices to improve the software development process
    • Work with all departments to continuously improve product, process, workflow, and customer experience
    • Make recommendations and assist in the implementation of new processes and tools
    • Consult with firmware engineers and other engineering staff to evaluate interfaces between hardware & software and operational & performance requirements of the overall system

      Desired Skills and Experience
    • Working knowledge of source code management and configuration
    • Strong understanding of the software development lifecycle, including design, architecture, and implementation
    • Proficiency in programming runtime languages such as C/C++/C# and Java
    • Proficiency in databases such as SQL Server and SQLite
    • Proficiency in web development using:
      • Google Web Toolkit
      • Request Factory
      • UI Binder
      • I18 Resources
      • GUICE/GIN
      • ASP.Net
      • MVC
      • AWS / Azure Webservices and IoT Stack
      • HTML, JavaScript, CSS
      • JSON, XML, XSD
      • Web Sockets
      • Server Management and Configuration: Jetty / IIS
    • Proficiency in automated testing and testing frameworks using:
      • TestNG, JUnit
      • Regression Testing with Selenium
      • Mock Objects
      • DbUnit
    • Proficiency in concurrent programming for multi-threaded applications using:
      • Immutable Objects
      • Thread safe operations
    • Proficiency in network programming using:
      • Client/Server Architecture
      • NIO with blocking/non-blocking operations
      • Buffered streams, binary or text based
      • UDP Unicast Datagrams
      • TCP Servers with channel scheduling
    • Proficiency in database persistence frameworks such as:
      • Hibernate
      • Entity Framework
      • Full Text Search (Lucene, LINQ)
    • Proficiency in applying design patterns such as:
      • Singletons, Factories, Proxies, Injection
      • MVP, MVC
      • Annotations and Validators
      • Reflection
    • Proficiency with development tools such as:
      • Eclipse
      • Subversion, Mercurial, Git
      • Visual Studio
      • Hudson, Ant, Maven

    Work Environment 

    • The work environment characteristics described here are representative of those an employee encounters while performing the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
    • Employee works primarily in an office environment, within a well ventilated area, and is exposed to moderate noise levels.

      Work Requirements
    • Travel and fieldwork including international travel may be required, therefore employee must possess or can acquire valid travel authorization

    go to method of application »

    Senior Firmware Engineers

    you will deliver new secure applications for a variety of product variants. You will be responsible for design and development of new applications, enhancing existing applications, solving problems, and resolving defects. The Engineer will review requirements, develop the architecture and design of features (including the relevant documentation), develop application prototypes, participate in design and code reviews, and write code (including unit tests). The candidate must be able to become proficient on new task domains quickly, demonstrate technical excellence in his/her personal work as well as contribute to the team's continued success by sharing technical knowledge. An ideal candidate should have open mind set, be flexible, focused on quality and open to switching to different projects. Our culture is characterized by short decision paths, clear targets and team spirit. We work in multinational environment so fluent English in speaking and writing is a must.

    Responsibilities

    • Design and implementation of new secure embedded firmware applications in C, C++, and Python
    • Develop low level interfaces (GPIO, UART, I2C, SPI)
    • Review and maintain existing code base
    • Support in the design and development of desktop engineering tools
    • Develop test fixtures in C, C++, Python, and higher level Object-Oriented language (e.g. C#)
    • Documentation and cross functional training of low level concepts
    • Consult with other engineers to evaluate interfaces between hardware & embedded solutions and operational & performance requirements of the overall system
    • Prepare, present, and participate in technical discussions and code reviews
    • Contribute to the continued development of processes to improve the efficiency and quality of development projects; assist in formulating standards and development practices to improve our development processes
    • Investigate and analyze reported defects to resolve them in a timely manner
    • Proactively provide status, raise issues, and communicate necessary information to appropriate team members on a regular basis

    Desired Skills & Experience

    • 5 years of hands-on code development
    • Applied experience with C , C++, Python, and .NET
    • Comfortable working at a hardware level drivers (GPIO, UART, I2C, SPI)
    • Familiarity with bug tracking tools (Bugzilla, Jira)
    • Working knowledge of source code management and configuration
    • General knowledge of test frameworks and automated build systems (e.g. Jenkins, NUnit, NAnt)
    • Ability to complete design related tasks with minimal supervision
    • Basic understanding of development processes, principles and objectives
    • Some exposure of development through the entire life-cycle including design, architecture, and implementation
    • Analytical, planning, problem solving and decision-making skills
    • Excellent organizational and time management skills
    • Experience with Secure Elements, RFID, NFC, HCE or Bluetooth technologies is a plus
    • Experience with Agile Scrum development a plus
    • Experience with Keil Development Environment is a plus
    • Experience with Linux development is a plus
    • Ability to effectively use and operate oscilloscopes, analyzers, power supplies, etc. is a plus

    Customer Expectations 

    • Highlight knowledge, skills, abilities and traits necessary in this role to satisfy our customer's expectations
    • Promote secure development and be able to work cooperatively and autonomously in a dynamic multi-cultural environment
    • Work Requirements
    • Travel and fieldwork including international travel may be required, therefore employee must possess or can acquire valid travel authorization.

    Method of Application

    Use the link(s) below to apply on company website.

     

    Build your CV for free. Download in different templates.

  • Send your application

    View All Vacancies at ASSA ABLOY Group Back To Home

Subscribe to Job Alert

 

Join our happy subscribers

 
 
Send your application through

GmailGmail YahoomailYahoomail