Job Description
Core Responsibilities
• Collaborates with project stakeholders to identify product and technical requirements. Conducts analysis to determine integration needs.
• Designs new software and web applications, supports applications under development and customizes current applications. Develops software update processes for existing applications. Assists in the roll-out of software releases.
• Trains junior Software Development Engineers on internally developed software applications.
• Oversees the researching, writing and editing of documentation and technical requirements, including software designs, evaluation plans, test results, technical manuals and formal recommendations and reports.
• Keeps current with technological developments within the industry. Monitors and evaluates competitive applications and products. Reviews literature, patents and current practices relevant to the solution of assigned projects.
• Assists with technical leadership throughout the design process and assists in guidance with regards to practices, procedures and techniques. Serves as a guide mentor for Software Development Engineers.
• Assists in tracking and evaluating performance metrics. Ensures team delivers software on time, to specification and within budget.
• Works with Quality Assurance team to determine if applications fit specification and technical requirements. Tests and evaluates systems, subsystems and components.
• Acts as a technical contact and liaison for outside vendors and/or customers.
• Presents and defends architectural, design and technical choices to internal and external audiences.
• Consistent exercise of independent judgment and discretion in matters of significance.
• Regular, consistent and punctual attendance. Must be able to work nights and weekends, variable schedule(s) and overtime as necessary.
Other duties and responsibilities as assigned.
Responsibilities
• Responsible for your owned features' complete software development lifecycle, including designing, prototyping, implementation, testing, maintenance, and technical support.
• Produce technical specifications and determine operational feasibility.
• Write well-designed, testable, efficient code.
• Develop software verification plans and quality assurance procedures.
• Document and maintain software functionality.
• Tailor and deploy engineering tools, processes, and metrics.
• Support overall business.
• Technically solve issues.
• Partner with global engineering, product, and operations teams to further incorporate collective innovations
Requirements
• Bachelor's Degree or above.
• 5 years relevant work experience
• Experience with C/C++, DB design, and network programming.
• Experience with large system software design and development.
• Experience with distributed systems and mission-critical systems is a plus.
• Advertising industry experience is a plus.
• Demonstrated expertise in problem-solving and technical innovation.
• Strong passion for learning/practicing new techniques
• Knowledgeable about SDLC, Agile, and Software Engineering Methodology.
• Team working skills, Good communication skills, Willingness to work under pressure.
• Have the ability and persistence in technical support.
• Knowledgeable about SDLC, Agile and Software Engineering Methodology.
• Ability to work closely with global teams and accept additional working time besides normal working hours to meet or co-work with global teams.