Lying and Salesmanship

A recent post on Wait But Why had me thinking about lying.

WP_001140

Some people will scoff if I say I don’t lie. They’re not wrong. I once spun a tall tale about a childhood rival I had visited in the province who challenged me to a swimming contest to explain why I had lost my glasses to the sea. The lie was so good, I got a follow-up question about it a year later and was so surprised I just blurted out that my rival died in accident before finally admitting to the fib

But I will intentionally lie often only for fun or mischief, or in the rare case, to protect someone or avoid some problem or injustice. Even for that last scenario I will try to avoid it as much as possible. I am more likely to stay quiet or avoid discussion or maybe even stretch the truth a bit to “technically correct”, but I try to avoid any outright falsehoods unless absolutely necessary

For this same reason, I kind of have the same aversion to any form of salesmanship, although I am occasionally told that I am good at writing copy. At work I was sometimes asked to write some response to questions in a tender that would be less than honest.

“We don’t have this feature, how should I respond?”

“Just say we have it.”

“But we don’t. How about I just write that this feature will be available?”

You can see the use of optimistic future tense to stretch the truth a bit. At one point a higher-up even told me that all the other suppliers do that to, as if that justifies it. Being asked to outright be dishonest was stressful for me at best so I later on learned to avoid such tasks altogether.

I understand that not all salesmanship is dishonest and that not all salesmen are scammers looking to sell snake oil. But we basically live in a world that is caveat emptor don’t we? I feel like those salesmen who are honestly just extolling the virtues of their wares are the exception rather than the norm.

I recognize the need for salesmanship as a skill in everyday life, although younger me would have scoffed at that idea, believing that things should be judged solely on their merits. But merits aren’t always obvious, and you still need some level of presentation and good communication skills to push your ideas and merits forward.  I’m fine with that I guess, as long as we try to keep things honest.

Investigating the Drug Killings

It’s no secret that many are unhappy with the way the congressional investigations into the so-called “drug war” and related killings here in the Philippines. If I were in charge of these investigations, these are the some of the questions I’d want answered:

(Disclaimers: I’m not a lawyer or any kind of expert. Understandably, the resource persons may be reluctant to answer some of these in open session, in which case an executive session could be done. Some may have already been asked/answered during the hearings and I just missed them as I do not watch all the sessions live. Additional or different sets of resource persons may need to be called upon)

Drug war and prevalence:

  • Are there any official marching orders regarding the drug war? What are they?
  • What is the prevalence of drug usage in the country?
  • How many drug users are there?
  • Where does this data come from?
  • How does the prevalence compare with previous years and administrations?
  • How does the prevalence (per capita) compare with other countries, particularly those with similar economic levels?
  • What are the sources of intel that leads to the “drug watchlists”?
  • What are the sources of intel that lead to the president’s “narco-list”?
  • How do our tactics in this drug war compare to those of other countries with similar programs? Which of those countries have been successful?
  • Do we have data on the prevalence of drug usage during the president’s term in Davao? Have the harsh methods proven to be effective?
  • Do we have any updated data since the “drug war” began? Has the drug prevalence gone down?
  • Do we have any quantifiable target for the “drug war”? When do we declare success? Can we receive regular updates?

Drug surrenderees:

  • How many of the drug surrenderees were previously on police watchlists?
  • How many came forward vs rounded up by the police?
  • What are the consequences for not coming forward?
  • How many of the surrenderees surrendered or gave confessions with the benefit of legal counsel? Are they entitled to legal counsel?
  • Have any of the surrenderees later been found to still be involved in drug operations?
  • There are reports of people mistakenly added to these surrenderee lists or forced to come forward, are the police investigating them?

Suspects killed during police operations (“nanlaban”):

  • How many drug-related operations have the police conducted? How does this rate compare with previous years and administrations?
  • How many suspects are killed vs arrested? How does this rate compare with previous years and administrations?
  • How do the above rates compare with other countries, particularly those with similar drug prevalence rates? How does it compare with other countries that have ongoing “drug wars”?
  • How many cases of suspects killed during police operations are under investigation? Who conducts the investigations? Do they have enough resources?
  • What are the rules of engagement during police operations? Are all officers given the proper training re: these rules?
  • Are there any resources or other things that could be provided to the police to help minimize unnecessary loss of life?
  • What is the protocol/procedure when a suspect is killed during a police operation? Is there any automatic investigation or counseling for the officer involved?
  • Is there any autopsy or other forensic analysis done on suspects killed during police operations? Are they checked for powder burns, or for fingerprints on the alleged weapon they used? Ballistics matching on bullets recovered at the scene?
  • Is it possible that some officers are becoming overzealous because of the president’s violent rhetoric? Is it possible that some officers misinterpret the president’s violent rhetoric?
  • Do we have data on the incidence rate of police killings during the president’s term in Davao? How did it compare to other areas?
  • If relatives of those killed suspect foul play, who can they turn to? Most of them will be poor with limited resources, do we need to provide them legal assistance?

