Personal Branding

In recent weeks I have come across a number of online articles and posts that covered various aspects of what is now called “personal branding”. Most of them listed relatively specific things to do or avoid. This is something that I think can do quite some damage, when followed blindly. Because at the end of the day you want to convey a picture of what you stand for. So doing or not doing things always needs to be seen in that context.

In my view the purpose of personal branding should be something like an extended version of your resume/CV. The latter is usually oriented towards listing what you did in your professional past and the relevant achievements. What it usually does not show is your personality. Are you a sociable team player or a ruthless egomaniac? Either type could have achieved  what you did (or rather claim to have done). But obviously the side-effects would be very different.

In contrast to the “words-only” description of yourself that a CV basically is, the personal brand should be created by “actions”. I am a big fan of judging people by what they do rather than say. And if someone does charity work in their free time, that tells me a lot about this person. Much more than any impressive job role that is listed in their resume. In this context please also have a look at my post Don’t Promote for Performance.

As a non-marketing person I always had the impression that branding is the most difficult thing in marketing. And while I am writing this it seems very clear to me what the reason is (the marketing people will tell me whether I am in line with conventional wisdom here). The challenge with branding is that a company never can create a brand directly. It can ensure that all the prerequisites are there – like an interesting logo and a catchy phrase. But for those to transform into a brand, the market needs to have a certain perception about them. And that perception is the brand.

The problem with this view is that it explicitly denies the organization direct control of the outcome. You can of course try to raise awareness with expensive advertising campaigns at major international airports. But if nobody ever heard your name, putting it next to a conveyor belt for luggage will not help much. Instead brand creation takes time and continuous effort. And of course you need to support this with traditional campaigns etc.

The actual brand will follow this and gradually develop, as customers are happy and spread the word. And this is also what I recommend to people when it comes to their personal brand: Do good things and “talk” about them. Talking here means every form of communication. Especially technical people, who also tend to be shy and introvert, are often not very good at self-promotion in a direct conversation. But they could give a presentations where their achievements are mentioned. This will not feel like bragging to them, but a more neutral description. And a bit of understatement has rarely hurt in these loud times.

So the bottom line is: Find out what you would like to stand for, deliver great results supporting this, and then spread the word. Sooner or later people will recognize you for it.

Dave Farley: The Problem With Microservices

The definitive video on Microservices, as far as I’m concerned. No marketing bullshit, no misguided “stateless-hello world-crap”, but a concise and applicable set of criteria. It is also worth noting, that overall/in general Dave prefers a service-oriented monolithic architecture. I can’t express how great this video is to describe the real core of the idea of Microservices. Please take the time to watch!

Linux and the Speed of Innovation

Although I have been a Linux person since 1995, I have come to like FreeBSD a lot. Primarily because two of my major systems are based on it. As my firewall I have been using pfSense for a number of years, and for storage it is FreeNAS. And both have never let me down, neither in terms of stability nor regarding their functionality.

Now the company behind FreeNAS (iXsystems) has announced a while ago, that they will move to Linux as the underlying operating system for their future core product. I am not sure I welcome this change that much. I can understand that simply for available know-how iXsystems want to do this switch. Plus the hardware vendor support is obviously broader and the community also does their part in testing. But, with some level of exaggeration,  Linux (not the kernel but adjacent things like systemd) has become kind-of the JavaScript framework of *nix systems. What I mean by that is that I personally perceive the rate at which things are re-done as too high for my liking. Just like every year multiple JavaScript frameworks appear that do the same thing as twenty others, just differently.

While there is merit to improving things, stability is often more important. And stability not only means that things work as expected. But also the rate of change is a factor. If a new framework saves me 20% development time that sounds great. But in the enterprise evolution, and by that investment protection, is typically what gets you the much better ROI. Because the 20% development improvement are more than eaten up by effort in other areas (esp. operations).

Dave Farley: Continuous Integration vs Feature Branch Workflow

There seems to be, at least partly induced by the relatively powerful merge-capabilities of Git, a trend back to using feature branches in distributed development. Since most of the folks I heard supporting this, are not super-senior it appears that feature branches seem the more obvious choice. Dave Farley, who is basically one of the inventors of CI/CD makes a very compelling argument against features branches in this video. Please watch!

Happy New Year!

After a short break over the holidays, I am back and would like to wish my readers a Happy New Year and all the best for 2021. I will do my best to keep the weekly cadence for new posts. In addition, I am currently in the process of planning a number of videos. The topics are not final yet, so please feel free to come forward with topics, which you would like to see covered.

 

Installing MySQL 8.0.22 CE and phpMyAdmin 5.0.4 on Debian 10

Quite recently I had decided to set up a VM with a database server in my home lab. My preferred server OS is Debian Linux (esp. since Red Hat announced the end of CentOS) and I wanted a recent version of MySQL, together with phpMyAdmin of course.

The MySQL installation was done following the instructions from here. Please make sure to check the MySQL page for the current version of mysql-apt-config_x.x.x-x_all.deb. The version mentioned in the article as an example is outdated.

For phpMyAdmin I followed the instructions from Digital Ocean, since I have had good experiences with other such documents from them. That document is meant for MariaDB, so things should work. Of course, you need to adjust the database command from mariadb to mysql, but that wasn’t too hard :-).

What did  not work, though, was the command to create the pma user for phpMyAdmin, which created the following output:

mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'PASSWORD';

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY 'PASSWORD'' at line 1

The underlying reason is that MySQL 8 does not allow the implicit creation of users anymore. So you have to split the command into the creation and the grant of rights like this:

mysql> create user 'pma'@'localhost' IDENTIFIED BY 'PASSWORD';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost';
Query OK, 0 rows affected (0.00 sec)

The rest of the preparation went smoothly and soon I was presented with the login screen. However, I could not log in, but got the following error:

mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]

This is caused by a change of the default authentication in MySQL. To go back to the old way for a particular user, you can issue the following command in MySQL:

mysql> alter user 'pma'@'localhost' identified with mysql_native_password by 'PASSWORD';

With that change I was able to log on the phpMyAdmin. It should be noted, though, that this change has security implications. So please check this article if that approach is ok for you.