Bangalore, India
3 days ago
Lead Software Engineer

JOB SUMMARY:

The Lead Software Engineer is responsible for playing a leading role on a team focused on the development of applications. This person analyzes, designs, programs, and debugs software enhancements. Using multiple programming languages, this engineer will design, implement, test and debug the full software stack. Prepares documentation and procedures for installation and maintenance. Interact with users to define system requirements and/or necessary modifications.  Experienced in object-oriented design, design patterns, coding, performance tuning, and unit testing. Experience in logical data modeling and experience in defining and using databases programmatically. This person must also have solid communication and team building skills and must be able to participate in software design discussions and guide the architecture of the solution based on proven object-oriented design concepts, industry standard patterns, and best practices. Mentors, guides and aids the growth of less-experienced developers through leadership.

 

 

ESSENTIAL RESPONSIBILITIES AND DUTIES:

 

Translates business requirements to conceptual solution architecture and high-level project estimates.Develops, modifies, and implements Software as a Service (SaaS) hosted applications according to business requirements using:Microsoft C# .Net DevelopmentOpen Source TechnologiesASP.Net MVC 3.0+ frameworkHTML5JavaScriptMicroservicesWCF (REST/SOAP) web services, XML and JSON protocolsWindows ServicesWPFActiveMQRedis CacheJasperSoft reporting frameworkRelational DBMS (MSSQL Server and/or PostgreSQL and/or SQLite)NoSQLCross-platform developmentOperating systems (Windows, Linux)AWS/AzureContainers and Container OrchestrationDockerKubernetesOpenShiftLogical data modeling, database definition and manipulation, and data synchronizationObject oriented design, coding, performance tuning, and unit testingResearch, extraction and analysis of complex dataAuthors and reviews technical requirements to ensure compliance with business requirementsPerforms proper unit testing and software code writing (including automated unit testing)Familiar with appropriate standards and techniques used during the Software Development Life Cycle process (SDLC, security) and applies them appropriatelyParticipates in the testing process through test review and analysis, test witnessing and certification of softwareParticipates in peer code reviews and develops skill level of others through mentorshipMay work on multiple tasks/projects simultaneously with various team members and/or other groups both internally and externally Engages effectively in self-directed time management and prioritization of workload Perform such other duties as may be assigned by managementEssential to be available to work during Omnitracs corporate business hours

 

QUALIFICATIONS:

 

EDUCATION:  Bachelor’s degree in Computer Science, Computer Engineering, or Electrical Engineering

EXPERIENCE:  8+ years of applicable Software Development experience

 

KNOWLEDGE/SKILLS/ABILITIES:

Experience in Microsoft C# .Net DevelopmentExperience in ASP.Net MVC 3.0+ frameworkExperience in WCF (REST/SOAP) web servicesExperience in Database management systemExcellent interpersonal skillsExcellent written and oral English skillsExcellent working knowledge of logical data modeling and Database management systemsExcellent working knowledge of C#/Java development environments and processVersed in industry standard Software Development Life-Cycle (SDLC) process methodologies and Agile methodologies such as SCRUMKnowledge of Agile practicesKnowledge and understanding of software design patternsKnowledge of Open Source TechnologiesFamiliar with using UML in document designKnowledge of developing mobile applications Transportation industry knowledge desired but not requiredExperience mentoring less experienced developers Approaches software development using industry standard concepts, practices, and procedures Ability to work on multiple tasks simultaneously with various team members and/or other groups both internally and externally Ability to effectively engage in self-directed time management and prioritization of workload Ability to work independently to develop new skills as needed to support new products and applications Ability to coordinate and oversee parallel efforts for multiple developers
Por favor confirme su dirección de correo electrónico: Send Email