Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

A Guide to Masterful Software Engineering: The Way of The Pirate, The Path of The Jedi
A Guide to Masterful Software Engineering: The Way of The Pirate, The Path of The Jedi
A Guide to Masterful Software Engineering: The Way of The Pirate, The Path of The Jedi
Ebook167 pages2 hours

A Guide to Masterful Software Engineering: The Way of The Pirate, The Path of The Jedi

Rating: 0 out of 5 stars

()

Read preview

About this ebook

Embark on a transformative journey into the heart of software development with 'A Guide to Masterful Software Engineering: The Way of the Pirate, The Path of the Jedi' This insightful guide transcends the boundaries between the esoteric wisdom of Jedi philosophy and the concrete realities of the programming world, offering a unique perspective on code mastery.

Whether you're taking your first steps as a Padawan or you're an experienced coder on the path to becoming a Master, this book offers a roadmap to elevate your craft. Break through old paradigms, sharpen your technical and emotional skills, and unlock the deeper essence of becoming a true Master in the field.

'The Jedi Developer' doesn't just teach you to code - it coaches you in the art of self-management, nurtures your emotional intelligence, and hones your strategic thinking, all while guiding you through the ever-evolving challenges of the IT universe.

More than just a book, 'The Jedi Developer' is your companion in professional evolution, equipping you with the knowledge to achieve success beyond the code

LanguageEnglish
PublisherCarlos Bueno
Release dateFeb 5, 2024
ISBN9798224865710
A Guide to Masterful Software Engineering: The Way of The Pirate, The Path of The Jedi
Author

Carlos Bueno

Carlos Bueno is a Software Engineer, currently working at CODIT Luxembourg, and a fervent advocate of functional programming. With years of experience in software development, he constantly seeks to apply the best practices and cutting-edge techniques to create efficient, maintainable, and high-quality code. In addition to his professional pursuits, Carlos is an avid cycling enthusiast and enjoys spending his free time playing video games, participating in role-playing games, and reading about the latest advancements in programming and technology. His well-rounded interests inspire him to bring creativity and innovation to his work, making him an invaluable resource for readers looking to elevate their coding skills.

Read more from Carlos Bueno

Related to A Guide to Masterful Software Engineering

Related ebooks

YA Technology For You

View More

Related articles

Reviews for A Guide to Masterful Software Engineering

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    A Guide to Masterful Software Engineering - Carlos Bueno

    A cartoon of a pirate sitting cross legged with a sword Description automatically generated A Guide to Masterful Software Engineering

    The Way of the Pirate,

    The Path of the Jedi

    CARLOS BUENO

    Copyright © 2024 by Carlos Bueno.

    All rights reserved. No part of this book may be used or reproduced in any form whatsoever without written permission except in the case of brief quotations in critical articles or reviews.

    For more information, or to book an event, contact :

    (Email & Website)

    http://www.github.com/ kinderbueno360

    Book design by (Name of Designer)

    Cover design by Name of Designer)

    ISBN - Paperback: 979-8878174718

    ISBN - Hardcover : 979-8878174718

    First Edition: February 2024

    CONTENTS

    CHAPTER 1 - INTRODUCTION

    CHAPTER 2 - PIRATES

    CHAPTER 3 - POLITICS

    CHAPTER 4 – THE ART OF PROGRAMMING

    CHAPTER 5 – CONCENTRATION IN THE FORCE

    CHAPTER 6 – YOUR CODE IS NOT YOU

    CHAPTER 7 – MERGING THE FORCES: FUNCTIONAL AND OOp PARADIGMS

    CHAPTER 8 – CODE MASTERY: PIRATE’S WISDOM, JEDI’S SKILL

    CHAPTER 9 – BALANCING WORK AND LIFE

    CHAPTER 10 – JEDI CODE REVIEW

    CHAPTER 11 – COMMUNITY INVOLVEMENT AND OPEN SOURCE

    CHAPTER 12 – NAVIGATING DIVERSITY

    CHAPTER 13 – NEWCOMER

    CHAPTER 14 – PADAWAN

    CHAPTER 15 – JEDI KNIGHT

    CHAPTER 16 - JEDI MASTER

    CHAPTER 17 - cONCLUSION

    About the Author

    Acknowledgments

    CHAPTER 1

    INTRODUCTION

    TO BEGIN A DISCUSSION about software architecture, we must define what architecture is. I love Martin Fowler's definition: The software industry delights in taking words and extending them into a myriad of subtly contradictory meanings. One of the biggest sufferers is 'architecture'. I see 'architecture' as one of those impressive-sounding words, mainly used to indicate that we are talking about something important. However, I am pragmatic enough not to let my cynicism get in the way of the challenge of attracting people to my book.

    There really is no role of Architect. What exists is an idea that serves to add value to a function. So, we, experienced developers, must be pragmatic enough to take advantage of and add financial and professional value to our lives.

    In this context, the wisdom of Kent Beck comes to mind, who once said, 'I'm not a great programmer; I'm just a good programmer with great habits.' , and Uncle Bob highlights, 'We are what we repeatedly do. Excellence, then, is not an act, but a habit.'

    Thinking about this, I decided to write this book that helps to clarify the path to becoming a true and authentic Master Programmer – or, as the market calls it, a Software Architect. Some disciplines, in addition to coding, are extremely fundamental to achieving the maximum degree! Some very strange ones, like politics, psychology, and other humanities disciplines contribute to this formation. But how does this happen?

    Well, I hope you don't give up reading when you know this. I say this because all the experience I have in this area has shown that the vast majority of developers prefer more performant code than more human. But what do I mean by that?

    There are some IT thinkers, like Uncle Bob, who preach the importance of code that is easily understood by other programmers, as the only certainty that exists in software development is that the code will be changed, being the biggest reason for delays and high costs. In addition to Bob, we have Fowler preaching that a good programmer writes code for other programmers, not for machines.

    Jakob Nielsen expands the concept of software development by asserting that the only mode of communication between a user and the system is through an interface. This signifies that a good architect must think beyond just coding.

    Regarding political matters, a special section is dedicated because it's deemed one of the essential disciplines for a master programmer architect.

    The terms Pirate and Merchant Navy will be heavily utilized. If you're not familiar with them, it's strongly recommended to watch the movie Pirates of Silicon Valley before proceeding with the book.

    Briefly, in the movie, the Merchant Navy represents traditional corporations like IBM, where everyone is in formal attire, adhering strictly to company culture. Pirates, in contrast, defy this norm, passionately pursuing their goals until success is achieved.

    This mindset has been a catalyst for change throughout history, notably during the golden age of piracy in the 1700s, challenging the monopoly over oceanic routes, leading to the seas being considered international waters.

    Another more recent example of piracy is Napster, where a single person with a pirate mindset was able to challenge the existing record industry model and create something that forced the music industry to reinvent itself. Before Napster, no one imagined the possibility of buying just that one song you like instead of a full album. This way of acting and thinking is the only one capable of destabilizing and changing the system for the better, which is why we will better understand the pirate way of thinking.

    Before I continue, I would like to say that this book is not intended for people who love or are from the Merchant Marine standard, but for those who think like a Pirate.

    The terms used by the Merchant Marine are, as Fowler said, more about impressing than defining something, so I prefer to work with the idea of both professional and personal experience evolution. Since I am a big fan of Star Wars, I see a perfect correlation of this evolution with that of the Jedis. So, from this moment on, I will use the Star Wars theme as a metaphor for the narrative of this book.

    The idea is simple: the Jedis are the real programmers, the ones who will make a difference! They start their careers as Younglings or Padawans, and then evolve into Jedi Knights and, finally, Jedi Masters.

    Not all developers fall into this classification, in other words, they will never be Jedis. To become one, you must love what you do, and go through a hard and long journey. It's like Martin Fowler once said about Design Patterns:

    When you introduce them to a group of new developers, everyone will complain. After a while, some will love it and say that using it has changed them for the better! Others will like it and use it. But there is a group that will hate it!".

    THIS LAST GROUP ARE the ones who can be excluded from the Jedi category, as they do not have the analytical and objective characteristics in their DNA.

    Another point that we will understand in the book is that software development is closer to the human sciences than to the exact sciences. The process of analyzing and developing (building) software is like painting pictures: if we ask two different artists to paint a portrait of a person, in both results we will know that the artists portrayed the person, but they will not be identical! Each painting will have the techniques and characteristics of the painter.

    This fact is similar and happens in software development, because if we ask two different developers to make the same software, the final result will be distinct, but we will be able to identify that both softwares have the same purpose.

    However, they will possess techniques and characteristics of their developers.

    According to Philippe Kruchten:

    Programming is fun, but developing quality software is hard.

    In other words, programming is a state of the art! In the chapter The art of developing, we will delve deeper into the subject.

    Fred Brooks, in 'The Mythical Man-Month', reminds us that 'Good judgment comes from experience, and experience comes from bad judgment.' This resonates with the software architect's journey of learning through both successes and challenges.

    As we close this chapter, it's essential to reflect on the journey we've embarked upon in software development. Every line of code, every project, and every challenge represents a step in our journey of growth and learning. Philippe Kruchten's observation that 'developing quality software is hard' underscores the importance of this journey, not merely as a technical endeavor, but as an art form demanding passion, dedication, and continuous learning. The wisdom of Fred Brooks about experience and judgment resonates deeply, reminding us that our path is shaped by both triumphs and setbacks. While this chapter has focused on the foundational aspects of becoming a master in software development, the upcoming sections will delve into unique philosophies like the 'Pirate' mindset, pushing us to embrace innovative and disruptive thinking in our quest to become true architects of software. This journey is challenging, yet the rewards of mastery and innovation are unparalleled in their ability to transform both our creations and ourselves.

    CHAPTER 2

    PIRATES

    BETTER TO BE A PIRATE than to join the navy. - Steve Jobs

    WHY BE A PIRATE?

    We will address the concept of Pirates in an allegorical way. It is not the same concept used for Computer Pirates, nor for the crime of piracy! As mentioned, it is an allegorical term.

    We must understand that the correlation is made in the essence of thought and is transported to the daily life of a developer, so that one can understand the spirit of going beyond... Innovating!

    Remember that, just like a pirate, we are on a journey, alone on a sea with the entire merchant navy – the large corporations –, which dictate the trends and the rules.

    To be able to defeat the navy on our own and be victorious, we must act like Pirates!

    We will understand the idea better later on. For now, we just need to know that by acting like Sailors, we will only be tamed and will be further away from (if it is possible) reaching our dreams.

    HOW DO PIRATES ACT?

    GOOD ARTISTS COPY, great artists steal. – Picasso

    Picasso did not mean 'steal' in the strict sense of the word, but rather in the inspiration of the innovator; to adopt the new and revolutionary and make it your own. If we look at great names of success, they did the same! In the field of technology, we have the revolutionary Steve Jobs, who understood this concept more than anyone, and managed to create an empire that was based on making revolutionary what was rejected by others.

    The main idea of the term Pirate is in the concept that they

    Enjoying the preview?
    Page 1 of 1