Fernando Cejas Head of Engineering at @tignum. former Director of Mobile at @Wire. @SoundCloud Alumni. Developer Advocate @IBM. Curious learner. Passionate Software Engineer. Android. Geek. http://github.com/android10 - http://fernandocejas.com https://speakerdeck.com/android10 2014-05-27 18:17:35 -0400 Brewing better code... What makes a good architecture? Many times when we think about architecture in terms of software design, we found ourselves thinking only about code, but that is not ideal, since in real life what makes a good and scalable architecture is the ecosystem around it, acting as a good companion fostering code maintenance, scalability and evolution of the project. In this talk we are going to see who are the key players when it comes to a good software design/architecture. Many times when we think about architecture in terms of software design, we found ourselves thinking only about code, but that is not ideal, since in real life what makes a good and scalable architecture is the ecosystem around it, acting as a good companion fostering code maintenance, scalability and evolution of the project. In this talk we are going to see who are the key players when it comes to a good software design/architecture. Thu, 29 Sep 2022 00:00:00 -0400 https://speakerdeck.com/android10/brewing-better-code-dot-dot-dot-what-makes-a-good-architecture https://speakerdeck.com/android10/brewing-better-code-dot-dot-dot-what-makes-a-good-architecture Monads...and Monads... Just a tiny presentation trying to explain monadic types in 10 minutes by giving a bit of an overview of Mathematics Category Theory. Just a tiny presentation trying to explain monadic types in 10 minutes by giving a bit of an overview of Mathematics Category Theory. Thu, 05 May 2022 00:00:00 -0400 https://speakerdeck.com/android10/monads-dot-dot-dot-and-monads-dot-dot-dot https://speakerdeck.com/android10/monads-dot-dot-dot-and-monads-dot-dot-dot Salt, Pepper... and tasty Web Tech In this talk, I would like to showcase how we can jump into a new technology after 4 days of research and be already proficient by effectively managing time and addressing what is the most important. In this talk, I would like to showcase how we can jump into a new technology after 4 days of research and be already proficient by effectively managing time and addressing what is the most important. Tue, 01 Feb 2022 00:00:00 -0500 https://speakerdeck.com/android10/salt-pepper-dot-dot-dot-and-tasty-web-tech https://speakerdeck.com/android10/salt-pepper-dot-dot-dot-and-tasty-web-tech Congratulations! Technical Debt GURU level unlocked! As Software Engineers we know that Technical Debt and Legacy Code are familiar concepts we have to live with in our day to day life. We are also aware that our software, in general terms, is terrible and that does not make it any especial. Code base healthiness and maintenance are challenging, so in this quick journey we are going to walk together through a bunch of tips and techniques on how to effectively address this problem. As Software Engineers we know that Technical Debt and Legacy Code are familiar concepts we have to live with in our day to day life. We are also aware that our software, in general terms, is terrible and that does not make it any especial. Code base healthiness and maintenance are challenging, so in this quick journey we are going to walk together through a bunch of tips and techniques on how to effectively address this problem. Mon, 29 Apr 2019 00:00:00 -0400 https://speakerdeck.com/android10/congratulations-technical-debt-guru-level-unlocked https://speakerdeck.com/android10/congratulations-technical-debt-guru-level-unlocked Reality's Dark Side: Quantum and Monkeys Quantum Mechanics focus on the study of the structure and behavior of subatomic particles, and our world is actually ruled by atomic and subatomic elements which have wave and particle nature...What does this mean? Well, this might sound interesting (or weird)... So in this talk we will try to learn and clear up these concepts. Join me in this journey and let's dive together into what is Quantum Mechanics and what has done for us so far. We will also explore Quantum Computing and its current state. Quantum Mechanics focus on the study of the structure and behavior of subatomic particles, and our world is actually ruled by atomic and subatomic elements which have wave and particle nature...What does this mean? Well, this might sound interesting (or weird)... So in this talk we will try to learn and clear up these concepts. Join me in this journey and let's dive together into what is Quantum Mechanics and what has done for us so far. We will also explore Quantum Computing and its current state. Wed, 07 Nov 2018 00:00:00 -0500 https://speakerdeck.com/android10/realitys-dark-side-quantum-and-monkeys https://speakerdeck.com/android10/realitys-dark-side-quantum-and-monkeys The art of coding disasters and failures Software engineering and technology is about constant evolution, which mainly involves continuous improvement. And in order to achieve it, there is long path ahead of us, which many times is not easy to follow up. Jump onboard in this journey about common (or not) software engineering disasters, failures and mistakes and how we can get the most out of those lessons in order to learn and write/develop better software. Software engineering and technology is about constant evolution, which mainly involves continuous improvement. And in order to achieve it, there is long path ahead of us, which many times is not easy to follow up. Jump onboard in this journey about common (or not) software engineering disasters, failures and mistakes and how we can get the most out of those lessons in order to learn and write/develop better software. Tue, 24 Apr 2018 00:00:00 -0400 https://speakerdeck.com/android10/the-art-of-coding-disasters-and-failures https://speakerdeck.com/android10/the-art-of-coding-disasters-and-failures Bringing Cognitive Capabilities to Android In this workshop we are going to focus on mobile development by bringing up cognitive computing capabilities to Android using IBM Watson. Join me on this fun journey and let's walk together through a real case application implementation using best practices. In this workshop we are going to focus on mobile development by bringing up cognitive computing capabilities to Android using IBM Watson. Join me on this fun journey and let's walk together through a real case application implementation using best practices. Wed, 07 Feb 2018 00:00:00 -0500 https://speakerdeck.com/android10/bringing-cognitive-capabilities-to-android https://speakerdeck.com/android10/bringing-cognitive-capabilities-to-android What Mom Never Told You About Multi-threading When we were little kids, surely there were many taboo topics our moms never mentioned. There is actually a big chance one of those is multi-threading. That is why in this talk we are going to walk together through the different alternatives we have nowadays in order to handle, manage and master multi-threading on mobile platforms. Our focus will be mainly Android but all the content and techniques exposed here can be also used within other platforms for software engineering threading problem solving. Jump in! When we were little kids, surely there were many taboo topics our moms never mentioned. There is actually a big chance one of those is multi-threading. That is why in this talk we are going to walk together through the different alternatives we have nowadays in order to handle, manage and master multi-threading on mobile platforms. Our focus will be mainly Android but all the content and techniques exposed here can be also used within other platforms for software engineering threading problem solving. Jump in! Thu, 25 Jan 2018 00:00:00 -0500 https://speakerdeck.com/android10/what-mom-never-told-you-about-multi-threading https://speakerdeck.com/android10/what-mom-never-told-you-about-multi-threading My dear designer... with love... your developer John Keats was an English Romantic poet and in one of his most famous letters, he tells next door neighbor Fanny Brawne he cannot live without her (1819): "My love has made me selfish. I cannot exist without you - I am forgetful of every thing but seeing you again." This hidden love between developers and designers really exists and we must take advantage of it in order to design and develop great products. Jump onboard in this journey and let's explore this charming relationship, based on real use cases and experiences for creating awesome product features and functionalities. John Keats was an English Romantic poet and in one of his most famous letters, he tells next door neighbor Fanny Brawne he cannot live without her (1819): "My love has made me selfish. I cannot exist without you - I am forgetful of every thing but seeing you again." This hidden love between developers and designers really exists and we must take advantage of it in order to design and develop great products. Jump onboard in this journey and let's explore this charming relationship, based on real use cases and experiences for creating awesome product features and functionalities. Thu, 22 Jun 2017 00:00:00 -0400 https://speakerdeck.com/android10/my-dear-designer-dot-dot-dot-with-love-dot-dot-dot-your-developer https://speakerdeck.com/android10/my-dear-designer-dot-dot-dot-with-love-dot-dot-dot-your-developer Hidden mysteries behind big mobile codebases RELOADED You have a really cool and impactful project, but as soon as your codebase gets bigger, and more and more contributors come into play, things can become challenging in regards to aspects like: code consistency, technical debt, refactoring, application architecture and team organization. Let's jump onboard on this journey and walk through different techniques that can help us keep our code sane and healthy for better scalability. Disclaimer: This talk is going to be focused from a mobile standpoint but most of the practices included can also be applied to any software project under development. MEMORIES OR TO FOLLOW UP AFTER THE TALK: **S.O.L.I.D Principles:** - https://medium.com/backticks-tildes/the-s-o-l-i-d-principles-in-pictures-b34ce2f1e898 **Engineering Design Patterns:** - There are a bunch here: https://www.tutorialspoint.com/design_pattern/design_pattern_overview.htm **References mentioned:** - Martin Fowler -> https://martinfowler.com/ (Such a valuable source of information: browse the topics) - Robert C. Martin **Books:** - Clean Code - Refactoring - The Pragmatic Programmer - The Gang of Four And then any specific programming language ones. I personally do not marry to any programming language, there is no better or worse programming Language, they have all been design with a purpose in mind. **REMEMBER:** - "Use the best tool for the right job" - "Do not do over-engineering" - "Share and share and let other people participate. " You have a really cool and impactful project, but as soon as your codebase gets bigger, and more and more contributors come into play, things can become challenging in regards to aspects like: code consistency, technical debt, refactoring, application architecture and team organization. Let's jump onboard on this journey and walk through different techniques that can help us keep our code sane and healthy for better scalability. Disclaimer: This talk is going to be focused from a mobile standpoint but most of the practices included can also be applied to any software project under development. MEMORIES OR TO FOLLOW UP AFTER THE TALK: **S.O.L.I.D Principles:** - https://medium.com/backticks-tildes/the-s-o-l-i-d-principles-in-pictures-b34ce2f1e898 **Engineering Design Patterns:** - There are a bunch here: https://www.tutorialspoint.com/design_pattern/design_pattern_overview.htm **References mentioned:** - Martin Fowler -> https://martinfowler.com/ (Such a valuable source of information: browse the topics) - Robert C. Martin **Books:** - Clean Code - Refactoring - The Pragmatic Programmer - The Gang of Four And then any specific programming language ones. I personally do not marry to any programming language, there is no better or worse programming Language, they have all been design with a purpose in mind. **REMEMBER:** - "Use the best tool for the right job" - "Do not do over-engineering" - "Share and share and let other people participate. " Sat, 15 Apr 2017 00:00:00 -0400 https://speakerdeck.com/android10/hidden-mysteries-behind-big-mobile-codebases-reloaded https://speakerdeck.com/android10/hidden-mysteries-behind-big-mobile-codebases-reloaded Hidden mysteries behind big mobile codebases You have a really cool and impactful project, but as soon as your codebase gets bigger, and more and more contributors come into play, things can become challenging in regards to aspects like: code consistency, technical debt, refactoring, application architecture and team organization. Let's jump onboard on this journey and walk through different techniques that can help us keep our code sane and healthy for better scalability. Disclaimer: This talk is going to be focused from a mobile standpoint but most of the practices included can also be applied to any software project under development. You have a really cool and impactful project, but as soon as your codebase gets bigger, and more and more contributors come into play, things can become challenging in regards to aspects like: code consistency, technical debt, refactoring, application architecture and team organization. Let's jump onboard on this journey and walk through different techniques that can help us keep our code sane and healthy for better scalability. Disclaimer: This talk is going to be focused from a mobile standpoint but most of the practices included can also be applied to any software project under development. Wed, 30 Nov 2016 00:00:00 -0500 https://speakerdeck.com/android10/hidden-mysteries-behind-big-mobile-codebases https://speakerdeck.com/android10/hidden-mysteries-behind-big-mobile-codebases It is about PHILOSOPHY: culture of a GOOD programmer - Second Edition Philosophy is the study of general and fundamental problems, such as those connected with reality, existence, knowledge, values, reason, mind, and language. Even though technical skills are a very positive thing, other qualifications are really more important: 'features' like respect, honesty or humility are required to become a better person and, thus, a better professional. This is not an easy path to follow, and in order to accomplish it, let me share experiences on how to be a better programmer. Let's have a walk! Philosophy is the study of general and fundamental problems, such as those connected with reality, existence, knowledge, values, reason, mind, and language. Even though technical skills are a very positive thing, other qualifications are really more important: 'features' like respect, honesty or humility are required to become a better person and, thus, a better professional. This is not an easy path to follow, and in order to accomplish it, let me share experiences on how to be a better programmer. Let's have a walk! Fri, 15 Jul 2016 00:00:00 -0400 https://speakerdeck.com/android10/it-is-about-philosophy-culture-of-a-good-programmer-second-edition https://speakerdeck.com/android10/it-is-about-philosophy-culture-of-a-good-programmer-second-edition Android Aspect Oriented Programming This is an introduction to aspect oriented programming in Android. It also introduces Frodo Android Library based on AOP for logging RxJava Observables and Subscribers. This is an introduction to aspect oriented programming in Android. It also introduces Frodo Android Library based on AOP for logging RxJava Observables and Subscribers. Wed, 15 Jul 2015 00:00:00 -0400 https://speakerdeck.com/android10/android-aspect-oriented-programming https://speakerdeck.com/android10/android-aspect-oriented-programming The Mayans Lost Guide to RxJava on Android In this little journey, we are gonna see what RxJava offers to us in terms of android development. We will also learn how we can apply it to real life mobile projects by showing different examples and use cases. In this little journey, we are gonna see what RxJava offers to us in terms of android development. We will also learn how we can apply it to real life mobile projects by showing different examples and use cases. Sat, 25 Apr 2015 00:00:00 -0400 https://speakerdeck.com/android10/the-mayans-lost-guide-to-rxjava-on-android https://speakerdeck.com/android10/the-mayans-lost-guide-to-rxjava-on-android Material Design for Old Schoolers Nowadays, we as android developers suffer serious problems regarding android fragmentation if we wanna use Material Design. In this talk we will learn how to make backward compatibility easier when applying material design on older devices. Welcome to the old school world of Material Design. Nowadays, we as android developers suffer serious problems regarding android fragmentation if we wanna use Material Design. In this talk we will learn how to make backward compatibility easier when applying material design on older devices. Welcome to the old school world of Material Design. Sat, 31 Jan 2015 00:00:00 -0500 https://speakerdeck.com/android10/material-design-for-old-schoolers https://speakerdeck.com/android10/material-design-for-old-schoolers It is about philosophy: culture of a good programmer Philosophy is the study of general and fundamental problems, such as those connected with reality, existence, knowledge, values, reason, mind, and language. Even though technical skills are a very positive thing, other qualifications are really more important: 'features' like respect, honesty or humility are required to become a better person and, thus, a better professional. This is not an easy path to follow, and in order to accomplish it, let me share experiences on how to be a better programmer. Let's have a walk! Philosophy is the study of general and fundamental problems, such as those connected with reality, existence, knowledge, values, reason, mind, and language. Even though technical skills are a very positive thing, other qualifications are really more important: 'features' like respect, honesty or humility are required to become a better person and, thus, a better professional. This is not an easy path to follow, and in order to accomplish it, let me share experiences on how to be a better programmer. Let's have a walk! Fri, 16 Jan 2015 00:00:00 -0500 https://speakerdeck.com/android10/it-is-about-philosophy-culture-of-a-good-programmer https://speakerdeck.com/android10/it-is-about-philosophy-culture-of-a-good-programmer How to Become the MacGyver of Android Custom Views MacGyver is part Indiana Jones, part Sherlock Holmes. He can turn a bicycle frame into a blowtorch, disarm a bomb with a hockey ticket, create a time machine with some duct tape and a paper clip or CREATE A CUSTOM VIEW IN ANDROID. In this talk we will walk through the Android UI framework and learn how to push it to the next level by learning how views work and how to build custom ones that will let us create innovative a UIs. MacGyver is part Indiana Jones, part Sherlock Holmes. He can turn a bicycle frame into a blowtorch, disarm a bomb with a hockey ticket, create a time machine with some duct tape and a paper clip or CREATE A CUSTOM VIEW IN ANDROID. In this talk we will walk through the Android UI framework and learn how to push it to the next level by learning how views work and how to build custom ones that will let us create innovative a UIs. Thu, 02 Oct 2014 00:00:00 -0400 https://speakerdeck.com/android10/how-to-become-the-macgyver-of-android-custom-views https://speakerdeck.com/android10/how-to-become-the-macgyver-of-android-custom-views Android UX-UI Design for Fun and Profit Even though we are developers dealing with source code, it is good to know how to deal with UI/UX when building our user interfaces by applying tips and best practices. So, in this session, we are gonna talk about android usability patterns, based on real cases and experiences with mobile development. Even though we are developers dealing with source code, it is good to know how to deal with UI/UX when building our user interfaces by applying tips and best practices. So, in this session, we are gonna talk about android usability patterns, based on real cases and experiences with mobile development. Wed, 28 May 2014 00:00:00 -0400 https://speakerdeck.com/android10/android-ux-ui-design-for-fun-and-profit https://speakerdeck.com/android10/android-ux-ui-design-for-fun-and-profit