I wrote my first post on this blog about six years ago. I was three years into software testing then. I’m around nine years into it now. Many things have changed over the years, in processes, in tooling, in people I work with, but some things remain the same. The core of my abilities in making a living as a tester is still rooted in a strong relationship with the software development team, and how strong that relationship is depends on everyone’s communication and technical skills. I’m fortunate enough, all these years, to have worked with wonderful people, enabling me to make a living in an industry I’ve come to love.
I’ll most likely going to be working as a tester for many more years to come.
Today, however, I am putting this blog on an indeterminate hiatus. I’m not sure when I’ll be back. There’s not much to say really, except that I would like to take the time and energy I’ve been putting here somewhere else that may or may not work.
For now, all that’s left to say is a huge thank you for following along. 🙂
A month ago, I got accepted into a no-pay internship program volunteering as a Flutter programmer. It’s an interesting learning opportunity; I’m working with four other programmers from around the globe who personally don’t know each other, building native mobile apps on our free time. The program runs for six months, so I suppose I’ll be writing code with these guys until around April next year.
Team chat over at Discord 🙂
Even though there’s no pay and I spend time to help the team finish given app challenges, what I get in return is an insider experience working with a remote team as a programmer myself, instead of being a tester. That means I need to pitch in on the actual application code, and pitch in with a respectable level of quality. Although I already work with programmers on my day job, the communication dynamics is a bit different from what I encounter on a daily basis. It’s a good change of pace, and I’m somehow broadening my horizons a little.
Most of this past month’s challenge erred on the side of communication: talking to each other over at Discord, familiarizing ourselves with other people’s style of writing code, and gauging our roles within the team. It’s been fun so far. 🙂
I picked up Mark Manson’s “Models: Attract Women Through Honesty” because I was intrigued by the title and because I am at a time in my life where I’d like to meet more interesting women. It did not disappoint. The book was insightful, and, like other compelling reads, it pushes me to look hard at myself and how I’ve been living my life, this time particularly on the subject of women. The concepts of neediness and vulnerability are, for me, the main takeaways.
Here are just a few of the noteworthy lines from the book:
In our post-industrial, post-feminist world, we lack a clear model of what an attractive man is. Centuries ago, a man’s role and duty was power and protection. Decades ago, it was to provide. But now? We’re not quite sure. We are either the first or second generation of men to grow up without a clear definition of our social roles, and without a model of what it is to be strong and attractive men.
Seduction is an interplay of emotions. Your movement or lack of movement reflects and alters emotions, not the words. Words are the side-effect. Sex is the side-effect. The game is emotions, emotions through movement.
- In surveys among literally tens of thousands of women, across all cultures, ethnicities, age groups, and socio-economic standing, and even time periods, there’s one universal quality in men that they all find desirable: social status and access to resources. The amount in which they desire it varies from culture to culture and from age group to age group, but the desire for it is universal.
- Social status is determined by how you behave around other people, how other people behave around you, and how you treat yourself.
Female arousal is somewhat narcissistic in nature. Women are turned on by being wanted, by being desired. The more physical assertiveness you pursue a woman with, the more aroused she becomes — sometimes even if she wasn’t interested in you to begin with.
How attractive a man is is inversely proportional to how emotionally needy he is. The more emotionally needy he is in his life, the less attractive he is and vice-versa. Neediness is defined by being more highly invested in other people’s perceptions of you than your perception of yourself.
All people eventually return to their baseline levels of investment. And until one is able to permanently alter his baseline level of identity investment in themselves, they will continue to attract the same types of women, and end up in the same failed relationships. Permanent change to one’s investment and neediness in their relationships with women is hard and a process that encompasses all facets of one’s life. But it’s a worthwhile journey. As a man, it may be the most worthwhile journey. And the key to it is probably something you wouldn’t expect. In fact, it’s something that most men turn their nose up to when they hear it. It’s vulnerability.
Making yourself vulnerable doesn’t just mean being willing to share your fears or insecurities. It can mean putting yourself in a position where you can be rejected, saying a joke that may not be funny, asserting an opinion that may offend others, joining a table of people you don’t know, telling a woman that you like her and want to date her. All of these things require you to stick your neck out on the line emotionally in some way. You’re making yourself vulnerable when you do them. In this way, vulnerability represents a form of power, a deep and subtle form of power. A man who’s able to make himself vulnerable is saying to the world, “I don’t care what you think of me; this is who I am, and I refuse to be anyone else.” He’s saying he’s not needy and that he’s high status.
Show your rough edges. Stop trying to be perfect. Expose yourself and share yourself without inhibition. Take the rejections and lumps and move on because you’re a bigger and stronger man. And when you find a woman who loves who you are (and you will), revel in her affection.
- The biggest criticism of showing interest to a woman that you want to be with is that it immediately shows you as highly invested in her responses. When you say, “You’re cute and I wanted to meet you,” that translates roughly to, “Hi, I want to be with you and am officially invested in the prospect of it happening.” What they miss though is the sub-communication going on underneath what’s actually being said. The sub-communication is, “I’m totally OK with the idea of you rejecting me, otherwise I would not be approaching you in this manner.”
- True honesty is only possible when it is unconditional. The truth is only the truth when it is given as a gift — when nothing is expected in return. When I tell a girl that she is beautiful, I say it not expecting anything in return. Whether she rejects me or falls in love with me isn’t important in that moment. What’s important is that I’m expressing my feelings to her. I will give compliments only when I am honestly inspired to give them, and usually after already meeting a woman and displaying to her that I’m willing to disagree with her, willing to be rejected by her and willing to walk away from her if it ever comes to that.
I have always been a skinny dude. And I have always thought that I won’t change, that it’s just the way things are for me. But keeping the same diet and sedentary lifestyle for many years has taken its toll in recent years and, although I have not been sickly, my energy levels just did not feel the same as it has been when I was younger. I tire easily now than before, even when I don’t really go out much. Perhaps it’s just age doing its thing, like we are supposed to get tired faster as we get older. But it is a nagging feeling, it does not feel good at all, and is something that I decided I want to find a sustainable way of correcting this year if possible.
Reading Scott James’ ‘Bony to Brawny‘ book (and actually changing diet and exercise habits) is taking multiple steps forward towards that goal.
Some takeaways from the book:
- The funny thing is I have literally never regretted a workout – it just doesn’t happen. The release of endorphins and the feeling of knowing you’re making progress towards your goals while improving your health, mobility, and well-being is intense.
- If you’ve been skinny all your life, chances are you haven’t been eating much in terms of calories. When you’re entering a bulking phase, the amount of food may seem overwhelming. Focus on liquid nutrition. Consuming two shakes (depending on how many calories you incorporate) plus two solid meals will without a doubt place you in a the caloric range you need to be hitting to pack on some solid lean muscle mass.
- There is no food out there that’ll make you gain muscle at a quicker rate than another food. The food itself won’t build muscle – the calories and macro-nutrients it contains will. Try fish, chicken breast, eggs, cottage cheese, almonds, brown rice, milk, and sweet potatoes.
- Eating fat will not make you fat at all. Fat is essential for regulating hormones. Excess calories make you fat – not any particular macro-nutrient itself (protein, carbohydrates, or fat).
- For optimal performance in sports and resistance training, as well keeping your appetite in check, consumer at least 30% of your daily calories from protein, with the remaining 70% coming from a breakdown of carbs and fats. If you neglect your protein intake you will not be able to be able to build and retain lean muscle; if all you’re eating is carbohydrates and fat, you’ll be packing on the pounds in the form of stored body fat.
- In order to build that muscle mass and shred that fat, you need to create the demand for your body to do so. After ongoing demand, your body begins to adapt, and adaption is growth. This demand is solely created inside the gym – i.e. lifting heavy weights! An exercise regime based on compound movements will force your body to adapt – heavy squats, deadlifts, bench presses and overhead presses in the low rep range will create the demand far better than any isolation based workout regime based around light dumbbells or machines.
- Without a caloric surplus, you won’t pack on any muscle mass. At the same time, if lifting is neglected and dieting is honed in on to the utmost detail, you’re still on the road to fat gain as your body is not being forced to adapt and grow (using this caloric surplus to repair your body and build muscle)
- As a newcomer, you will find the demand is quite easy as your body has never experienced such stress before. However, as time goes on, you must apply progressive overload in order to keep the demand going. Increasing the weight you’re lifting, increasing the time your muscles are under tension, adding in a few additional reps – these techniques are designed to place an increased load on your muscles each and every workout. In essence, the demand must become greater and greater with each workout. When you’re demanding the same thing from your muscles week after week (same weight, same reps, same time under tension), the demand to go above and beyond has vanished, and so will your progression in terms of size and strength). The guys in the gym repping the same weight week in week out won’t get far. The guy adding that extra 2.5 lb plate to the barbell each workout will. It adds up over time.
- In order to get big you need to focus your energy on your heavy compound movements. Don’t major in minors, aka: spending your time floating around from isolation exercise to isolation exercise. This is a sure-fire way for a skinny guy to see sub-par size gains. Movements or exercise that do not give the muscles the required resistance, but are the kind that involve a great number of repetitions, never break down any tissue to speak of. These movements involve a forcing process that cause the blood to swell up the muscle, and simply pump them up. The insane, full, pumped feeling you get in your arms and chest when training is merely the increased blood flow tot the particular muscle group being worked. The pump does not equate to muscle growth.
- If you’re new to low rep training, it’s worth noting that you will not get the immense pumps you may be used to from performing high repetition training. As a general rule, most things that are satisfying in the short term aren’t beneficial at all in the long run.
- Once you are comfortably hitting the top end of the rep range, I recommend increasing the weight. You should be able to perform a minimum of four reps with the new weight. If you’re unable to perform four reps with correct form and range of motion, the weight is too heavy. Add 5 lbs/10 lbs to each dumbbell/barbell exercise once you are comfortably hitting the upper range of the prescribed repetitions.
- Each and every repetition should be controlled and timed. 2 seconds down – 1 second hold – 2 seconds up. If you’re performing your repetitions any faster than this, your muscles won’t be under tension for particularly long. To ensure you get the maximum bang for the buck in terms of size and strength, focus on the 2:1:2 tempo. Rest for 2-3 minutes between sets of heavy compound exercises. Rest for 1-2 minutes maximum between sets of isolation exercises.
- We don’t build muscle in the gym by banging and clanging around with heavy weights. We’re actually destroying our muscle fibers – which is telling our bodies that our current physique is insufficient. Resting after a workout and the nutrition components of your bulking phase are where the growth comes from. Lifting four times per week with adequate sleep and recovery will net you far greater results than training six times per week with minimal sleep and no downtime.
- Sleep plays a key role in the following bodily processes: regulation of glucose in the body, promoting good blood pressure, the perfect way to recover and repair damaged muscles, promoting hormonal functions and processes, promotion cognitive functions and processes. Your sleep should be within the 7-9 hour bracket per night, keeping in mind this is high quality, uninterrupted sleep.
- If you’re not making any size gains, this will be the result of one of two things:
- You’re not lifting heavy enough. In order to grow, we need to provide ongoing progressive overload during our workouts. Ensure you’re working in the prescribed rep ranges for your heavy compound exercises and give it your all. If you’re calling it quits on your set when it starts to feel uncomfortable, you’re not going to get too far.
- If you’re lifting regime is solid, then the issue is likely to be related to your diet, or most specifically the lack of calories you’re consuming. A failure to build muscle mass is most commonly due to an insufficient number of calories coming in. Re-calculate your total daily energy expenditure and apply a more aggressive caloric surplus if necessary.
- Pick a workout routine, follow it, eat well, and get adequate rest. Follow this consistently for six months. During the course of this time, track your weight, your body fat, your arm size, your chest size, how you feel after each workout, and from there you can reassess and make the necessary changes.
- When your progress slows down or completely stops, whether this be in strength gains, shedding that unwanted body fat or gaining muscle mass, it’s time to take a step back and look at what you’re actually doing. Doing the same thing over and over again while expecting a different outcome is the definition of insanity.
- Progress is the ultimate motivator. It’s the positive feedback loop of putting in effort, seeing results and therefore continuing to grind away day after day because you know what you’re doing is making a difference.
What problems do we face everyday that nobody seems to be trying to solve?
What’s something that’s true for me but a lot of people do not agree with? Why do I believe the opposite?
Where do we want to explore next?
What do we stand for? What values do we deem irrevocable?
Which habits do we need to exercise? Which ones should we stop?
Are we doing something for fun? How did we end up doing this particular thing we’re into now?
What questions do we need to ask someone?
Who do we need to thank?
Which stories about ourselves should we rethink?
I take full responsibility for bringing out my best work, in the things I can control, everyday, to the full extent of my abilities. And to the many other things that’s beyond my jurisdiction, I can only listen, I can only suggest probable solutions or try to provide possibly helpful information or opinion.
I can never manage other people’s lives, and it would be wrongful of me to even try doing so because that means I’ll deprive them of their freedom to think and live by and for themselves. If I do that I’ll take from them the chance to solve problems on their own and grow. This does not mean that I will not care for my teammates nor I will not help them whenever possible.
I have to take it upon myself to look for the learning that I need and digest what I can. I won’t held another person or an entity to be accountable for my growth. I am responsible for my own research and development.
I will not bash myself when I fail to perform in cases where I honestly forgot to do something. I am fallible. But I will certainly learn and will put up systems so I don’t make the same mistakes over and over.
I cannot shy away from leaving a contract where I feel that the other party willingly decides to stop caring for my welfare or where our goals do not match anymore.
I shall take care of my body so I can fulfill my best work, every working day, but family and my own health always takes precedence.
I will not force people to do things my way. I can only teach, I can only share stories of my experiences and lessons learned. I will always let the other party decide what’s best for him or her, even if I think that his or her decision may bring forth a mistake or failure.
We are due for the project release very soon. Why do we need to fix this bug?
If the computation’s all wrong, if our clients will be redirected to a wrong page or if they can’t do an action on a control, if the page itself does not load or if there are security loopholes, then by all mean we need to fix those issues immediately. Right now, in fact. Our programmers will even be glad you pointed that out and will be busting their asses as soon as possible to find a solution, no further questions asked (except for the procedure to replicate the error).
But if you tell us to change an element’s alignment, font size or color, if you say to us that we must change an existing copy for one or two scenarios when the existing content actually works fine and we risk breaking the other many scenarios that we have, you’re not helping us do our jobs well. You’re making our heads ache in frustration and then we become more prone to errors because we’re in a bad mood. We know you meant it well when you say that it’ll make the app more beautiful, more pleasing to the eye, but do you really want us to prioritize that issue over maintaining the integrity of the current build when we’re days, hours even, away from the release? Can’t it wait?
Sure, we can make those changes. But please let us do it on a sprint when there’s ample time for proper development and testing, not when we all have our hands full trying to see if everything is working as intended. Help us make sure we are ready to go live, not drown us with bug reports that often we can leave alone for the next cycle.
To me, part of the appeal of working in the software testing field is due to the nature of software systems. Apps change. Multiple times a year, some of their requirements are likely to get overhauled. Other programs are being built from scratch. Needs change. Technologies change. Business processes and flow change. As such, digital apps keep changing too and are evolving alongside people’s wishes. That’ what makes software testing work rarely boring and often challenging: because we get to have multiple chances at exploring systems, seeing what they’re made of and thinking about how they help us do the things we need to do. We are trained to be curious. We always look for patterns or their lack of. We keep a good eye out for details and we’re usually asking ourselves why a particular feature needs to perform a certain way. We have a hand in making things better.
And it gets better over time, when we start to realize that testing doesn’t have to be limited to client work. It extends to testing our own life systems, our beliefs, and the places where we want to go.
More than paving way in learning software test automation tools, more than a badge in the resume or a skill that can be showed off to peers, more than being able to understand or explain why software systems behave the way they do, more than knowing how difficult or easy it is to fix issues or add new functionality, more than providing insight in risk assessment, the appreciation of how programming works gives the software tester the capability to recognize the feelings of her partner (the programmer) in the software development process. When a software tester knows why her developer feels a certain way in a specific task or in a particular unplanned work, she can act accordingly, with swiftness and with full comprehension of the situation, because the communication lines between them are in sync. A software tester who realizes what programmers go through in order to deliver quality work intimately knows what they need and provides that to them everytime as much as she can.
And then, after much time together, the software tester who deeply comprehends and values what programmers do is most likely rewarded with two indispensable gifts: respect and friendship.
When the big bosses breaks the news of the latest project’s target release date to the team, everyone’s adrenaline level rises. Immediately people become attentive because they find out what they need to focus on for the next several days and, consequently, they learn that there is a need to hurry. Often, by this time, programmers can’t wait to start working on the swamp of reported bugs. Software testers, meanwhile, start to feel the huge boulder of testing work that’s up ahead, wanting to make sure that every feature in the application is working as planned. The announcement gets into each person’s nerves, blood pumping much faster than normal. People are up on their toes to beat the deadline.
This is often how software release updates are thrown into production servers: where people are more likely than not rushed to their wits end, where there is less planning but so many expectations, where developers are bombarded with issues to eradicate and where the software tester tends to miss doing several test cases in the list, where the actors are not asked about their capacity to deliver successfully, where everyone’s energy is drained in the end.
The team beats the deadline at the expense of many other small (but rather very important) things.