Suspects killed while in custody (mainly “nang-agaw ng baril”):

  • How many suspects have been killed while in custody (compared with arrests)? How does this rate compare with previous years and administrations?
  • What is the protocol or procedure for officers handling suspects in custody? Are there any procedures to prevent the suspect being able to grab officers’ weapons? Are all officers given the proper training re: these rules?
  • What is the protocol/procedure when a suspect is killed  in custody? Is there any automatic investigation or counseling for the officer involved?
  • Are the involved officers under any sort of administrative or criminal liability for carelessness in such situations?
  • Do we have data on the incidence rate of suspects killed in custody during the president’s term in Davao? How did it compare to other areas?

Non-suspects killed during any sort of police operations (“collateral damage”):

  • Are there any such incidents?
  • In case there are such incidents, are the involved officers under any sort of administrative or criminal liability? Is there any automatic investigation or counseling for the officers involved?

Vigilante killings (“cardboard killings” and riding-in-tandem killings):

  • How many such incidents have been recorded and are under investigation by the police?
  • What are the statuses of these investigations? What priority is given by to these cases?
  • What is the protocol/procedure when a body is found under such circumstances?
  • Are police able to identify all the victims? Why or why not?
  • Is there any kind of autopsy or forensic analysis done on the victims’ bodies?
  • Many of the victims are alleged to be drug users or pushers, have the bodies been tested to check the truth of this?
  • How many of the victims were on police watchlists?
  • Where are the victims killed? What weapons are used? What materials are used for the cardboard/tape/etc? What model and make of vehicle/motorcycle are often used?
  • Which areas have the highest rate of such incidents? Do they correspond to areas with high drug use? Has there been any initiative to increase police visibility in those areas?
  • Is there any common pattern or modus operandi identified in such killings?
  • Are there any leads? (Understandably, the police may not be able to disclose this, or maybe only in executive session)
  • Do the killings bear any similarity to any previous cases?
  • Is it possible that there are law enforcers involved in these killings?
  • Do we have any intel or watchlists for hitmen the same way we do for drug dealers?
  • Do we have data on the incidence rate of vigilante killings during the president’s term in Davao? How did it compare to other areas? Were the police able to find ways to reduce or solve those killings?

Bonus: Bilibid drug operations (in addition to whatever narrative the DOJ secretary felt like bringing forward):

  • What % of drug volume in the country passes through Bilibid? Where does this data come from? How does it compare to previous years and administrations?
  • How many inmates are involved in illegal activities inside Bilibid?
  • What is the daily routine of the involved inmates?
  • What are the existing legal procedures/protocols for inmates caught in illegal activities inside the Bilibid? Are we allowed to isolate or transfer the problematic inmates?
  • Which/how many Bilibid officers and guards are aware of the illegal activities?
  • How long have these illegal operations been going on? Are they still going on?
  • Where do the inmates get the money to fund these activities or to allegedly give to the former secretary as payoffs?

Final disclaimer: This is simply a thought exercise on my part, as to what guide questions I would start asking if I were in search of the truth. I have no expectations that any of the people in authority would actually follow these lines of questioning. I’m also sure there are many other pertinent questions that I have not considered at this time, but basically my approach would center around: what is the data, where does it come from, how does it compare to other data? And what are the procedures, who is liable for any problems, what is the progress of investigations? These avenues would seem to me (as a layman) to be the most useful in terms of improvements to legislation

Overhead scales up rapidly in software projects

Overhead scale up rapidly as project team size increases. Every time you add a new person to the team, he comes with a lot of overhead such as the need to learn the project details, responsibilities of other team members, who to consult when there’s trouble, custom project procedures, and so on

It’s a reinforcing cycle too. As overhead increases, the team imposes more processes and restrictions to make sure everyone is doing the right thing and there are no screw-ups. More processes means even greater overhead when new team members join. And the cycle repeats

