Senior Software Engineer - Mobile
Location: US, TX, 
Department: Development
Employment type: Full-time
Industry: Oil & Energy
Function: Engineering
Required experience: Mid-Senior level
Required education: Bachelor's Degree

Company profile:
WellAware is an oil field communications and software-as-a-service (SaaS) company based in San Antonio, TX that provides a seamless, complete monitoring and production management solution for its customers. Founded on the premise that well, pipeline, and safety data is often unreliable and difficult to obtain, WellAware has assembled a group of industry experts, automation specialists, and world-class software and network engineers to transform oil field communications and software.By strategically deploying the most advanced machine-to-machine network in the world over U.S. shale plays and creating a mobile production software to manage it, WellAware drastically increases the reliability and security of measurement data, while reducing cost and making data meaningful across your entire business.

Description:
The Senior Software Engineer is highly experienced in developing UI applications and components for mobile applications. We are looking for a new team member who possesses a passion for pushing mobile technologies to the limits and will work with our team of talented engineers to design and build the next generation of our mobile applications. 

Requirements:
Essential Duties and Responsibilities:  Works closely with other developers and our design team to drive the evolution and expansion of our current product suite.Apply knowledge of Mobile Application technologies, applications, methodologies, processes and tools to carefully analyze and test software.Conceptualize new software for the company that may expand the suite of products currently offered.Re-factor current application design and/or implementation to support  application enhancement requestsUse design patterns to solve application issuesCreate reusable libraries and application service frameworks.Evaluate and research latest technologiesSupport production issuesSupport software applications to resolve any defects and issues reportedResolve application performance and scalability issues by identifying the bottle-necks, memory leaks and key areas of improvementConduct research on emerging application service development software products, languages and standards in support of procurement and development efforts.Reports to Vice President Software Development regarding work done by the team and provides support if required.Minimum Qualifications: Experience with Java, and/or Objective-C.5+ years experience in application developmentFundementals in object-oriented design, data structures, algorithm design, problem solving and complexity analysisAbility to create data models and message exchange requirements for interfacesDesign skills with experience in Object Oriented Design (OOD), Design Patterns, Database Design, Data modeling required Domain Driven Design desirableTesting Experience with Unit Testing, Integration Testing, TDD (Test Driven Development) requiredExperience with any testing frameworks requireOther skills in refactoring, requirements gathering/analysis, Software Configuration Management Tools (SVN or Git or Mercurial) is a plusExperience with Agile Development methodology is a plusAbility to work independently as well as perform as part of a small,  close knit development team required, Paired Programming desirableExperience developing for a software products company is preferredExperienced in test driven development (TDD) methodology to develop software

Benefits: