Are you passionate about designing and building scaled, distributed services with low latency messaging and high availability/fault tolerance? Do you think processing billions of transactions, offers and others requests in under 10ms every day with cloud based servers is an interesting challenge? Are you ready to join a world-class, highly cooperative engineering team? If your answers are yes, then you are the person we're looking for.
The Architect position in Verifone's Petro Cloud Solutions team is a combined architectural design, technical leadership, and hands-on development role. This architect will be relied upon his/her expertise in large-scale distributed systems, service/messaging and media delivery architecture. You will leverage industry standards and advertising technologies to help design and create the next generation media and value added services delivery platform. Qualified individuals will have proven background in the fundamentals of computer science, software development process and methodologies, practices, distributed computing, and high availability.
Because we are a small team, your ability to communicate technical ideas effectively, in oral and written forms, and take on complex problems in a team environment will also be considered.
- Help define the vision of our next generation platform architecture to provide best of class service to our clients.
- Collaborate, design and build our next-generation service oriented architecture stack that will power a variety of services in our ecosystem.
- Lead design and implementation of our next-generation low latency, fault tolerant, high throughput messaging layer processing millions of transactions a day.
- Scale up and tune our dashboards. Challenges come in the form of concurrency, data scale, and computational efficiency.
- Develop instrumentation/profiling tools and systems.
- Mentor the engineering team on emerging concepts
- Identify and enable data capabilities and consistent design across Verifone APIs
- Research, analyze and promote data standards to be used across Verifone
- Responsible for the over-all development relating to user interaction, device communication, infrastructure, configuration, scalability, reliability, testing and performance.
- Excellent understanding of SDLC processes and automated tools, spanning requirements, issue management, defect tracking, source control, build automation, test automation and release management.
- Ability to lead SCRUM or Kanban software development frameworks.
- Build and maintain relationships with global teams and third parties on software development or support issues.
- Diagnoses software and systems failures using established procedures or by building new means of addressing customers' technical issues.
- Collaborate with and/or lead cross-functional teams, build and launch applications and data platforms at scale, either for revenue generating or operational purposes.
- Developing and delivering quality software in a fast paced environment.
- Document designs, code, issues and root causes after resolution of issues.
- Recommend alternate approaches, analyze impacts, and provide sizing estimates Collaborate with other cross platform team members to build effective integration.
- Participate in design sessions and code reviews maintain current technical knowledge to support rapidly changing technology, always on a look out for new technologies and work with development team in bringing new technologies from the IOT, Big Data and device management space.
- Ensure quality of services are near 100% defect free and services work in production to support uptime SLA of each program.
Desired Skills and Experience
- You are a hard-working, collaborative, bright, creative, cooperative, and exceptional problem solver.
- You possess many years of experience with Java in building/architecting solutions that are highly scalable.
- You have 10 + years of relevant experience in developing enterprise software and services.
- A graduate degree in Computer Science (preferred) or related experience
- You have 5 + years of Experience with technical leadership, defining visions/solutions and collaborating to see them to completion.
- You possess 5+ years of Experience with large scale distributed systems.
- Experience building high performance cloud based systems.
- Experience designing and building a base service container architecture a plus.
- Solid understanding and working knowledge of Unix/Linux operating systems, networking, and scaling techniques.
- Proven skills in performance tuning, monitoring and measuring.
- Experience with relevant open source technologies such as Zookeeper, Kafka, Docker, Netty, Finagle, etc. a plus.
- Deep familiarity with many of the following: Distributed Systems, Databases, Data Processing, Streaming data, Microservices, API design, and Security.
- Experience with Mongo, Kafka, Spark, Angular, Docker, Kubernetes, Akamai, Griddle, RDBMS, Elastic Search, CIAM, API Management Framework.
- Good understanding of CI/CD, Security and performance tuning and optimization.
- Technical problem solving skills.
- Must be able to communicate complex issues in a crisp and concise fashion to multiple levels of management.
- GitHub or Bit Bucket and CI/CD with Jenkins & Deployment tool.
- Being a self-starter and results-oriented with a strong sense of ownership
- Agile development experience.
- And for bonus points: Knowledge of high-scale performance and optimization tools and techniques Experience with AWS (configuring, deploying, managing, monitoring) services and distributed applications.