Provide technical coaching and mentorship to less experienced software engineers
Interact with software systems engineer or other technical leader to understand systems, subsystem and component specifications and recommend changes to facilitate efficient and effective development.
Interact with representatives of other companies/industries to understand and/or recommend data interchange formats, APIs, messaging strategies as well as application server software.
Design and document systems, subsystems and system components consisting of (in OO terms) several objects working together to execute an encapsulated function of the larger system
Implement and debug systems, subsystems and components.
Write and execute tests for systems, subsystems and components.
Determine and communicate the implications of system-level decisions on subsystems and components, and help determine how best to mitigate or take advantage of these implications.
Support of technical infrastructure (e.g., repository, build system, testing system)
Participate in efforts to share software engineering technology and expertise within the company; mentor junior and aspiring software engineers.
Perform tasks efficiently and work together with team to ensure project success.
implement prototypes with Lead software engineers to realize the architecture
Working along developers to create and maintain a robust framework to support the apps, to build the interface with focus on usability features
Review design documents
Undertake source code review
Optimizing performance for the apps
Keep up to date on the latest industry trends in software technologies
Investigation on technical issues during system failure/error
Working on system integration
Job Requirement
Education: BSC/MSC Degree in Computer Sciences/Electrical Engineering/ Information Technology/ or other relevant fields