Job Description
Agile Planning
Works with Product Management to understand the challenges that customers and end users face in their day-to-day work and partner with them to design viable solutions.
Recommends viable solutions to processes, technology, and interfaces that improve the effectiveness of the team and reduce technical debt.
Foresees capacity requirements for component usage and identifies limitations.
Provides input into story sizing, backlog grooming, and release planning.
Product Development
Contributes to product and solution designs to address critical issues and complex problems.
Builds software applications across multiple platforms in response to the needs of stakeholders.
Understands technical architecture and writes software and automated tests that are aligned with agreed upon standards.
Performs trouble-shooting efforts and investigations when necessary.
Application Support
Provides ongoing support, monitoring, and maintenance of deployed products.
Advice and Guidance
Actively works with less experienced software engineers providing technical guidance and oversight.
Emerging Technology Monitoring
Actively participates in the engineering community, staying up to date on new software technologies and best practices and shares insights with others in the organization.
Working experience in design, development, and implementation of highly scalable, high-volume software systems and components, client-facing web applications, and major Internet-oriented applications and systems
Working experience realizing applications from conception and design, to implementation and support
Working experience in coding within multiple technology stacks (e.g. Front-end: browser and device typically using common client-side technologies HTML, CSS, JavaScript; Back-end: server, application, database using languages like PHP, Python, Ruby)
Working experience with application lifecycle methodologies (e.g. agile, iterative)
Working experience in analysis, design and programming
Working experience with appropriate database technology
Bachelor's degree in Computer Science or related field or equivalent combination of industry related professional experience and education
Scrum Developer Certification or equivalent
2 5 years of working experience
Specializations
Native Mobile Key Responsibilities
Develops mobile applications using native SDKs (e.g. iOS, Android).
Write specifications and documentation for the consumption of API's.
Essential Knowledge, Experience & Qualifications
Working experience in iOS and/or Android mobile application development
Working experience of iOS and/or Android APIs
Working experience of Apple, Android, and Microsoft mobile development tools
Understands methods of development for different form factors
Performance The Performance Engineer is responsible for supporting applications from a performance perspective by providing diagnostic information on production (and test) performance results. The Performance Engineer plays a key role in automating processes to improve productivity in testing and engineering practices and creating and executing software performance testing strategies with focus on analysis and recommendations for a wide range of applications. Key Responsibilities:
Responds to production performance issues and sees those performance issues through resolution.
Performs deep performance related diagnostic troubleshooting / analysis.
Makes performance recommendations to developers based on results and code identifications.
Communicates performance analysis to stakeholders and suggests applicable changes.
Identifies workflows and system characteristics to be performance tested and monitored.
Defines performance benchmarks and SLA's.
Writes, debugs and executes code used in performance/monitoring efforts.
Analyzes test results to identify issues and works with architects and developers to suggest improvements and drive issues to resolution.
Analyzes production monitoring metrics to trace back to test results and offer suggestions for areas performance improvements.
Works with team to ensure quality and standardization of performance test plans, scripts, and results.
Knowledge, Experience & Qualifications
Working experience with performance and monitoring tools (e.g. Load Runner, Web Page Test, Jmeter
Working experience of software development (e.g. Java, C++)
Working experience in software performance engineering in a large-scale environment
Working experience with performance tools (e.g. Web Page Test, Jmeter or Load Runner)
Working experience with diagnostic tools such as Dynatrace, App Dynamics or Wily
Working experience optimizing website performance with strong knowledge in networks, browsers, content delivery, etc.
Working experience of TCP/IP, networking topology, routers, switches
Working experience in identifying system bottlenecks, architectural risks, and issues
Working experience supporting web-based applications built on UNIX/LINUX systems
Working experience writing parameterized and data driven scripts
Working experience with Keynote, Gomez or other monitoring tool
Working experience in a variety of relational DBMS data structures including writing SQL statements to extract data from databases (Oracle preferred)
Working experience with source code control systems
Knowledge of functional automation testing and tools