Once in a while, I can’t sleep. During those nights of insomnia, I tend to overthink. Among those relfections and constant rolling over in my bed, sometimes I think why am I doing what I’m doing.
The novel puts in a clear way the usual reasons why people does what they do. Is for help humanity? Is for make something awesome? Is just for fun? Is because there is no other way to live?
By now, I have been drawn the conclusion there is not a correct answer. Just make whatever you want, and if you neither want it nor is a need, just drop it, and go on.
Each people has their own standards, maybe, the most valuable in life for someone is being free and enjoy a good stared night ( like Belinda in the novel ) or make something with some meaning.
The curious part here is, that special meaning is giving it by us. At the end, is just about finding something which you give the meaning you need in order to keep waking up, everyday, to do whatever you have to do.
The end of this charapter had lead me to some interesting ideas, like, the burn out syndrome has a simple antidote: found other activities which, could be meaningful to you.
Find your motivations. Keep working hard. Src. Giphy
Metrics in a project
This project talked about some metrics, but I think all those ideas were too much complex for the intentions of these blogs. As I said the last course, the key for develop code in a rapid – clean way, is breaking down the project in minimum, doable operations. This approach could be used to measure code, counting minimum operations, subsistems, instances or entities.
For any operation ( like writing this blog) if we break down the project in little tasks ( define little task in your own way, but be consistent) it could be very easy to have a great estimate of our task and therefore of our deadlines.
Like in fruits, to manage a project ( or eat a fruit) cut it down into pieces. Src. Giphy
The only thing is missing here is how to get consistency about how measure. To get that skill is just by getting experience. How? Measuring every task you have. Like in the novel they start researching data from other projects, we should start getting our pool of task done, and evaluating how much time are we wasting.
But we know, reality most of the times is far away from our sweetest dreams.
Mr. Belok. The dark face of politics, economics and presure.
Mr. Belok, according how he sound for a manager. Src. Giphy
The truth is, most of the times, work enviroments are involved by politics, requirements, goals, deadlines, gains, losses, money money, money.
As a good manager, we should being flexible enough to adapt any changes it could happen meanwhile the project is developed.
As Mr T. says at the end of the chapter, «Pathological politics can crop UP anywhere, even in the healthiest organization». We are not safe of politics, because work enviroments ( as real world ) is always changing.
Sometimes is not because of some devil guy who want’s to spoil everithing up, but because of external causes.
At some point in my life, while I was working in certain enterprise, I was present in a Q&A where the CEO announces that the enterprisehad to change its internal politics in order to adjust to the newest laws. It was surprising to hear, in this kind of huge company, lots of engineers arguing and yelling, complainingabout all the extra work they had to do, ( and the changes about the way they were working till that moment).
Changes are real stuff. How could we handle this kind of situations?
Well, is not that easy. Before I said we should be flexible enough to adapt, but also is necessary be clever.
In the lecture, the author represents this cleverness trought the Marklov’s decision of keep running secretly teams B and C of each project.
To me, it’s difficult to define how clever we should be in difficult calls, but this comes easily if you have the correct people arround you.
One thing I should say. Cleverness is not being a salmon aganist the politics flow, is to encause both objetives to the same path, or in the worst case, doing stuff that achieves both set of goals.
After reading the current chapter, my perspective of this book change completely. Having a physics background, I’ve learned that «If you can image something, then you can model it». Till now, in the novel the author have been presented ideas about management which are most oriented to define good practices in soft skills management. And, don’t get me wrong, this is great and very useful, but there is necessary in someway measure and predict results.
Measure is necessary to get better results. Src. Giphy
«If you can image something, then you can model it»
This idea is applyable also in management. This work enviroment could be treated as a system. And, if it’s a system, it will have inputs, outputs, tuneable quantites and constants in it.
I love the way how the author represents the work enviroment as a system, it looks very similar like an Automatic Control System.
For example, the usable workers model looks pretty similar like a water pipelines system, and the results looks pretty similar in an analogous situation.
I could say we can evaulate a model as correct ( even if the system to simulate is not a physical system) if you can find these two characteristics in it:
It covers the most important elements which could alter the system. The most significative variables.
It has some analogous characteristics with natural systems.
Why modeling?
Remember that in the last blog we say one the most important ideas of management is control risks and cut your losses?
How could you know if something is a risk or if that element could transform into a loss if you can’t watch the future outcomes? Simulating them!
How could you find the most optimal solution, without trying all possiblilties, which is per se non optimal? Simulating!
As a manager, you should know what is the best call, what is the most optimal quantity, and why.
Simulating situations could help us to get better calls. Src. Giphy
In contrast, we have to keep in mind, those systems are not perfectly model, that’s why most of the times, the best model needs an heuristical approach to get the best results.
Interaction loss
Something I didn’t think before, is that communication in a group could be a loss in huge teams. In the end, the number of interactions are in the order of O(n^2), which if we considere it, it’s huge.
Security tip
Don’t forget security it’s important! As Mr T’s. lawyer says, keep your passwords in your head! A good security system should have at least 2 Factor Auth, using at least 2 different elements of the list:
something you are
something you know
something you have
I think that’s enough for this chapter. A few powerful ideas which we could apply in our everyday lifes, and of course, in management.
Along the reading of this novel, It came this idea to me, that Mr. T is some kind of Mr. Scrooge man, who has aparitions from different ghosts of software projects managment. During these chapters I found some interesting ideas I think I should talk at least a little bit.
Communication is essential
At the chapter 9, there is this scene, where the general Marklov is presented to Mr. T. Then he said something like: Oh, this workers are not gonna make useless work anymore, we are getting offshore work. This line got confused to the NNL, covered as Mr. Lider. Don’t get me wrong, I think the initiative of the General was great and pretty clever, and maybe he had the power to make that call.
But he didn’t communicate his decision to his direct boss.
Maybe it looks like nothing, maybe it was a little detail it was not the point of the charapter. But it’s important.
Is highly necessary in a health company. . . Is: Src. Giphy
Communication is necesary, in any direction, upwards or downwards. In my opinion, the more communication «downwards» the more the employees feel they belong to the company. Of course, there should be some calls that aren’t supposed to be published, but this idea should keep in mind a good manager.
On the other hand, a good «upward» communication, could help us to point flaws or red flags during the process of a project.
This idea lead us to the next point.
Risk management
Manage projects by managing their risks.
Basically, if there is not risk in a project, Management would be the simplest thing to do ever.
Basically, because there are errors which are caused by little flaws and mistakes, the manager needs to keep track of each stage of the process. Like the old chinese proverb:
For want of a nail the shoe was lost, for want of a shoe the horse was lost; and for want of a horse the rider was lost; being overtaken and slain by the enemy, all for want of care about a horse-shoe nail.
Old chinese proverb.
Manager should be aware of each risk of cause of them. Also, he should be able of reduce those risk in early stages of the project. This doesn’t mean be in constant fear of each troubble, but manager should be autocritical enough to recognize what is a real risk and what is not.
Not every risky situation is nearly a chaotic scene. Play clever in management. Src. Giphy
Cut your losses.
I’m wasting my time I got nothin’ to do I’m hangin’ around I’m waitin’ for you
Lemon Tree, Oasis
According the novel, one of the most important actions to take when you are managing is cutting loses.
This means don’t touch your heart and stop everything that could be making you wasting time or resources. Actually, we could translate this sentence into: Be autocritical and evaluate how are using your time.
We can notice if there is a waste if you can measure it. Using tools for do it, could help us to keep improving our time management.
In my personal case, the moment I decided not lie myself, measure my time and set goals and meetings during my week, I made myself more productive, more satisfied with my life and rest better, because I set time to do that.
Time is a non renovable resource, please make something useful with it.
There’s some point in life, when we have to decide who is gonna be part of our projects. Sometimes, this decision is pretty easy and unconsious, like, choosing a dancing partner, or maybe who will be your team for the next school homework.
If get the right dancing partner is difficult, how complex could be hiring? Src: Giphy
Sometimes this decision implies money, and therefore, huge consequences.
Let’s talk about hiring.
According to the Deadline book, to get the right people while hiring, it’s necessary 4 basic elements:
Guts:
Most of the ability to hire, comes from the experience. This sound pretty obvious, but it has sense. It’s practically imposible to know someone in a couple of sheets of paper from a resume. The momment the interview becomes ( or even before ) you could have the chance of observe this traits you need in your employee. Observation. It’s all about it. People who unconsiously develops this skill call it guts.
Observe your candidates, watch their steps . . . Src. Giphy
The novel show us that this process of watching little details about our interviewee goes far from the actual interview. At the novel they had the facility of meeting the interviewee last coworkers. This could lead us to draw an important conclusion: We could know somebody way better from their interactions with other people. If we could observe this kind of scenarios, we take advantage.
But for me it arises a little problem: What happens when I don’t have enough experience nor time to make mistakes?
Well, I don’t think we could get a shortcut for this, but It could be very helpful keep the eye awake and observing all intentions and actions from others. For me this has been helpful to refine my sight.
Heart
I’m not gonna get tired of say this. We are people. Your colleagues are, your employees are. Somedays we are having a bad day. Somedays we need a bright light in our days. Be that light, and when you can’t, don’t be rude with others. This world needs more empathy.
Soul
Hiring is like building a family. But in contrast with families, you could choose your partners. Be wise, have this idea in mind everytime you have to choose someone for a job, for a team, etcetera. Get people to get strong bounds.
You spend 40 hrs/week with them. . . It could be nive if you get nice bounds. Src. Giphy
Nose
Have you ever had in this situation where every thing looks fine, but you know somehow something doesn’t match?
Well, trust in yourself.
The ugly side of work: Burnout
One of my biggest fears, is one day waking up, realizing all my work I’ve done doesn’t matter anymore and I don’t care about anything. It happened me before, and it’s awful. It took me months to recover.
Burnout, It could happen to anyone. Take care of you. Src. Giphy
Burnout is real, it could happen to you at any time of life. Doesn’t matter who you are, how old or successful.
In order to avoid this issue, we should be aware we are not machines. As I’ve been saying, we are people. We have flaws, we get tired!! And, most importantly, we shoud hear our bodies and give us a rest once in a while. Say no, say stop is healthy.
This little paragraph is just a little reminder, we should take care of ourselves.
Have you ever been on a beach and while you can feel the sand in your toes, you smell a fresh air from the sea and start reading a book, maybe with a cool beer in hand?
And then, suddenly, a cold brezze hits your face, your book disappear and your beer is not anymore in your hand. The cold brezze is your office AC, your feet hurt, because of the shoes. You just realize the sand in your skin is nothing than the stress you feel as shivers because of the deadline project you are delayed on.
Admit it, it’s more common this picture in our lifes 😦 Stressed Season 1 GIF By Friends. Giphy
I have to admit, is more common for me the second picture than the first one. I’m not a big fan of the beach, but, what I’m trying to say here is, most of the times we are stressed because we can’t get the schedule’s pace. . .
One of the ideas, I got interesting from the book, idea which I think it could have an important meaning in our life as engineers,
If I took the job and indeed I never did catch up, it would only mean that the schedule was wrong from the beginning.
Mr. T.
Basically, if we are constantly stressed, ruin things up everyday, not being able of make adjustments nor progress, it’s probably the project administration is failing.
There are lots of research, numbers and comparisions, but the book stay away from all that stuff, and gives advice of how handling a team in order to be productive and get projects on time.
Get the right people.
Get the right people doesn’t mean «Get the best people, always». Getting the right people involves selecting people who is good at their jobs, which are passionate about what they do, and they care about the project. At least, I think this is the secret recipe.
Getting the right people is also about people who cares about people because they know they are people, too.
Match them to the right jobs.
In personal, I don’t know how to say if a person is right for a job or viceversa, because in my own experience, it’s difficult to evaluate in myself which could be a perfect work for me, even I could consider I know myself enough.
Reading a little bit from the web, in this amazing blog, I found that in order to match up people with jobs, in summary you should understand and focus on the inner motivations of your employees.
Keep them motivated.
As I wrote in the last blog, in my opinion, the secret of productivity is being motivated (almost) always about your project.
When I was a kid, my father always told me my word for everything was «This is BORING». Well, who in the hell would like to keep doing some stuff if that’s boring? Hell no.
In addition, if you chose the right people and they have the correct jobs, it’s probably you don’t need to cheering them up.
What I can I say here, that teams sports haven’t taught us yet?
CHANGE AND RISK
People say the only constant in life is change. (As an ex Physics Olympiad, I disagree with that, but you get the point).
As manager, you should motivate your colleagues to make the change, and generate the safe enviroment in order to execute those changes.
POSITIVE INFORCEMENT
As leaders, (yeah, managers should be less bossy and more leaders, but, that’s only my opinion). you have to do things to get what you want. Most of the challenges of the everyday’s work, is related with change (It wouldn’t be a challenge if you have to do the same stuff you done before).
Someone could think, It could be great if we act as tyrants and we command all what I want, using our power as a reinforcement (Something that the NNL thought could be fun).
I only have a thinking for this ( because I’m falling asleep and I’d love to go back to my beach dream). I experienced this situation with my sister, ( she is 9 right now). Kids, prefer being treated with respect, giving them trust in their actions.
And, people are basically kids. So, give them some respect to their actions.
As Engineers we create products, develop solutions. These projects not only (could) have a potential benefit for the society development and wellness of the people who would use our products.
From this idea,we could endorse an utopical image of the world, whereour services are offered as a gift to the world, because, Who wouldn’t love being part of the progress of this society, impacting lots of lifes over decades or, even more, over centuries?
This sounds great, but it would be way betterif we are paid for this.
The cruel reality is, we all need money. We all want money. People or enterprises, everyone is looking for money, making more and more profits. In this course we have to attach to this point of view. An Engineer’s work has value, it could be represented as a factual payment, each company deserves profits for their services. This thinking is healthy, because we deserve that paid for our services. This self-valuing thinking is responsible of all our Economy, for several centuries.
A whole definition I found about EE. Engineering economics quantifies the benefits and costs associating with engineering projects to determine if they save enough money to warrant their capital investments. Engineering economicsrequires the application of engineering design and analysis principles to provide goods and services that satisfy the consumer at an affordable cost.
Engineering economics involves the systematic evaluation of the economic benefits of proposed solutions to engineering problems. The engineering economics involves technical analysing with emphasis on the economic aspects and has the objective of assisting decisions.
Engineering economics is closely aligned with Conventional Micro-Economics. It is devoted to problem solving and decision making at the operational level. Thus “Engineering Economics refers to those aspects of economics and its tools of analysis most relevant to the Engineer’s decision making process”
What’s the value of money? Does it value always the same?
No.
There are multiple causes why money could value different from day to day (I recommend read the book 50 Economics Ideas: You Really Need to Know to visualize some of them). Here we are talk about just one: Inflation.
According to Investopedia, inflation is a measure of the rate of rising prices of goods and services in an economy. If inflation is occurring, leading to higher prices for basic necessities such as food, it can have a negative impact on society.
Inflation occurs when a country decides print more money, the more money are in circulation, the less intrinsic value has it.
It’s very important taking into consideration inflation in our economical decitions, due our money is deprecating everyday!
Let’s talk about simple math: Interest.
While we don’t have money, we can not make lots of things ( Just ask to a broken teenager all the stuff he would love to do, if he had some money). We can buy stuff, we can waste that money, we can save it, or we can invest it.
Banks have this idea as core in their bussines model: while you save your money with them, they can get large amounts of money.They decide invest some percentage ( most of it) of all the money, in multiple stuff ( stocks, for example, and a long list I don’t wanna talk here). Basically, you are trusting in Banks they make whatever they want with your money. In reward, they pay you some amount of money for let them make bussines with your money. That amount is called interest.
There are multiple ways of calculating interest, each model makes in different way the payment of the interests. Every credit, savings account, mortage, National debt . . . defines which model of interest shall use.
The interest each period is a fixed amount, calculated over the initial amount C.
It could be represented as:
Where: r is the Interest rate. C is the initial amount of money ( at t=0) n is the number of periods to considerate. Ps is the amount of interests generated in one period. F is the money after t=n periods of time.
Compound interest
You start with some amount C.
The interest each period is calculated over the amount of money you already have ( initial amount plus past interest generated).
It could be represented as:
Where: r is the Interest rate. C is the initial amount of money ( at t=0) n is the number of periods to considerate. F is the money after t=n periods of time.
As a comparition. Let’s say we have 5% as interest.
If we define it as simple, after 200 periods of time we’ll have 11 times our money.
But if we define our interest as compound, our money will multiply 17300 times. Awesome!
Nominal interest rate.
Nominal interest rate, is calculated without taking consideration inflation over money. It throw us the turn over we get from our investments, savings plans, and so on.
Efective interest rate:
Most of the times, banks presents their interest rates as annual interests rates. They divide this quantity in 12 periods, and they apply this interest, monthly. Therefore, the equation of compound interest is modified in this way:
Where: ra is the Annual interest rate. C is the initial amount of money ( at t=0) n is the number of periods (years) to considerate. F is the money after t=n periods of time. m is the number of periods (12) is applied the annual interest in a year
If we compare the original annual interest rate against the interest generated by the formula ( F/C – 1 ) we can show this is a different interest rate. This quantity is called effective interest rate.
Where:
ie is the effective interest rate ra is the Annual interest rate. m is number of periods (12) is applied the annual interest in a year.
Conclusions
It’s so important to know (at least the basis) of Engineer Economy, in order to be capable of making decisions, analyzing if our projects are affordable enough to make them happen. Also, as engineer or employee, we need to know how exploit our money the most.
Remember, in Engineer Economy, all decisions cost money somehow.
After a cold winter holiday, bunch of hours of procrastinating personal projects, and working on two novels, I come back to school. New projects, new perspectives, new emotions.
This semester, I had to take the «Evaluation Project» lecture and, one of the goals is reading «The Deadline» novel, from Tom DeMarco. After a couple of pages, pop up a concept: P E O P L E.
The Deadline: A Novel About Project Management , Amazon.es
This made come into my head a story I experienced before.
The intern who learned manage people.
Last summer, during my internship, the host Enterprise made groups of 3 interns and formed teams with them. The main goal was each team had to develop their own mobile application, in order to solve a critical social issue.
No problemo till here.
My team was conformed by two girls and me. Let’s call them Ariana and Becka.
Becka was a freshment girl, and If I had to describe her in one word It would be: Excitement. She was always full of energy, Lots of ideas and she couldn’t wait to start working with us. During her first year of college, she had just a couple of programming courses, and her experience in programming was minimal.
On the other hand, we had Ariana. Ariana was a very relaxed girl, who lived in the same city where the enterprise was located. Besides all interns who had to move to that area, she kept living in her parent’s home, keeping her life outside work. She tended to left work on Fridays as soon as possible. Next day, in her stories, you could watch her in an awesome weekend adventure, even in another state. She didn’t looked interested in the project, she was more preocupied in what she would do during weekend. She was in sophomore year, she had more experience in programming.
Both girls had a huge excitement for what they cared and loved.
During our training in mobile app development, we had some meetings with our team in order to meet each other and discuss ideas about our project. Ariana didn’t stop throwing ideas, we couldn’t process any of them. Becka just said yes basically to anything. They started setting deadlines, goals and designing views for our inexisting application, even if we hadn’t elected an idea.
A red flag appeared in my head. I talked with my manager, really concerned. I explained to him, accordingly to my observations, we couldn’t work if we stay in the same position.
-What do you propose? – He said.
In this moment, I understood it. Projects are made by people. The key in managing this project was to find some way to maintain everyone excited about the project and the team. And there I figured out.
If only we encause the Ariana’s excitement and we get Becka involved, we could have a happy and productive team.
The plan was easy. We’d choose some Becka’s ideas to be main core of the project, and we’d assign Ariana to coordinate meetings, and impulse her ideas. My role in the team was, leading all this excitement in the right way ( making the goals our manager was asking each week for). Also, I could support my collegues solving coding problems, because apperently I was the guy with the most experience in the team.
This simple plan, lead us to have a nice work enviroment. Becka suggested having meetings everyday were we could set goals for that day. Ariana had a crucial role in the app dev, and she implemented awesome features. Everyday we finished our personal goals. Everyone had the confidence to ask each other our doubts.
During the third week, our manager, told me surprised:
-Your plan worked. I have to do nothing and your team works perfectly.
In the end, we made an application which had the objective of connecting people with emotional issues with people who have been coped similar situations. Ariana’s inspiration was helping people with mental disorders and eliminating the stigma about them.
People makes things happen, the problem is we are people, and our colleagues are too. More than a problem, this is a huge pro, but you have to learn to play your cards.
El sol se levanta un día más y con él todas las bestias salvajes. Las bestias civilizadas se levantan con despertador, con sueños y metas. Se arrebatan la comida en los supermercados, un día antes de navidad. La gente desperdicia tiempo en el tráfico, esperan los viernes, se embriagan los sábados y los domingos van a plazas comerciales. Los conciertos se dan en jueves, se maldice a los lunes y los días que comienzan en M terminan a la mitad. Compran ropa y entretenimiento, pues el tiempo se debe gastar de igual modo que el dinero. Los parques se atiborran de niños jugando y padres cansados. Las iglesias, los cinemas y los restaurantes mantienen a los codiciosos humanos sentados por unos cuantos minutos. La gente se enriquece con los pecados de los ingenuos, en invierno oscurece antes de las 7. La gente corre en una banda, inmóviles, con su espíritu quebrantado. Los días corren, los trabajadores se arrastran, los pequeños colegiados rompen las bastillas de sus pantalones, las muchachas de secundaria arremangan sus faldas para mostrar sus delgados muslos. Los jóvenes se reúnen a beber cerveza barata y comida picante en el centro de la ciudad. Abusamos de nuestros sentidos, retacándolos con imágenes y sonidos. Llenar, llenar, es a lo que se dedica el ser humano contemporáneo. Llenar huecos en la agenda, espacios vacíos en casa con muebles y decoraciones inútiles, el closet con prendas que no usaremos, el estómago con comida nociva que no nos quite mucho tiempo. Llenar, llenar, nada puede quedar vacío ni despejado. Las ciudades se atiborran de anuncios, pancartas, carteles, mensajes, sonidos, olores. El silencio se malbarata, la inactividad es el pecado capital. El vacío ya no existe ni dentro ni fuera. Basura en las banquetas se acumula y la grasa mugrosa se pega en las paredes. Haz algo o simula que haces. Simula, simula, simula. Reinicia, reinicia, reinicia.
¿Hay vida después del diseño? No lo sé, pero si la hay, parece que no sigue ningún patrón. – Delirios de final de semestre.
Diseña la mejor versión de ti.
No me agrada el titulo de reflexión final. A fin de cuentas, en nuestra vida deberíamos realizar una constante evaluación de nuestros progresos. Somos ( o deberíamos ) ser una constante refactorización de nosotros. Somos un producto por iteraciones, donde nosotros decidimos el tiempo invertido por sprint. No es el final. Ni siquiera de la materia.
En mi vida, suelo ponerme pequeños sprints, sobre las cosas que quiero mejorar en mi. ¿Quiero retomar mi condición física? ¿Quiero masterizar una habilidad? ¿Quiero retomar una actividad?
Creo que esta materia es una de los pocos unicornios académicos que puedo llevar más allá del salón de clases y aplicarla constantemente en mi vida cotidiana. Como mencioné al principio del semestre, la inteligencia consiste en la resolución de problemas y el diseño de soluciones pertinentes a esos problemas.
Por lo que podamos afirmar que exista teoría formal para el diseño de productos y metodologías para resolver problemas se me hace fascinante. Literalmente estamos trasladando conocimiento que nos enseña como exponenciar nuestra capacidad para generar soluciones. El diseño enseña a ser inteligentes, el diseño es la formalización del sentido común.
Diseña tu estilo de vida
De las cosas más importantes que he aprendido hasta ahora es a tener las pautas necesarias para un estilo de vida más sano como desarrollador y como persona. A fin de cuentas, tanta lógica aplicada al desarrollo de la teoría de diseño debería poder ser trasladada a otros productos, incluso a personas. Scott Hanselman nos mostró que una vida optimizada, en donde aprovechemos nuestros tiempos de forma productiva no tiene que ser un constante sufrimiento. Todo con medida. He aprendido que en realidad todo trabajo y proyecto, por más grande que sea podemos separarlo en pequeñas tareas. El arte de saber en que pequeños pedazos podemos separar esas actividades, viene a partir del sentido común, teoría de diseño y la experiencia.
Por otro lado, aprendí de Kent, que jamás estamos a destiempo para experimentar y realizar cosas nuevas. Siempre tener un poco de dolor por la incertidumbre es necesario, a fin de cuentas es lo que nos mantiene vivos. Además, compartir experiencias, ideas y experiencias es lo que nutre los pensamientos, aquellas ideas locas, aquellas ideas disruptivas y que generan incomodidad, son necesarias. Compartir y no tener miedo de desarrollar, una filosofía de vida que, al aplicarla me ha dado más y más satisfacciónes ( y miedos, y dudas, y emoción y un poquito de estrés y adrenalina) a nivel profesional.
Finalmente, puedo decir que, la filosofía que vivimos en la comunidad de desarrolladores, nos invita a reflexionar sobre nuestra condición humana. Somos humanos, con capacidades finitas. Necesitamos tiempos para descansar, recrearnos. Debemos aprender a decir que no.
La mejor enseñanza que he obtenido de la carrera
Hay dos ideas que me ha enseñado la carrera y que en este curso han tomado una importancia primordial en el paradigma con el que afrento la vida:
Divide y vencerás
Cajas dentro de cajas
El conocimiento es transferible y transformable
Si lo sabes dibujar ( modelar ) ya tienes medio problema resuelto
Lecciones de CS que me han cambiado la vida.
Divide y vencerás. De la primera idea he hablado anteriormente, puesto que no quiero redundar solo diré que, como demostré en el post de unit cases, con rigor matemático podemos afirmar que la separación de una tarea en segmentos más pequeños y consistentes genera un desarrollo y análisis más eficiente del problema.
Lo que nos lleva a hablar de la segunda idea. Cajas dentro de cajas. Todo sistema puede ser representado en entidades más pequeñas, que posean características propias y comportamientos definidos. Esta definición es recursiva y tiene un límite en una escala «atómica». Por lo tanto, el comprender que todo procedimiento, sistema, entidad u objeto puede ser seccionado y evaluado por sus componentes individuales ( y la interacción entre estos) me lleva al resultado automático de generar procesos para generar soluciones claras y entendibles.
El conocimiento es transferible y transformable. La clave radica en encontrar patrones. Al reconocer patrones podemos generar analogías y resolver problemas con viejas soluciones a viejos problemas. De forma inversa, el aprender patrones nos ayuda a encontrarlos más fácilmente en nuestro entorno y por lo tanto a identificar más problemas solucionables.
Si lo sabes dibujar ( modelar ) ya tienes medio problema resuelto. Esta lección viene de mi formación en física. Sin embargo, al aplicar el punto 3 ( analogías) lo puedo considerar como aprendizaje util para CS. El dibujar modelar nuestros sistemas, su estructura y sus comportamientos nos da la imagen completa de este.
Al conocer nuestro sistema, lo podemos dividir.
Al poderlo dividir podemos identificar entidades discretas a las cuales podemos analizar por separado.
Al identificarlas por separado, es más fácil observar comportamientos más simples, que se adecúen a algún patrón que conozcamos. Por lo tanto, su implementación ( y comprensión ) se vuelve más sencilla.
Al comprender la pequeña entidad, es más fácil analizar su comportamiento y corregirlo.
Al comprenderlo mejor y ser más simple per se, podemos entenderlo con mayor facilidad, a pesar de no poseer contexto, puesto que no se requiere el contexto. El objeto se vuelve abstracto.
El proceso de diseño, desarrollo, testeo y verificación, acaba de ser descrito en un par de parrafos, utilizando las ideas 4 fundamentales presentadas anteriormente.
En esto se resume el diseño. O como diría Linus Torvalds, is kind of a good taste in programming.