As team size increases, mistakes become more costly too. When you’re a team of two or three developers all in the same room, you can barrel ahead quickly and when there’s a problem you can quickly figure out who broke the build. But when there’s like eighty of you split over two floors, it becomes a tedious exercise. And every broken build and every critical bug now costs a lot more man-hours because it affects a lot more people. So everybody needs to be even more careful, and yeap even more overhead. You end up introducing more coordinators, reviewers, etc.

In so many words, the above is simply a restatement of the famous “Mythical man-month” quote:

Adding more people to a late project makes it even later

In practice though, I find that people who are aware of this quote find themselves falling into the trap of “this won’t happen to me”, so a more nuanced discussion of the problems of scale might need to be had. Management typically responds more to qualitative costs, so maybe there are some metrics that you team could find? Something like “for every N developers, we need an additional X amount of coordination work” and so on

Or maybe it’s one of those myths we are doomed to relive again and again…

Speak Up

Asians, and maybe Filipinos more specifically, have this cultural bias towards trying to avoid conflict. So often there will be people who don’t like to speak up when they think something is wrong, either just tolerating it or hoping someone else will take it up. A software dev in another company once told me that he felt like he was complaining so much that he was looking like a bad guy

This is of course, a bad attitude to have. If no one speaks up about the problems we see, how would we ever improve? Someone has to do it, it might as well be you. And often there will be benefits too to speaking up, for one thing you might get credit for raising something no one else has thought of. As they say, the squeaky wheel gets the grease

That being said, you should of course pick your battles. Don’t complain too much about the little things, but be sure to raise your voice when there’s an important battle to be fought. This will give you a reputation such that when you do raise something, people will pay attention. Having a balanced approach is a lot more helpful than complaining about every little thing

Oh, and of course if someone is doing something wrong, try not to be combative but be a bit diplomatic. You don’t want to offend anyone, you just want to do things the right way. And question the action instead of the person so that it doesn’t feel like a personal attack. “Hey, is that really how it should be done?” will be received better than “That’s not how to do it, you idiot!”

Don’t be afraid to be unreasonable every so often. As George Bernard Shaw famously said “The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man.”

Overtime

Overtime in software development projects seems to be a given. Sure, there are projects and companies that don’t need it, but those feel like the exception rather than the norm

Overtime in software development is a natural consequence of schedule pressure and the fact that estimation is hard, which is why it’s understandably common, but that doesn’t mean we shouldn’t try to avoid it

More than once I’ve been in a situation where the team stays overnight to try to get a build or release ready for the next day only to run out of time and have to delay the deployment anyway. You have to be willing to cut your losses and quit early, and just come back and finish the work the next day, when your productivity isn’t shot by tiredness and the general crankiness of the long hours. When the whole team is still in the office at 3AM waiting for new builds, every delay or new defect is met with a drop of morale and increase in grumpiness, no matter how small

Staying too late quickly hits a point of diminishing returns too. For one thing, working too many hours leads to poor quality and sloppy work. Ted Mosby famously said “Nothing good ever happens after 2AM”, that’s mostly true for software development too. More than once I’ve gone to work the next day and saw how I screwed up something the night before. Mistakes made during toxic overtime affect the next build too, and the one after that, and those problems cascade into more overtime. They all compound in one vicious cycle. It’s better to just do the work in the morning when you have a clearer head to hopefully not continue the cycle

Those are just the productivity and quality downsides – there’s also the problem of high overtime levels leading to increased absenteeism, lower health levels, and higher turnover rates

The realities of business and schedules and deadlines don’t always let us avoid overtime, but hopefully every time we’re forced to do so, we learn from those instances and figure out how to plan better next time (or to get the client’s understanding to be more flexible with scope and schedule)

Pain

Almost six years ago, I had to undergo minor surgery and had to endure the pain of being administered spinal anesthesia. I was reminded of this recently because a loved one with an even lower pain tolerance than I did recently had to undergo a similar procedure

I have a pretty low tolerance for pain myself. I tried to spin it a bit positively in the blog post linked above, but there’s no question many times during the procedure I felt miserable and in lots of pain. Even just the process of being put on a dextrose was pretty uncomfortable for me, and laying there on the operating table hunched in a fetal position waiting to be administered spinal anesthesia was far worse. I even had to undergo anesthesia twice because I went back into the OR after some complications!

As I’ve written before, one of the worst things is the mental anticipation of pain. Those few moments waiting for the inevitable pinprick that will start an avalanche of pain. There’s a balance you have to strike between bracing yourself for the pain that you know is coming and not letting your fear of the coming pain somehow amplify it

For things like spinal anesthesia, or dextrose being hooked up, or blood samples being taken from your arm, you just have to pretty much grin and bear it. If you can’t avoid these scenarios you might as well just get through with it as quickly as possible. That’s why for medical problems, I prefer just doing what needs to be done, even if it means some measure of pain and discomfort. It’s better than letting discomfort linger and possibly reoccur and become more complicated

Prior to that operation, the most pain I’ve experienced was a toothache back in 2004. (Apparently I write about pain a lot). Toothaches are also pretty bad because unlike the pinpricks described above, they’re continuous pain. I only wanted to mention this part because I remembered that my dentist happened to read the blog post linked in this paragraph and gave me a frowny face over email when she read about me complaining of the pain haha

I look forward to the day that medical science advances quickly enough that pain relief is fast, easy, and painless, though that may take a while: apparently we don’t even completely understand how anesthesia works, we’re just glad that it does. Until then, we just grit our teeth and think happy thoughts and power through the pain

 

Will AI replace all our jobs?

A while back, news came out that an AI was able to perform a diagnosis after the human doctors were stumped. Having just finished binge-watching the entire run of Star Trek Voyager, I immediately thought that was the sort of AI advancement that could lead to such things as Voyager’s Emergency Medical Hologram, an AI which could replace a human doctor. Of course, it is still very unlikely for this to happen anytime soon, medicine is a very complex field and new things are still being discovered all the time. This sort of approach – using a set of data (in this case, the patient’s genetic data) could be compared to an existing database of past diagnoses to find something similar – could advance rapidly in the coming years to at least assist human doctors in providing diagnoses for those rare conditions that only few doctors have encountered. It may take a generation or so, but I can see that AI medical assistants might at least be possible in the future

I got to thinking: is my own profession (software development) in danger of being replaced by AI in some far-off future? “Software that can write software” is an ideal that many programmers have thought about at some point in their careers. I remember that at some point a few years into my career I was already thinking about how it might be possible. But then there was also a project where I had to study the possibility of writing software to convert legacy PowerBuilder code into Java web application, which led to a far greater appreciation of how complicated programming languages are and an understanding that any attempt to generate large systems automatically is a crazy endeavor that would take a large amount of time.

Individual small software tasks can be easily automated – this is why we have code templates and code generators and so on. This kind of work is similar to the medical situation above, it’s based on knowledge of existing code, so a program can put something together based on previous implementations. But as I mentioned in a previous post, writing software is about finding the right arrangement of code, which is largely a creative effort and is much more difficult for software to do, at least until the automation of the lower-level smaller-scale tasks is perfected.

While I believe new tools will be developed within the near future to automate small parts of the coding process, the overall development of software systems is likely to remain out of reach of AI for a long while. In fact, I believe that software development will be one of the very last fields to be replaced completely by robots, since as other fields start getting more and more automated, there will be a greater need for new software to cover those domains. So most probably doctors and programmers don’t have anything to worry about for quite a while

Random Thoughts on Time

I remember having a discussion with a friend a few years back where I made the following list to emphasize a point:

  • 8-9 hours at work (possibly more)
  • 7-8 hours of sleep
  • 3-4 hours commuting in Metro Manila
  • 2 hours for meals

That leaves you between 1-4 hours for all forms of recreation including exercise, sports, TV, derping around on the internet, hanging out with friends, and so on. On any given day if you needed to work overtime or run errands, you’re probably saying goodbye to any recreation time on that day. And if you have kids to take care of, that’s basically all days

These days I’ve found that even if you’re not working most days, it’s easy enough to feel like there’s not enough time for all the things you want to do. Or maybe that’s just me because there’s a whole lot of things I want to be able to do. I want to be able to learn, read, write, watch, draw, create, play, work on my side projects, argue with people on the internet, and so on. I don’t understand people who say they have too much free time and they get bored, I feel like those people just don’t have enough things they want to do. The difference between work and leisure is that when you’re  at work, you look for enough tasks to fill your required hours, while for leisure you like for enough hours to do the things you want to do

