The only way to survive in a codebase is by refactoring continuously – we are all increasingly aware of this. But when working with massive complex code, it’s sometimes hard to see the design issues in the code. Being able to quickly identify code smells is a game changer, as all of them have a number of classic solutions. This talk takes you through some of the most dangerous code smells in the projects today: God Class, Duplicated Code vs Divergent Code, Temporal Coupling, Middle Man, Speculative Generality, Accumulator Loop, Comments, and more. For each of them we’ll discuss a typical workaround, plus several subtleties and variations. Join this live-coding session to taste and get addicted to refactoring.
Rather than being a presentation with a large power point, this is a practical demonstration. I’ll start with a large block of code, that I have been asked to work on and ‘ticket’ that describes what I have to do.
I’ll review the existing code, show how it needs to be refactored before I start working on it. I’ll then refactor the code in line with modern design principles showing how everything we do should be designed to make the code more testable and easy to change.
During the refactoring I will be explaining why object orientation is no longer relevant in Java, and has been de-facto replaced by functional programming.
While there are many alternatives for cloud-native CI/CD workflows in the community, selecting the right technology brings on a whole different challenge in the telecom industry.
Up-time in the high 9s for millions of subscribers of tier-1 operators – what does this level of stability and performance require?
Let’s discuss the challenges and solutions with focus on testing and code-coverage – all in the context of Java being the programming language behind most of the projects scheduled to benefit from these CI/CD workflows.
Most of the work as a programmer isn’t typing, it’s thinking. Faster thinking comes with experience, while faster typing can be developed quite early with the help of a good tool. In this session, you will get to see how to type faster using Intellij. Don’t blame your tool, just take the best out of it! #java #codefaster #intellij #beefficient
With an ever-increasing number of Java applications
moving to containers, the modern Java developer needs to know about
the emerging cloud-native technologies and standards. Of particular
importance is the growing area of Observability, which goes beyond
performance monitoring to provide a new deep understanding of complex software stacks.
In this talk, Ben Evans provides an overview of Observability that is
suitable for Java/JVM devs that may be new to the subject, or may have
only experienced traditional monitoring and APM tooling. By attending
this talk, developers should gain a better understanding of what
Observability means for their applications and what aspects of it they
should begin considering as part of their application roadmaps.
An introduction to the cache concepts, the support offered with Spring Cache and hands-on examples.
One of the most common approaches when designing loosely-coupled (micro)service architectures is using a database per service. But given the fact that these services are communicating asynchronously, how can we make sure that the data remains consistent between all our systems?
Change Data Capture gives us a solution to this challenge: it allows us to react to database changes (insert/update/delete operations) of interest and propagate specific events to our event bus.
During this keynote, we will be addressing the following topics:
• how to implement this pattern using open-source tools;
• advantages and disadvantages of such an approach;
• different ways to further improve our solution;
• other areas where CDC might prove useful.
Let’s figure out what Project Loom is for the Java Platform and how it can help your code run faster on the same hardware – sounds like a free lunch isn’t it?
Unit / Integration / GUI – an obvious association when anybody mentions a test triangle. Every ISTQB student can drill down these elements when woken up in the middle of the night. The thing is: is this decomposition still relevant? Does it even work when you run a highly distributed, microservice environment? Does this make any sense in a microservices world?.
During this session we will walk through different test goals, a different hypothesis we want to assert during testing, evaluate tools that can support us and see these tools in action: on a “real” java based microservices. So expect some critical thinking and a walk-through a set of tools and methods on how to use unit and integration tests effectively. But first and foremost, we will look beyond that and look when to initialise application container, how to approach validation of the service’s contracts and finally is it worth to mimic a part of production environment with test containers.
Meet Mambu: the only true SaaS banking platform leading the change in the world of banking. Some call us “experts at collaborating globally”, others know us as a close-knit team capable of solving big problems. One thing is for sure, what brings us together is drive, confidence and a collaborative spirit. We are a dedicated team of +500 professionals spanning 6 continents, building the core part of a major shift in the future and evolution of banking. Our leading cloud native solution is the driving force behind our customers as they grow, scale and transform to meet evolving digital demands. Our mission? Make modern financial services accessible to everyone.
We constantly adapt to the modern ways of working. If your professional development is a key focus, you will be glad to hear that we are sharp technology adopters. One of our colleagues’ favorite job perks is not getting bored even after 5 years with us.
We are a market leader in security analytics software that empowers governments and enterprises with Actionable Intelligence for a safer world.
Cognizant Romania is one of Eastern Europe’s largest Software Product Engineering delivery networks. We serve global clients in several industries, including Banking & Financial Services, Insurance, Healthcare & Life Sciences, Communication Media & Technology, and Retail & MLEU (manufacturing, logistics, energy & utilities).
Our product thinking mindset defines, builds, and launches new, experience-centered software products that reinvent business.
To learn more about Cognizant Romania and explore career opportunities visit our website (https://www.cognizant.com/ro/en)!
HCLTech is a global technology company, home to more than 223,400 people across 60 countries, delivering industry-leading capabilities centered around digital, engineering, cloud and AI, powered by a broad portfolio of technology services and products. We work with clients across all major verticals, providing industry solutions for Financial Services, Manufacturing, Life Sciences and Healthcare, Technology and Services, Telecom and Media, Retail and CPG, and Public Services. Consolidated revenues as of 12 months ending June 2023 totaled $12.8 billion. To learn how we can supercharge progress for you, visit hcltech.com.
Bosch Service Solutions is a leading provider for Business Process Outsourcing. We are solution designers offering complex technical and software services to the Bosch Group and to external customers in the areas of automotive/ mobility, sensor technology and Internet of Things. We design and provide best-in-class services, such as: software-based solutions, AI and automation, project management, customer experience. Join a team with more than 17 years of experience providing exceptional services as our newest AI Consultant, DevOps engineer, software developer or business process modeler.
Work #LikeABosch
We’ve been present in Romania for more than 10 years and we are one of the main players on the IT&C local market. Our Luxoft employees in Romania are involved in cutting-edge projects for key industries such as automotive, finance and digital enterprise. And we are always looking for brilliant minds to join our team.