Role Summary / Purpose
We are looking for an experienced Software Engineer to work on a one of our new products : Zinc a cloud-based, real-time communication application.
You are a self-starter, always striving towards pixel perfection, yet your solutions are intuitive. You appreciate the value of rigorous consistency coupled with the ability to remain flexible enough to accommodate critique and change.
At ServiceMax you will have the unique opportunity to join a collaborative team where you will work with product designers to create apps that people enjoy using.
You will be responsible for feature development, contributing to the team and working independently. In this role, you will :
Capture system level requirements by brainstorming with Dev Leads, Designers and Product Managers
Identify the scope of the work, provide initial estimate and justify the estimate with facts
Demonstrate the understanding of Agile software development lifecycle and able to distinguish the core inputs and outputs in each cycle.
Engage in technical discussions; participate in technical designs and present technical ideas through white boarding
Work closely with your peers and keep engaging in a fast pace technical design and development team
Execute in a fast pace delivery mode and focus in delivering tasks to meet the product release goal
Maintain code quality through best practices, unit testing and code quality automation
Seek and provide feedback on design and development
Demonstrate the ability to make informed technology choices after due diligence and impact assessment
Understand whole product, its modules and the interrelationship between them while being an expert in the assigned component or module
Help in designing interfaces and information exchange between modules
Gain advanced domain knowledge and show great customer focus.
Expert in processes / methodologies and skilled in build, release & deployment processes
Articulate the need for scalability and understand the importance of improving quality through testing.
Be an expert in writing code that meets standards and delivers the desired functionality using the technology selected for the project
Drive design reviews, define interfaces between code modules, and applies existing technology to designs
Be an expert in assessing application performance and optimizing / improving it through design and best coding practices
Be an expert in core data structures as well as algorithms and has the ability to implement them using language of choice
Mentor other developers in the team, ensure adherence to coding and testing standards.
Research new technologies, tools and develop proof of concepts as it applies to the product.
Communicate effectively and consistently with other engineers, customers and management.
Share technical knowledge and expertise with colleagues.
Basic Qualifications :
Bachelor's Degree in Computer Science or STEM Majors (Science, Technology, Engineering and Math).
A minimum 2 years of professional experience.
Willing to work out of an office located in San Francisco OR work remotely
Eligibility Requirements :
Legal authorization to work in the U.S. is required. ServiceMax may agree to sponsor an individual for an employment visa now or in the future if there is a shortage of individuals with particular skills.
Any offer of employment is conditioned upon the successful completion of a background investigation
Technical Expertise :
Strong knowledge of Object Oriented Analysis and Design, Software Design Patterns and Design Principles
Emphasis on creating secure mobile apps that perform at scale.
Must have practical knowledge and proficiency with native app development for iOs, and integrating with RESTful services.
Good understanding of git, unit testing and automated testing, continuous integration and deployment.
Experience with agile development methodology.
Communication skills for a highly collaborative software development process with distributed teams.
Passion about new technologies, self-motivated, and commitment to continuously learn and improve.
User centric design thinking, with a thoughtful approach to building software with new zero learning curve.
Business Acumen :
Has the ability to break down problems and estimate time for development tasks
Has the ability to make basic technology choices based on experience
Demonstrates awareness about competitors and industry
Has the ability to take ownership of tasks and deliver without supervision while using their discretion to seek help when necessary
Voices opinions and presents clear rationale. Uses data or factual evidence to influence
Recognizes collaborative behavior and participates in collaborative activities
Learns organization vision statement and decision making framework. Able to understand how team and personal goals / objectives contribute to the organization vision.
Personal Attributes :
Demonstrate the ability to help team members
Seeks to understand problems thoroughly, through conversation and or experimentation. Asks questions to clarify requirements when ambiguities are present
Identifies opportunities for innovation and offers new ideas. Takes the initiative to experiment with new software frameworks
Adapts to new environments and changing requirements. Pivots quickly as needed. When coached, responds to need & seeks info from other sources