Role Proficiency:
Independently develops error free code with high quality validation of applications guides other developers and assists Lead 1 – Software Engineering
Outcomes:
Understand and provide input to the application/feature/component designs; developing the same in accordance with user stories/requirements. Code debug test document and communicate product/component/features at development stages. Select appropriate technical options for development such as reusing improving or reconfiguration of existing components. Optimise efficiency cost and quality by identifying opportunities for automation/process improvements and agile delivery models Mentor Developer 1 – Software Engineering and Developer 2 – Software Engineering to effectively perform in their roles Identify the problem patterns and improve the technical design of the application/system Proactively identify issues/defects/flaws in module/requirement implementation Assists Lead 1 – Software Engineering on Technical design. Review activities and begin demonstrating Lead 1 capabilities in making technical decisionsMeasures of Outcomes:
Adherence to engineering process and standards (coding standards) Adherence to schedule / timelines Adhere to SLAs where applicable Number of defects post delivery Number of non-compliance issues Reduction of reoccurrence of known defects Quick turnaround of production bugs Meet the defined productivity standards for project Number of reusable components created Completion of applicable technical/domain certifications Completion of all mandatory training requirementsOutputs Expected:
Code:
Develop code independently for the above
Configure:
Test:
scenarios and execution
Domain relevance:
Manage Project:
Manage Defects:
Estimate:
effort
resource dependence for one's own work and others' work
including modules
Document:
Manage knowledge:
share point
libraries and client universities
Status Reporting:
Release:
Design:
Mentoring:
Skill Examples:
Explain and communicate the design / development to the customer Perform and evaluate test results against product specifications Develop user interfaces business software components and embedded software components 5 Manage and guarantee high levels of cohesion and quality6 Use data models Estimate effort and resources required for developing / debugging features / components Perform and evaluate test in the customer or target environment Team Player Good written and verbal communication abilities Proactively ask for help and offer helpKnowledge Examples:
Appropriate software programs / modules Technical designing Programming languages DBMS Operating Systems and software platforms Integrated development environment (IDE) Agile methods Knowledge of customer domain and sub domain where problem is solvedAdditional Comments:
iOS Key responsibilities: • Design, develop, and maintain iOS applications utilizing NFC and BLE technologies. • Familiarity with Xcode, Git, and Agile. • Implement and optimize NFC communication for reading and writing tags, as well as interaction with NFC-enabled devices. • Develop and optimize BLE-based functionality for devices to communicate over short-range wireless connections (e.g., health trackers, smart devices). • Troubleshoot and debug issues related to NFC and BLE, ensuring smooth communication, power efficiency, and security. • Collaborate with UX/UI designers to ensure a seamless, user-friendly interface that integrates NFC and BLE features. • Experience with device communication, data parsing, and low-energy protocols for efficient power usage in BLE applications. • Familiarity with cloud messages like FCM and APNs push notifications • Identify and correct bottlenecks and fix bugs • Experience with iOS frameworks such as Core Data, Core Animation, XCTest, Multithreading etc. Required Skills and Qualifications • Minimum 6+ Years of experience in iOS app development. • Expert proficiency in Swift, ObjectiveC and the iOS SDK. • Familiarity with SwiftUI and Combine for building modern, declarative UIs. • Extensive, hands-on experience with Core NFC and Core Bluetooth frameworks. • Solid understanding of BLE communication protocols, profiles (e.g., GATT), and data exchange. • Deep understanding of the entire mobile development life cycle. • Experience with advanced NFC features, such as read and write blocks. • Experience working with real-time data streaming over BLE. Android Key responsibilities: • Design, develop, and maintain Android applications using Java and Kotlin, with a focus on NFC and BLE technologies. • Implement and optimize NFC communication for reading/writing ISO15693 tag, and for interaction with NFC-enabled devices. • Develop and enhance BLE-based features enabling secure, low-power data exchange with connected devices (e.g., sensors, health trackers, IoT). • Troubleshoot and debug NFC and BLE communication issues, ensuring stability, efficiency, and consistent device pairing performance. • Work with dependency injection frameworks such as Dagger 1 and Dagger 2 or Hilt for scalable architecture. • Collaborate with UX/UI teams to design responsive, user-friendly interfaces that integrate NFC and BLE functionalities seamlessly. • Use Android Studio, Git, and Agile practices for structured development and continuous integration. • Implement background operations, data parsing, and GATT profile handling for BLE and sensor data management. • Integrate push notification systems such as Firebase Cloud Messaging (FCM) for device communication and user engagement. • Utilize modern Android frameworks and tools, including Jetpack libraries (ViewModel, LiveData, Room, WorkManager), Coroutines, and JUnit for testing. Required Skills and Qualifications: • Minimum 6+ years of experience in Android application development. • Expert proficiency in Kotlin and Java, with in-depth knowledge of the Android SDK. • Strong hands-on experience with NFC and BLE technologies, including tag discovery, read/write operations, and device communication. • Proficient in ISO15693 NFC protocols, with experience implementing block-level read/write commands and data handling. • Solid understanding of BLE communication protocols, GATT profiles, and real-time data exchange mechanisms. • Practical experience with the MVP architecture, ensuring clean separation of concerns and maintainable code. • Experience with dependency injection frameworks Dagger 1, and with familiarity in Dagger 2 and Hilt. • Familiarity with Jetpack Compose and Kotlin Flow for building modern, declarative UIs. • Deep understanding of the Android app lifecycle, background threading, and low-power communication strategies. • Experience with real-time BLE data streaming, device state management, and synchronization. • Familiarity with modern Android development tools and practices, including Jetpack libraries, Coroutines, and unit testing (JUnit/Mockito). • Strong debugging, profiling, and optimization skills, particularly around connectivity, concurrency, and memory usage.