As an experienced Development Team Leader, whilst being highly technical and hands-on capable, you’ll lead development projects across predominantly Microsoft .Net and PHP based technologies. Managing the successful delivery of projects will require you to plan, coordinate and lead activities across the full delivery lifecycle. This will include working closely with the department’s Project Managers, coordinating business analysts, architects and developers, as well as liaising with key project stakeholders as required.
Essential Duties and Responsibilities:
1. Lead Software Engineer will be involved in a number of development projects, implementation projects or support requests at any given time. You will work with Architects, Business Analysts and System Support staff as directed by their Functional heads.
2. Develops software solutions by studying information needs; conferring with users; studying systems flow, data usage, and work processes; investigating problem areas; following the software development lifecycle.
3. Determines operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions.
4. Prepares and installs solutions by determining and designing system specifications, standards, and programming.
5. Work closely with Architects and Business Teams to estimate work efforts on ongoing and upcoming projects.
6. Will be involved in the full software development life-cycle in coordination with other engineers, QA, and designers and should be confident and adept in articulating ideas in a clear, well thought out manner.
7. Updates job knowledge by studying state-of-the-art development tools, programming techniques, and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations.
8. Supports and develops software engineers by providing advice, coaching and educational opportunities.
9. Ensures that code meets specifications. Writes code that is easily maintainable. Is able to debug own code for preliminary testing. Must practice standard software development methodologies and standards.
10. Code, test, and implement configuration changes to software applications to meet both functional and technical requirements.
11. Generate innovative ideas and support new ideas or approaches that enhance service
12. Ensure that all architectural/coding guidelines are followed by all team members working with him.
13. Individual will also provide guidance to and review the work of other team members as well as investigate ways to potentially improve existing code and implement improvements.
14. Participating in requirements debriefing and finalizing requirements
15. Participate in root-cause analysis, communicate options for resolution and provide recommendations to customer-facing technology problems
16. Assist in providing ballpark estimates for prioritization
17. Providing Learning of Effort (LOE) and Work breakdown System (WBS) after system design is complete
18. Responsible for making sure daily check-ins have been performed
19. Performing periodic dirty builds from the checked-in code to make sure the team is on the right track
20. Responsible for releasing builds to internal QA teams and customer UAT teams.
21. Help and mentor Junior & Senior Software Engineers with technical challenges.
22. Work at the direction of the Architect from a development practices perspective. This includes but is not limited to following:
Applicable software coding conventions
Source/Configuration management procedures
23. Work to resolve any items/bugs/changes assigned by Quality Assurance Team.
24. Write unit-test code and perform unit-tests on the developed software.
25. Understand and execute the unit test plans and document results properly. Investigate, analyze and report any corrective action on reported defects.
26. Coordination with peers and Architects for accurate and recommended development approaches for assigned tasks.
27. Perform daily check-in of the source code.
28. Check projectier for daily task assignments and update the status with the progress.
29. Code software fixes or change requests as assigned on projectier.
30. Your Functional Head will ensure that you are aware of which projects/requests are precedence priority at all times. If, at any time, priorities are unclear then you should talk to your Functional Head to resolve any issues.
Technical Eligibility (Important)
The Lead Software Engineer must have strong set of skills on at least 4 different programming technologies, tools, languages or frameworks.
Example: One should have a combination similar as following.
· COMBO 1: PHP, .net, C/C++
· COMBO 2: IOS, .net, C/C++
· COMBO 3: Java, Android, C/C++
· COMBO 4: IOS, C/C++