Coordinate with various teams to develop and support Java applications.
Participate in software design meetings to write technical design documents and to propose design solutions.
Develop codes based on user requirements documentation and detailed design documentation.
Recommend optimum coding methodologies based on latest coding developments and project needs.
Provide work effort, budget and timelines for proposed project to Managers.
Develop architectural standards and best practices for application coding.
Perform unit testing of application codes.
Develop and distribute project documentation both internally and externally.
Resolve system defects and perform bug fixes during testing phase.
Develop innovative methodologies to improve project quality, scalability and profitability.
Perform code reviews as needed.
Manage and monitor geographically distributed teams to ensure high quality and timely completion of projects.
Guide Junior Software Engineers in designing and implementing application codes.
Cross-train Junior Software Engineers on software product features.