Senior Software Engineer - 221254.
We (the Software Engineer team) are looking for a motivated, experienced person with a data driven approach to join our Distribution Team in Budapest or Szeged to help design, execute and improve our test sets and infrastructure for producing high-quality Hadoop software.
A Day in the life
You will be part of a team that makes sure our releases are predictable and deliver high value to the customer. This team is responsible for automating and maintaining our test harness, and making test results reliable and repeatable.
You will…
•work on making our distributed software stack more resilient to high-scale endurance runs and customer simulations
•provide valuable fixes to our product development teams to the issues you’ve found during exhaustive test runs
•work with product and field teams to make sure our customer simulations match the expectations and can provide valuable feedback to our customers
•work with amazing people - We are a fun & smart team, including many of the top luminaries in Hadoop and related open source communities. We frequently interact with the research community, collaborate with engineers at other top companies & host cutting edge researchers for tech talks.
•do innovative work - Cloudera pushes the frontier of big data & distributed computing, as our track record shows. We work on high-profile open source projects, interacting daily with engineers at other exciting companies, speaking at meet-ups, etc.
•be a part of a great culture - Transparent and open meritocracy. Everybody is always thinking of better ways to do things, and coming up with ideas that make a difference. We build our culture to be the best workplace in our careers.
You have...
•strong knowledge in at least 1 of the following languages: Java / Python / Scala / C++ / C#
•hands-on experience with at least 1 of the following configuration management tools: Ansible, Chef, Puppet, Salt
•confidence with Linux environments
•ability to identify critical weak spots in distributed software systems
•experience in developing automated test cases and test plans
•ability to deal with distributed systems
•solid interpersonal skills conducive to a distributed environment
•ability to work independently on multiple tasks
•self-driven & motivated, with a strong work ethic and a passion for problem solving
•innovate and automate and break the code
The right person in this role has an opportunity to make a huge impact at Cloudera and add value to our future decisions. If this position has piqued your interest and you have what we described - we invite you to apply! An adventure in data awaits.
Similar jobs
About the Role
As one of the key members of the development team, you will have the unique opportunity to redefine the architecture of our suite of products.
You will get to work directly with our founding team to deliver the most valuable and joyful experience to our customers. If you are looking to make a real impact on real people’s lives and accelerate your career to new heights in the meantime, then this is the perfect opportunity for you. You will help in refactoring certain codes to bring greater flexibility and micro service architecture. CurbWaste intends to execute event driven workflow architecture.Benchmark design patterns for security and scalability will need to be implemented.
Requirements
What you will do
• Review current code and anticipate engineering bottlenecks
• Designing and developing REST API interfaces
• Optimize queries
• Design SOLR based search solution
• Code review peer code
• Identifying code libraries and design patterns
What you will need
• Experience building out RESTful APIs for front-end clients
• Basic knowledge of a minimum one modern front-end framework such as React,Polymer, Angular or Vue.js
• Expert level understanding of NodeJS, and frameworks such as ExpressJS, Fast,LoopBack (preferred)
• Experience with a version control tool (we use git - GitHub and BitBucket)
• Familiarity with modern DevOps tools such as Ansible, Docker, Terraform,Fabric, Kubernetes, etc
• SOLR or ElasticSearch experience
• Advanced Knowledge of NoSQL (also SQL) databases - MongoDB, PostgreSQL
• Extensive experience of any caching technologies - Redis (preferred),
Memcached
• Experience with AWS services like Elastic Beanstalk, S3, EC2 Lambda, API Gateway, SQS, etc
• Prior experience in notifications delivery tools - FCM
• Understanding of patterns and techniques for building scalable back-end
infrastructure including caching, rate limiting, authentication, and authorization schemes
• Experience with programming languages such as golang, Typescrip
Software Engineer for Java
- Understanding of object-oriented programming and design patterns
- Strong with Java programming and Java Servlets.
- Proficient in API design and development using RESTful services (JSON, XML etc)
- Source code management using GIT
- Knowledge in Mongo DB and SQL or any equivalent No-SQL and Relational databases.
- Experience working with Bootstrap, JavaScript, jQuery & HTML would be preferred.
- Experience in Node JS would be an added advantage.
JOB RESPONSIBILITIES (About 10 - 11 years and at least 9 years relevant experience)
Develop Java webservices and components according to a detailed design document.
Build efficient, reusable and reliable Java code per industry best practices.
Follow TDD approach and ensure unit-test coverage meets quality requirements.
Develop Integration tests to ensure coding adheres to acceptance criteria and verify end-to-end behavior of the system.
Ensure best possible performance, quality and responsiveness of applications.
EXPERIENCE / SKILLS
Must have experience developing in Java latest version (least version is 8)
Must have experience in design and development using Micro service architecture
Solid knowledge in OOP concepts, and design principles/patterns for developing scalable applications
Must have experience developing Spring Boot applications
Must have experience developing database access layer using Spring Data JPA/Hibernates
Must have experience in developing REST Services using Spring
Good working experience in development of event driven systems using any framework
Must have experience with any RDBMS and at least one NoSQL database preferably PostgresSQL and Mongo DB
Must have experience writing unit and integration tests using Junit
Must have experience using mock frameworks like Mockito, WireMock
Must have experience using Git
Must have experience with CI / CD
Basic hands-on experience in one of the cloud provider (AWS/Azure) or at least docker and Kubernetes
Familiarity with build tools Maven or Gradle
Added advantage with experience of Reactive and Functional Programming
Requirements
- 3+ years of experience in the Development of JAVA technology.
- Strong Java Basics
- Linux
- SpringBoot or Spring MVC
- Hands-on experience in Relational Databases (SQL query or Hibernate) + Mongo (JSON parsing)
- Proficient in REST API development
- Messaging Queue (RabitMQ or Kafka)
- Microservices
- Java 8
- Any Caching Mechanism
- Good at problem-solving
Good to Have Skills:
- 3 years of experience in using Java/J2EE tech stacks
- Good understanding of data structures and algorithms.
- Excellent analytical and problem-solving skills.
- Ability to work in a fast-paced internet start-up environment.
- Experience in technical mentorship/coaching is highly desirable.
- Understanding AI/ML algorithms is a plus.
- Drive development and delivery of top notch technology solutions to clients efficiently.
- Lead development of implementation plan, logic and modules to embed in client solutions and client discussion ready documents /presentations.
- Lead in designing, implementing, maintaining and updating applications that are often high-volume and low-latency, required for mission critical systems.
- Lead in refining and improving system stability by continuously refactoring and measuring performance.
- Drive development of actionable, clean, maintainable, testable, reusable, extensible codes, including standardization and automation of processes.
- Provide technical and functional guidance to team members through expert knowledge and hands-on support.
- Manage projects, resource utilization, time schedules and deliveries to clients.
- Proactively drive discussions with stakeholders to understand their business requirements, business context and guide team to provide robust actional solutions.
- Effectively engage with stakeholders – create and nurture and deepen relationships.
- Ensure positive & creative work-environment, culture of collaborations, speak-up, high level of energy & enthusiasm, curiosity to learn and continuous improvement.
- Inspire, engage, motivate and provide constructive feedback to team members to develop their technical & soft skills and fully support their development aspirations.
- Drive researching and conceptualizing solution approaches, new techniques or solution frameworks and author high quality discussion papers.
Qualifications, Skills and Experiences
- BE / BTech / ME / M Tech in engineering or MCA or similar relevant field.
- 2 to 17 years (Junior, Intermediate, Senior Role & we have multiple openings)of relevant hands-on experience and excellent knowledge of Java, Python, SQL, Relational Databases, DB schema or ORM technologies.
- Excellent knowledge and experience of building applications, platforms and services in Java, Python and MS SQL or at least two of them.
- 5 + years of experience of managing projects, team and stakeholders.
- Knowledge and experience of agile methodologies.
- Excellent communication and inter-personal skills.
- Experience of working in a fast-paced environment and make quality decisions in moderately to high ambiguous work environment.
- Previous work experience in financial services, especially, capital markets is preferred.
Responsibilities
- Writing clean, high-quality, high-performance, maintainable code
- Develop and support software including applications, database integration, interfaces, and new functionality enhancements
- Coordinate cross-functionally to insure project meets business objectives and compliance standards
- Support test and deployment of new products and features
- Participate in code reviews
Skills & Qualifications
-
4-12 years of experience in Java Development.
-
Excellent verbal and written English communication is a must. You may have to interact with clients directly.
-
Technology agnostic approach is a must. Ready to adopt new technology and a faster learning curve.
-
Writing scalable, maintainable and reusable code.
-
Keen interest in SAAS based products and mobile applications.
-
Experience working with Distributed Systems
-
Java, Spring Boot, Microservices, API Design Experience with Event-Driven Architecture, Multithreading
-
Kafka iOS Experience with Event Sourcing Reactive and Functional
-
Programming Strong understanding of best practices for creating/working with Microservices
-
Experience implementing Message Brokers and Messaging subsystems(experience working with Kafka a strong plus)
-
Be open-minded, creative, and self-critical; be collaborative and communicative
-
Have experience with and curiosity about agile and lean philosophies
-
Experience working with small teams to ship products to market
-
Have experience developing full-service consumer, employee and business applications
-
Language agnostic and experienced polyglot Passion for Working Software and SOLID principles
-
Experience with designing and refactoring complex systems
-
Experience with Test-Driven Development (TDD) Interest in working in a pair-programming environment Deep understanding of design patterns and applying them in production environments
-
Passion for enabling team members
-
Java 8 or Java 11. Both are LTS. The project will be on Java11
-
Spring Boot
-
Git
-
SQL
-
AWS and AWS Aurora
-
Microservices
-
Multithreading
Perks
- Flexible time schedule.
- Work from home or work from anywhere.
- Health insurance.
- Team building activities.
- Training and conference tickets.
JD as below:
Java Developer
Strong in Java8 with Microservices + Spring Boot, Hibernate, JPA Exposure to MySQL
Only Immediate joiner or Serving
It can be taking our own product and customizing as per the customer requirements or developing applications from the scratch.