1. Home
  2. >>
  3. Latest
  4. >>
  5. Who is a good computer scientist?

Who is a good computer scientist?



Who is a good computer scientist?


I’ve been dealing with computer science for 25 years, and I’ve always wondered: how should a good computer scientist be? I started from the basics of my experience to reach the conclusion that what is said about computer science is true: it is that thing where those who command do not know it, and those who know it do not command.

This is because for our user / client / client that thing there, (IT) sees it according to its role, (reality is representation, Schopenhauer reminds us), in many different ways: sometimes as a form, sometimes as a simple button, and often only as a figure in an investment account, almost never, indeed never as a sophisticated mechanism created by the skilled hands of a craftsman.

Yes, because as much as you want to make it look like an industrial product, computer science made at any level is completely artisanal.
Maybe there was a product that, by pressing the button, brings out a management software, an ERP, a real time and so on. True, there are tools that automate many actions, but the gist is that little or nothing is done without human intervention.

In computer science then there are 3 main categories:

1. The creators of pure code. They are usually the ones who just need to tell you what you need and they build it for you. They hardly ask questions about why you need something, they just do it. They get very angry when they receive illogical or abstruse requests.
2. Those who receive user requests. I don’t know about you, but 99% of my users’ requests are: I don’t know what I want, but I recognize it when I see it. Most of those who recognize themselves in this category spend their time explaining to a user, without sounding abrupt, that a 500 with wings, even if feasible, is not the best; better to have either a nice utility car or a biplane or both. If you then say yes to the user (on the 500), then you have to spend as much time talking with the filmmakers to make them digest that now they throw it overboard and start doing something different again. (If you have masochistic delusions, go ahead and do it, I don’t recommend it!)
3. The third category of computer scientists has something magical for me. It is generally found in the upper floors of the hierarchical ladder. They have a splash of computer science, like cakes with icing sugar, but they are very skilled communicators and perfect creators of special effects presentations created with Power Point. They excel at drawing up plans in Project and are excellent speakers. As for the creation of IT products … In general they are used to say to make you understand that they are inside the material:
A computer product is a set of logical sequences that take input information, process it and provide an output!
Yes, but how? Well, this is a job for technicians… (see 1 and 2).

A good computer scientist, whatever his level, must have the following qualities in order not to quickly end up in depression or find that his work week lasts between 60 and 80 hours.

· Foresight. Now in the office they call me Cassandra, when a user enters and asks me for something that is only 2 working days, I already know that we are talking about 2-4 months. The last time they asked me for a provisional db for a small thing, it was up for 3 years. They still ask me how I knew. I use this Rule, handed down to me by an old sage. When asked for an estimate of something new, raise it to the next category and multiply it by 2.
1 day = 2 weeks. You are very close to what you will employ.
. I listen. Never and I mean never realize something as soon as the user has finished speaking. Wait, take a break and then say always, I’ll put it in writing because that way I understand it better. At this point 2 things happen: either the user says, I don’t need it anymore (40%), or you change the requirements (60%). In the second case, the loop is restarted.
· Being a terrible bad trust. Check the user’s activity, it’s easy for him to ask you crazy things, just because he doesn’t know that the windows calculator does the same thing. Test, always test every single thing and then test it again. Having free bugs programs is your only shield against any possible absurd request and question, but why does it take so long… ?!

The latest talent is acquired with experience, with a lot of experience, or you are lucky to have it from birth and it is called the ability to sell your business.
Dilbert teaches that if you are super savvy, very good, capable, great solvers, solution providers, etc, etc, well, that will never be recognized. Never. Because (always by the usual law of representation) you are all just doing your job.

It’s like saying good to a surgeon. Of course he’s good, it’s his job.
But the surgeon gets paid! And this, because the surgeon makes his know-how weigh a lot.
This talent then, the more time passes and the more it becomes much more important than all the others, especially here in Italy.
I can confidently state that your salary and level in the company is directly proportional to this capacity.
The more you will be able to make your user (boss or other) understand how complex and multifaceted your work is (and consequently onerous and demanding) because it must be accurate, complete in order to provide a service that over time will bring income (or savings), and the greater your remuneration will be. (There are always those who will tell you, but what does it take to do that?

I always say to my team: if we build an entire application in Ajax, with the latest technologies, in a third of the time and without bugs, we could never expect anything more than what we have. This is because for everyone this is our job, and you cannot expect to have more to do “only” your job.
Invite the user to a series of 3, 4 meetings in which we illustrate how we work, how He will always be informed about everything throughout the project, and how the service produced will make his life better, it is priceless!

And finally two maxims:
– The first to be displayed as a business card: If you can imagine it, we know how to make it happen.
– The second to tell your team: People almost never care about an application that runs 1 second faster or that has an ultra-optimized database or uses only OO paradigms, but everyone wants it to be beautiful, safe, reliable and that it solves their problem.

Here, perhaps in the end a possible definition is: the good computer scientist is someone who others recognize as a problem solver.

Joseph Cubasia
Cubasia blog