Speakers 2020
Iva Abadjieva
Innovation Center Inc.Iva Abadjieva
Discussion :: Women in Software Development Industry – Challenges, Career, Leadership
Opening
Reza Rahman
MicrosoftReza Rahman
Reza Rahman is Principal Program Manager for Java on Azure at Microsoft. He works to make sure Java developers are first class citizens at Microsoft and Microsoft is a first class citizen of the Java ecosystem.
Reza has been an official Java technologist at Oracle. He is the author of the popular book EJB 3 in Action from Manning Publishing. Reza has long been a frequent speaker at Java User Groups and conferences worldwide including JavaOne and Devoxx. He has been the lead for the Java EE track at JavaOne as well as a JavaOne Rock Star Speaker award recipient. He was the program chair for the inaugural JakartaOne conference. Reza is an avid contributor to industry journals like JavaLobby/DZone and TheServerSide. He has been a member of the Java EE, EJB and JMS expert groups over the years. Reza implemented the EJB container for the Resin open source Java EE application server. He helps lead the Philadelphia Java User Group. Reza is proud to be a founding member of the Jakarta EE Ambassadors.
Reza has over a decade of experience with technology leadership, enterprise architecture and consulting. He has been working with Java EE technology since its inception, developing on almost every major application platform ranging from Tomcat to JBoss, GlassFish, WebSphere and WebLogic. Reza has developed enterprise systems for well-known companies like eBay, Motorola, Comcast, Nokia, Prudential, Guardian Life, USAA, Independence Blue Cross, Anthem, CapitalOne and AAA using Java EE and Spring. He is particularly interested in distributed systems, messaging, middleware, persistence and machine learning.
Reza is an inductee to Phi Beta Kappa, the oldest and most respected national honor society for undergraduates in liberal arts and sciences. He earned his bachelors degree from Gettysburg College. He graduated Summa Cum Laude with a double major in Computer Science and Economics as well as a minor in Mathematics.
Java EE on Azure Magic Mystery Show
This fast-paced, demo-driven, entirely slide free session will show you the many ways of effectively deploying a Jakarta EE application to Azure. We will start by deploying a local Jakarta EE application to basic IaaS on Azure. We will then deploy the same application to an entirely managed Azure PaaS. Finally we will deploy the application to Azure using Docker and Kubernetes. We will discuss the trade-offs of each approach on the way, offering guidelines for which approach might be best for your application on the cloud. At the end of the session, you will have all the demos on GitHub so you can explore them on your own.
How Microsoft Learned to Love Java
This session is a fast-paced tour of all things Java and Azure at the modern Microsoft of today. We will first talk about the why, how and what of Java and Microsoft. We will then dive right into the broad range of tools, services and APIs that Microsoft offers around Azure for Java developers. We will show a small but representative demo of a Java application most developers would feel familiar with running well on Azure. Lastly, we will discuss the road map for what Java developers can expect from Microsoft in the future. This session is as much about sharing what Microsoft offers today as it is about listening to what the Java community wants to see from Microsoft tomorrow.
Jack Shirazi
Hotels.comJack Shirazi
Jack Shirazi works in the Performance and Reliability team at Hotels.com, part of Expedia Group. He is the founder of JavaPerformanceTuning.com and author of Java Performance Tuning (O’Reilly), and has been an official Java
Champion since 2005.
Jack has worked at all levels and all stages of IT projects in several industries including with real-time, low latency and highly scaled applications. As well as authoring his popular book and contributing to several other books, Jack has published over 60 articles on Java performance for various sites and magazines; and has published over 200 newsletters for JavaPerformanceTuning.com over 15 years, and with these newsletters published around 10,000 Java performance and memory related tips.
What we Learned Moving Hundreds of Services into the Cloud: A Java/Kubernetes/Cassandra/DynamoDB Best Practices Story
Ivar Grimstad
Eclipse FoundationIvar Grimstad
Ivar Grimstad is the Jakarta EE Developer Advocate at Eclipse Foundation. He is a Java Champion and JUG Leader based in Sweden.
Ivar is the PMC Lead for Eclipse Enterprise for Java (EE4J) and involved in the Jakarta EE Working Group. He is also one of the community representatives in the JCP Executive Committee as well as specification lead for JSR 371 (MVC 1.0).
Ivar is also involved in Eclipse MicroProfile, Apache NetBeans and a frequent speaker at International developer conferences.
OpenDDR and Jakarta MVC
Otavio Goncalves de Santana
SouJava/Platform.shOtavio Goncalves de Santana
Otávio is a passionate software engineer focused on Java technology. He has experience mainly in persistence polyglot and high-performance applications in finances, social media, and e-commerce.
Otavio is a member of both Expert Groups and Expert Leader in several JSRs and JCP executive committee. He is working on several Apache and Eclipse Foundation projects such as Apache Tamaya, Eclipse JNoSQL, Eclipse MicroProfile, JakartaEE. A JUG leader and global speaker at JavaOne and Devoxx conferences. Otavio has received recognition for his OSS contributions such as the JCP Outstanding Award, Member of the year and innovative JSR, Duke’s Choice Award, and Java Champion Award, to name a few.
NoSQL Endgame
The amount of data collected by applications nowadays is growing at a scary pace. Many of them need to handle billions of users generating and consuming data at an incredible speed. Maybe you are wondering how to create an application like this? What is required? What works best for your project?
Architecting Cloud Computing Solutions with Java
Cloud-Native has become a big buzzword around the world, a term that is practically used by everyone at all times. But what does it mean? What are the advantages it brings to your application and your day as a software developer or architect? What’s new in the Java world, and what are the steps to follow for a native cloud application? This presentation is a step-by-step guide that will practically guide you through implementing Cloud computing services effectively and efficiently.
Topics:
- Cloud Native Concepts
- Anatomy of Cloud Native Systems
- Cloud Native Patterns
- The Twelve-Factor App
- Java specifications
Rudy De Busscher
Payara ServicesRudy De Busscher
Rudy loves to create (web) applications with the Java EE platform and MicroProfile implementations and is currently working for Payara Services Limited in the Service Team. He helps customers, writes technical content, is part of some MicroProfile implementations and advocates the Payara Products in various ways.
He is active in the IT industry for more than 20 years and created many applications for customers. He is also a big fan of OpenSource and helped in various OpenSource projects like DeltaSpike, PrimeFaces, and Apache Myfaces. He is also passionate about Web Application Security using OAuth2, OpenID Connect, and JWT. He maintains the Octopus OpenSource project and is a member of the Jakarta EE Security API team.
How Class Data Sharing Can Speed up Your Jakarta EE Application Startup
Java Byte code is OS independent, which means that your application’s startup takes more time than a native image. Using the Class Data Sharing functionality introduced in more recent versions of the JVM, you can prepare your application so that it will load very fast.
In this presentation, I’ll go into more detail what Class Data Sharing is and the differences between the OpenJDK and OpenJ9 versions. With some Jakarta EE demo applications, you will see gains that you can achieve and reduce memory footprint a lot in Docker containers by sharing memory.
Chiamaka Okenwa
Chiamaka Okenwa
Chiamaka Okenwa is a software engineer with a demonstrated history of working in the fintech industry with a focus on product design and development. She is passionate about the developer communities in Africa and has served as a developer advocate for unStack Africa.
What is OAuth? Introduction on how the open authorization framework works
Discussion :: Women in Software Development Industry – Challenges, Career, Leadership
Andres Cespedes Morales
MulesoftAndres Cespedes Morales
Andres Cespedes Morales is a Java professional, working within the community since 2005. Speaker at several conferences in different languages, open-source contributor, and active blogger. Currently, working as Software Trainer at MuleSoft (a Salesforce company).
Software Security: A Modern Overview
Do you think that security is a responsibility only from security specialist? In this session, you will find why security is involved across different roles – especially developers – and how you can start developing more secure applications regardless of the programming language.
Rafał Leszko
HazelcastRafał Leszko
Cloud software engineer at Hazelcast, author of the book “Continuous Delivery with Docker and Jenkins”, trainer, and conference speaker. He specializes in Java development, Cloud environments, and Continuous Delivery. Former employee in a number of companies and scientific organizations: Google, CERN, AGH University, and more.
Mutation Testing with PIT
How well tested is your system? How do you measure it? Code coverage can give you the answer, however can we trust our unit tests? Trust me or not, but I used to work for the investment banking industry in a big project where a lot of unit tests had no assertions (!). And yes… the coverage was very high.
Mutation testing is a method to check the quality of your unit tests and show more reasonable code coverage reports. In this session I will describe the idea of mutation testing and show a live example with the use of PIT Mutation Testing framework.
Nicolas Fränkel
HazelcastNicolas Fränkel
Developer Advocate with 15+ years experience consulting for many different customers, in a wide range of contexts (such as telecoms, banking, insurances, large retail and public sector). Usually working on Java/Java EE and Spring technologies, but with focused interests like Rich Internet Applications, Testing, CI/CD and DevOps. Currently working for Hazelcast. Also double as a teacher in universities and higher education schools, a trainer and triples as a book author.
3 easy improvements in your microservices architecture
While a microservices architecture is more scalable than a monolith, it has a direct hit on performance.
To cope with that, one performance improvement is to set up a cache. It can be configured for database access, for REST calls or just to store session state across a cluster of server nodes. In this demo-based talk, I’ll show how Hazelcast In-Memory Data Grid can help you in each one of those areas and how to configure it. Hint: it’s much easier than one would expect.
Werner Keil
Creative Arts & TechnologiesWerner Keil
Werner Keil has worked for more than 25 years as project manager, software architect, analyst and consultant on leading-edge technologies for Banking, Insurance, Telco/Mobile, Media and Public sector.
Among his earlier clients are Sony where Werner designed and implemented micro-format based tags for Sony Music.
He develops enterprise systems using Java, Java EE, Oracle or IBM, does Web design and development using Adobe, Ajax/JavaScript or dynamic languages like Ruby, PHP, etc.
Besides work for major companies he runs his own creative, talent and consulting agency Creative Arts & Technologies. In his spare time, he runs and supports open-source projects, writes song lyrics, novels, screenplays and technical articles. He is committing member of Eclipse Foundation, Apache Foundation and the Java Community Process, including his role as JSR-363 Spec Lead and Executive Committee Member.
OpenDDR and Jakarta MVC
NoSQL Endgame
The amount of data collected by applications nowadays is growing at a scary pace. Many of them need to handle billions of users generating and consuming data at an incredible speed. Maybe you are wondering how to create an application like this? What is required? What works best for your project?
Martin Toshev
Martin Toshev
Martin is a solution architect and IT consultant conducting professional trainings for novice and experienced developers. He is a Java enthusiast and one of the leads of the Bulgarian Java User group (BG JUG). Martin is also a regular speaker at Java conferences and helps with the organization of the jPrime conference in Bulgaria (http://jprime.io/).
Svetlin Nakov
SoftUniSvetlin Nakov
Svetlin Nakov (http://nakov.com) Svetlin Nakov has 20+ years of technical background as software engineer, project manager, consultant, trainer, and digital entrepreneur with rich technical experience (blockchain, Web development, information systems, databases, cryptography, C#, Java, JS, PHP, Python). Svetlin Nakov is a regular speaker at hundreds of conferences, seminars, courses and other trainings and holds a PhD degree in computer science. He is author of 15 books about computer programming and software technologies, lives in Sofia, Bulgaria and works as an passionate trainer and inspirer at SoftUni.
Programming Languages in 2021 – Trends and Opportunities
- Which are the most future proof languages for 2021?
- Review of most popular languages in 2020:
- Most used languages: Python, JavaScript, Java, C#
- Less often used languages: C++, PHP, TypeScript, Swift, Kotlin, Scala, Ruby, Visual Basic
- Specialized languages: Rust, Go, R, C, Objective-C, Dart, Perl
- Outside the standings (because they’re not programming languages): SQL, HTML, CSS, XML, JSON
- Language popularity indexes:
- Most sought after languages according to LinkedIn Jobs Worldwide?
- Languages with the most code written in GitHub?
- PYPL: language popularity based on Google Trends
- TIOBE: language popularity according to global search enginges
- Most discussed languages in StackOverflow?
- Why all these popularity indexes are unreal and skewed?
- For beginners: which language should I start with?
- Why the actual language doesn’t matter much?
- Which languages are most sough after in Bulgaria (according to LinkedIn Jobs Bulgaria)?
- Summary: which languages to learn during 2021 and why?
Programming Languages in 2021 – Trends and Opportunities
- Which are the most future proof languages for 2021?
- Review of most popular languages in 2020:
- Most used languages: Python, JavaScript, Java, C#
- Less often used languages: C++, PHP, TypeScript, Swift, Kotlin, Scala, Ruby, Visual Basic
- Specialized languages: Rust, Go, R, C, Objective-C, Dart, Perl
- Outside the standings (because they’re not programming languages): SQL, HTML, CSS, XML, JSON
- Language popularity indexes:
- Most sought after languages according to LinkedIn Jobs Worldwide?
- Languages with the most code written in GitHub?
- PYPL: language popularity based on Google Trends
- TIOBE: language popularity according to global search enginges
- Most discussed languages in StackOverflow?
- Why all these popularity indexes are unreal and skewed?
- For beginners: which language should I start with?
- Why the actual language doesn’t matter much?
- Which languages are most sough after in Bulgaria (according to LinkedIn Jobs Bulgaria)?
- Summary: which languages to learn during 2021 and why?
Naresha K
Naresha K
Naresha works as Technical Excellence Coach and Cloud Transformation Catalyst. He works with the developers to improve their professional practices to get better at developing maintainable applications that deliver business value. He also helps teams to architect solutions for the cloud and migrate applications to cloud platforms. He has been developing enterprise software for more than 12 years.
Naresha is the founder organizer of Bangalore Groovy User Group. He has been a speaker at several conferences including GR8 Conf EU, Functional Conf, GR8 Conf India, Grails Conf, GIDS, Eclipse Summit and Selenium Conf.
Evolving with Java – How to Remain Effective
Take Control of your Integration Testing with TestContainers
How easy is it to write and maintain integration tests when your system under test interacts with databases, message stores, and other external systems? It can be quite challenging, can’t it? For example, the lack of control over the setup of databases can increase the cost of integration testing. Sometimes we take the route of using an in-memory database instead of the one we employ in the production environment, making the tests less effective. With Docker containers, you can simplify this to some extent by running the setup before invoking your tests. Imagine if you get to control the database environment right from within the test code. TestContainers bring in this convenience.
TestContainers is a tool that you can invoke from your test code. It provides lightweight, throwaway instances of common databases, web browsers(Selenium tests), or anything else that can run in a Docker container. In this presentation, I walk you through how TestContainers is the most effective way to take advantage of Docker containers for integration testing. I present through several use-cases and demonstrate how TestContainers simplifies integration testing.
Dr. Pavlin Dobrev
Bosch.IODr. Pavlin Dobrev
Dr. Pavlin Dobrev is a Director at Bosch.IO. The company owned by Bosch is focused on developing AI-powered Internet of Things (IoT) solutions focused on connected IoT ecosystem and tear down silos to create a truly connected world. He is charge for the Quality Management of the Bosch IoT Suite, the entire support of ISO 9001, ISO 20000 and ISO 27001 at Bosch.IO, as well as various research and customer projects.
Dr. Dobrev has more than two decades of experience with IoT, AI, Cloud and Java technologies, as well as in OSGi and embedded systems. He is an active participant in the OSGi Alliance, Java Community Process and other technical standards groups. He is a member of the Eclipse Foundation and participates in the development of the Eclipse IDE as a committer in the Equinox project.
Pavlin Dobrev has a PhD in Computer Systems in the area of Knowledge Management from the Institute for Parallel Processing, Bulgarian Academy of Sciences and holds an MsC in Computer Science from the Faculty of Mathematics and Informatics of Sofia University. He has written many scientific and technical publications and participated as speaker in prestigious international conferences.
Opening
Rayna Stankova
Women Who Code SofiaRayna Stankova
Rayna Stankova, software engineer at VMware Bulgaria with more than 10 years of experience in the IT industry, has been managing Women Who Code Sofia since 2017. She started her career as a quality engineer thanks to critical thinking and passion for problem solving. The development of products with high quality and satisfying the requirements of the clients has become of high priority in her working day. For Rayna, it is important to share knowledge, so she actively participates in conferences and events, giving lectures and workshops.
She strongly believes that women have a lot to give to the IT industry, so she launched Women Who Code Sofia. The organization started as a small community of enthusiasts, and now they are the largest and most famous women’s organization in Sofia.
Where Rayna spends her free time: Volunteering. Photography. Travel. Healthy food. Squash.