Ever since I started working I always had this idea that it was a ridiculous notion that we had to give up so much of our time to work so that in theory we could be comfortable in some foggy unknown future. You shouldn’t sacrifice today to enjoy tomorrow, what’s the point? Your hour today is the same amount of time as your hour tomorrow. I get that sometimes you have to sacrifice some time today for some sort of multiplicative effect it may theoretically have on the future (i.e. doing something today for 1 hour may earn you multiple hours in the future), but you shouldn’t sacrifice so much that you are no longer able to enjoy and appreciate the present (if you have that luxury of course)

We get the same amount of time (24 hours) every day as everyone else though. That’s the same amount of time as Einstein or Bill Gates or Barack Obama or whatever other random successful person you want to cite. It’s the ultimate equalizer. Other people accomplish so much with the same amount of time, so why can’t we?

Supposedly it’s all about setting your priorities and focusing on what’s important. Unfortunately focus has always been a problem of mine since I like to dabble in a wide variety of things. I look at the list of things I want to do and I tell myself I have to decide to sacrifice some of these so that the others can get done. Focus only on what matters. What if everything matters?

People will say you should cut back on TV or playing video games if you want to get stuff done, that these things are a waste of time. But as John Lennon said “Time you enjoy wasting is not wasted time”. If doing these things is what you want to do, you should go for it, just be aware of what you’re sacrificing in exchange

I believe that some time within this century attitudes of people towards work and time will begin to change. That the idea of working 40-50 hour days being a normal thing will start to fade away. (Or maybe I am being too optimistic). Until that time comes, we all need to consciously manage our time and priorities in order to cope

The No. 1 Problem in Software Projects

Without a doubt, the number one problem in software development projects is schedule pressure, that is, the pressure to meet unreasonable deadlines and targets

Almost all other problems can be overcome if there were no schedule pressure:

  • weaker developers could be mentored to become better, more productive, and commit less faults
  • less faults overall will be committed anyway if there were no schedule pressure
  • poor requirements could be threshed out in more detail
  • difficult clients can be argued, worn-down, and eventually reasoned with
  • problematic team members can be counseled, or replaced with new blood
  • and so on

But of course, the reality is that we live in a world with deadlines and targets, many of them set by people who have no idea about the complexities of software development. So schedule pressure is an inconvenient truth we must live with, and 99% of software development processes are there to help us manage that pressure

There are two particularly common mistakes arising from schedule pressure that I would like to point out:

  1. Refusing to accept estimates because they put our schedule/deadline in peril. Software estimation is already difficult, there is no need to make it harder by pressuring developers to reduce their estimates just to be able to fit your project into a gantt chart. Such practices will only increase the risks the project faces AND make it less likely for the developers to give you good estimates in the future
  2. Adding more people to a software project in order to catch up to a rapidly approaching schedule, popularly known as “The Mythical Man-Month” after the Brooks book of the same name. Every person you add to a team will increase communication and management overhead such that it is almost certainly not worth it. In order to catch up when falling behind, you have to reduce overhead, not increase it

Managing schedule pressure means understanding the limitations of what is and isn’t possible. We try to estimate better to better inform our planning. We add buffers where we can to absorb some of the pressure. We manage client expectations so they don’t pressure us too much. We try to learn from our mistakes so that future projects have less mistakes and therefore less pressure. And we have to be willing to say “this is impossible to do in the timeframe you want” to the stakeholders pressuring us

 

 

Some days you are tired

Some days you are tired
Maybe you are tired of all the work
You can’t keep up with, it all piles up
Of all the meetings and reports
That come relentlessly without end

Some days you are tired
Maybe you are tired of all the time
That you never have enough of
Of all the deadlines and targets
That you never meet but should’ve

Some days you are tired
Maybe you are tired of the world
And how it’s unfair and never learns
Of all the madness and insanity
And sometimes you want to watch it burn

Some days you are tired
Maybe you are tired of people
And all of their pressure and expectations
Of all their lies and inconsistencies
Or disappointments in their decisions

And on some other days
It’s more of the same

But also maybe you see a smile in a child’s eyes
Or maybe you run into a long-lost friend from years ago
Or maybe someone laughs at a stupid joke you said
Or maybe you see a stranger help another
Or maybe you find a new favorite place to eat
Or maybe you solve a problem tearing you up inside
Or maybe a familiar tune plays on the radio
Or maybe finally you’re no longer in the red
Or maybe good fortune comes to your brother
Or maybe you find some time alone to breathe

And then you remember
That it doesn’t always go this way
That there are also better days

And you say to yourself

“Maybe tomorrow, I will not be so tired”