Senior Software Engineer:
The Software Engineer IV will be an expert in both native and hybrid mobile technologies (especially with Ionic framework) will be responsible to lead the creation, implementation, and support of existing and next-generation software solutions. Accountable for providing technical vision, solutions, and exemplary implementation execution for the product. Possesses Solid understanding of development, testing and integration methodologies Knowledge of current and emerging IT products, services, and processes, products used in local, networked, or Internet-related computer programs. Drive engineering efficiency in an Agile Scrum software development model.
- Gathers and writes technical requirements for complex stories, features, and epics. Authors technical designs.
- Codes web applications across domains following specifications and using the appropriate tools. Identifies best practices and guides other team members in the implementation of best practices.
- Developing application programming interfaces (APIs) to support mobile functionality
- Keeping up to date with the terminology, concepts and best practices for coding mobile apps
- Using and adapting existing web applications for apps
- Working closely with offshore and onsite teams to constantly innovate app functionality and design
- Generates supporting unit test as well as system test specifications and implementations. Builds the automated test framework, drives best practices, and troubleshoots issues.
- Maintains, modifies, and improves existing applications.
- Recognizes when a broad solution is needed based on trends/root causes and recommends solutions.
- Contributes to and may lead project document reviews, and design/code reviews.
- Ensures adherence to IT Control Policies throughout design, development and testing.
- Proactively works with cross-functional teams. Builds and maintains good business relationships that help drive ideas and solutions.
- Proactively engages team to review ideas, solutions, issues, and/or concerns.
- Applies AGILE concepts and works collaboratively and closely with QA in an Agile/Scrum environment.
- Trains and mentors new/junior teammates and coordinate the activities of the offshore team.
Other Duties & Responsibilities
- Support the entire application lifecycle (concept, design, test, release and support)
- Produce fully functional mobile applications writing clean code
- Gather specific requirements and suggest solutions
- Write unit and UI tests to identify malfunctions
- Troubleshoot and debug to optimize performance
- Design interfaces to improve user experience
- Liaise with Product development team to plan new features
- Ensure new and legacy applications meet quality standards
- Research and suggest new mobile products, applications and protocols
- Stay up-to-date with new technology trends
- Proficient with multiple technologies and may have some understanding of architectural principles.
- Drive to keep up to date with developments and trends in the tech and modern media world
- The ability to learn quickly, interpret and follow technical plans, Problem-solving, Strong communication skills and strong organizational skills
- Identifies, implements, and applies best practices. Is the “go to” person on the team.
- Defines how the work should be done; provides intelligent alternatives to the status quo. Sells and drives ideas. Owns issues and can work effectively inside and outside of the team to influence and drive results.
- Ability to handle multiple projects and possesses a proven track record of high quality deliverables.
- Ability to effectively communicate technical concepts to technical staff and can work effectively with cross-functional departments with varying degrees of technical experience.
- Understands and is able to explain up and downstream impacts across products, teams, and the organization.
- Constructively challenges the status quo; develops, proposes, and supports the implementation of innovative and creative solutions. Iterates and improves across multiple business domains.
- Displays flexibility in adapting to changing conditions and helps lead others through change.
- Leads by example, promotes a common purpose, and is a catalyst for success.
- Thinks strategically, displays a high degree of emotional maturity, and demonstrates a positive outlook.
- Strong team player, makes a valuable contribution to team objectives, displays trust and mutual understanding, accepts constructive feedback, and handles confrontation constructively.
- Possesses a broad understanding of Agile/LEAN principles and the ability to apply the AGILE methodology; competent AGILE team member
Required Qualifications and Skills:
- Requires a minimum of 8 years of experience in software development and Mobile application development.
- BS Degree in Computer Science or other Engineering degree
- Post-graduate degree preferred.
- ‘10’ years’ experience with ‘8’ technology (J2EE, Spring, Hibernate, Tomcat, etc.).
- Proven work experience as a Mobile developer
- Demonstrable portfolio of released applications on the App store or the Android market
- Experience with third-party libraries and APIs
- Familiarity with OOP design principles
- Excellent analytical skills with a good problem-solving attitude
- Ability to perform in a team environment
- Prior experience working in an AGILE/SCRUM environment.
- Must be able to work independently and as part of a team on multiple overlapping projects.
- Proven track record of successfully delivering large projects.
Preferred Qualifications and Skills:
Repositories: Postgres, MongoDB, Elastic Search
J2EE: Spring, Hibernate, REST, SOA
Native Framework: Android, iOS
Hybrid Framework: Phonegap, Xamarine, Ionic – highly preferred
Cloud: AWS, Azure