Saturday, November 30, 2019

Digital Nomads and Hourly Heroes


If telecommuting is your bread and butter, you already know the difference between these two ideatic figures dreamt by marketing and respectively business people.

Most laptop advertisings are depicting the digital nomad as an always worriless, jovial traveler selecting beautiful places for processing his or her to-do on the latest and greatest device.

The hourly heroes are expected to act as on-call gurus, experts, rock-stars or ninjas (you name it) in order to get things right, on-time and on-budget.

Daydreaming is not a bad thing per se, focusing from time to time on our goals and visualizing them are useful practices, but from wishful thinking to great achievements there is a never-ending iteration of working and learning processes. Along the way we learn which are the best and most important things for us, and how to achieve them.

Nowadays working online is rather a lifestyle than a temporary solution for youngsters and people between two jobs. The ubiquitous Internet supports us in acquiring the educational resources we need to reach one's potential, and then finding communities, where one's contributions are going to create added value.

The Internet has potentiated the development of a new, community-built culture, which is nurturing the democratization of the education.

For months we have been witnesses of more or less violent movements all over the world - many young people are out on the streets and protesting against various things, and often taking inappropriate actions.

The mass movements are always carrying the risk of being manipulated and diverted by bad guys. I trust that the new generation will learn their lesson well, and will manage to play down the segregationist practices, which are still affecting the education systems of multiple countries.



Sunday, October 27, 2019

A Farewell to SPAs


A medium-high complexity user interface includes many dozens of forms, and most of the time it has to manage big tables bound to highly interactive grid controls. In technical terms this does require creating, updating and deleting thousands of memory objects with high speed, and in a manner to keep the system responsive and protected from excessive memory fragmentation.

Pacifying the client device's responsivity with network round-trips and garbage collection cycles has always been a pain, and in this iron triangle of software architects the browser-based web applications are part of the problem rather than the solution.

The proliferation of the layered software architectures did not cure any major problem related to the user interfaces. Migrating a monolithic solution from WebForms to MVC does not enforce developers to sanitize the front-end.

Regardless of whether the UI forms are generated by the middleware or by client-side JavaScript, ignoring the fact that client-side memory management has low scalability is like shooting ourselves in the foot.

For a newcomer in web programming a SPA front-end sounds excellent, because by employing a JavaScript framework he or she is feeling able to offer great user experience. And he or she is right in case of software solutions which require very basic user interface.

In all the other cases the end-users are going to be faced with the infamous side effects of too many memory objects to be managed by the browser or even the local operating system.

I agree with the Z generation regarding the client-side form templating, but I want to see each complex form or table in a new browser tab, which is closed automatically as soon as possible. Nowadays each browser tab is running in its own process, and closing a tab is a very efficient way to clean up the memory garbage produced by the tab's owner process.

Instead of a SPA driven by a monolith I'm after a bunch of pages driven by services and microservices. Saying farewell to solutions based on a unique SPA is a "when" question, because growing client or server-side monoliths is invitation to problems.




Tuesday, August 20, 2019

What Should I Learn Next?

For IT workers this is THE million dollar question. I think most of us agree that keeping up with the latest technologies needs to be a recurring task in our calendars, but deciding on when to replace which of our software tools looks to me the most difficult problem faced by developers, architects and CIOs. 

Answering the question of what needs to be replaced next is driving the organization’s innovation and self-development processes towards realistic goals like leveraging the cloud technologies.

Moving into the cloud is a “when” question - these days running a VM does not cost more than a decent shared hosting package. And don’t be mad on your IT guy asking for your budget, ultimately that money amount decides what type of solution can you start from.

Let’s face it: since the advent of the Internet (token-based, routed, non-deterministic communication channel) and the dynamically evolving, diversified hardware and software, the reliability and maintainability of a given solution have become moving targets. The IT&C solution you are using is essentially a service, which needs maintenance, otherwise its quality and usability will  degrade in time.

Even if you are an end-user, you need to familiarize yourself with the changes in the software tools you are using, for you that’s the price of their evolution.

The owners of the “latest and greatest” software services have learned more or less on the hard way that the user needs have to be monitored and addressed as attentively as the ever-changing technical challenges. Beyond mastering the industry-specific management processes someday they will learn that staying relevant in the IT&C business is neither about populating the company with micromanaged guys nor about acquiring innovative teams. The right guys keep asking and answering  “what should I learn next…” 

Wednesday, May 1, 2019

It's About The Data


As a computer science student I loved to do things in my way, and now, after more than 30 years I'm still happy to express myself by elaborating personal projects, even if I consider very important to respect customers by offering them great user experience, and my engineer colleagues by valuing their processes.

With a BCS obtained in the 80s in a Comecon country, over the years I've had to dig my way out of improper tools and ignorance - just like most of my peers.

Due to life circumstances I've learned listening users attentively  and testing my code accurately long time before having the opportunity to join a team of engineers and working for the market. That time I knew nothing about processes, practices and habits, but as a synthetic thinker I was fascinated by the architecture of their product, one of the few integrated software packages available that time in my country.

Given that for decades capital deficiency has been one of the essential problems of my geographic zone, I've tried to do my best to meet people, who have been interested in attracting investors from other countries.

The global spread of the low-cost Internet has made  possible to millions of people like-minded to me to start telecommuting and learning proactively, not only following instructions. That was the moment when I realized that the knowledge of searching, filtering and analyzing data is one of the key skills for managing ourselves in the 21st century.

Then I've experienced the importance of the "learning by doing" method for developing and testing software, and I've taken courses for having a better understanding of the big picture: SDLC types and agile frameworks like scrum, lean and recently DevOps.

Taking a well-elaborated DevOps course has been of great help to me in understanding the importance of doing software development and maintenance in small steps, driven by hypothesis and experiments supported by data collected in production.

Filling data stores with numbers resulting from continuous monitoring or each visitor's route on a website is not about dehumanizing the relationship with users - listening the user voice (by the means of support, social networks and surveys) is also essential for gathering data in order to make the right decisions at the right time.

DevOps practitioners consider that starting from the lean practices and making use of automation, data mining, experimentation and continuous learning in rapid iterations is more efficient for navigating our globalized data lake, than prioritizing backlog items based on 1-2 person's opinions.

Monday, March 11, 2019

Growing Businesses for Selling

In Europe this type of business development does not have a long tradition, and even in the USA is not yet considered a classic solution for making money.

Selling a business after 10-20-30 years is not a new phenomenon. A solo founder may loose his or her interest over the years due to the technological and / or economical changes reshaping the original business, or willing to invest in a different activity, or just feeling the need to retire. The evolution of a partnership may experience various ups and downs, but at some point the founders may choose to  sell a big part of their shares.

Building a business from scratch with the aim of selling it for a good price is more like a new profession, because even if the target is merely financial, the founders need to put in the same effort  and dedication in growing their new business, as the initiators of a regular start-up.

As it always happens with sniffing out business opportunities, "many are called but few are chosen". People who don't have years of valuable work experience in filtering, interviewing and managing human resources, will usually find a too big challenge to keep the boat floating.

In other words if a group of investors do not have hands-on experience in HR & PM, their own start-up is the worst possible place to learn.

In the USA people who have already failed with three or more businesses are considered experienced, but who wants to pay that much for growing professionally?

While the board of directors are changing their personnel and decisions all the time, they are in the initial phases of a start-up, regardless of the company's age. In case their product or service offer is considered attractive, and they find sufficient investors for growing, but they don't choose the right tools and solutions for taking their business to the next level, then ...they will certainly gain experience.


Saturday, February 2, 2019

Offshore Teams - Good or Bad?

For employers is advantageous to acquire workers in conditions not met in their regions. A project manager skilled in working with human resources in a multicultural context can obtain good results with offshore teams.

In high tech countries the very old and very fresh software solutions are the best candidates for being outsourced - both are considerably less profitable and riskier than a mature product or service.

Outsourcing customer services and digital marketing jobs is already a common practice, and if a company has been able to externalize such activities without losing their customers, then the competition has to streamline their internal processes too.

Using chatbots as customer support representatives may be trendy and funny, but not of much help in resolving non-trivial problems, emergencies or filtering out fraudulent schemes. I consider that replacing skilled workers with AI is more a media buzz than an upcoming technology with real impact on the current markets, and employing offshore teams is one of the typical characteristics of the globalized economy rather than a transient fashion.

For employees the possibility of working in offshore teams usually represents an opportunity to fund their studies or to collect seed capital for a small business.

The catch with these externalized jobs is that the employers eventually will train the worker to do what he or she needs to get done, but nothing more and nothing else, many of them don’t even want to spend time and money with entry-level workforce.

In such conditions the remote worker has to keep taking carefully selected courses, has to search for possibilities for doing professional practice, and to choose contracts for consolidating his or her skills and job history.

It’s not easy to keep the right balance between a well-paying contract, permanent learning and taking up occasional jobs for pushing us out of our comfort zones. The temptation of a boring but materially rewarding job is always there, and it's nothing wrong with investing all our energies in a single project for a couple of weeks, or making money during 20-30 hours per week, but stagnating professionally is as expensive as ignoring our health.

Each project has a start date and an end date, regardless of how optimistic the project owners are. Consequently a contractor or employee working for remote clients has to assume the responsibility of pursuing a personal study plan and diversified work experiences - a need which consolidates the demand of educators and personal coaches ready for the challenges of our epoch.


Friday, January 25, 2019

Will Dumb Phones Survive Smartphones?

Last summer I attended a meeting with my former fellow students. After more than thirty years it was a pleasure to discuss with people who had been dreaming to teach math or to work with numbers in an epoch when no material advantages could be obtained by developing such skills.

We’ve graduated several years before the fall of the Berlin Wall, the latter being followed by significant changes in our lives - more of my former fellow students having now jobs in other countries. As many of them are now respectable senior teachers in public schools, I consider well-founded their concerns regarding the problems brought by the ubiquitous mobile devices.

Our generation used to employ classic tools for learning, we enjoyed rich social life, and our  personal relationships are still based on direct meetings rather than messaging tools. For a teacher of our generation may be disappointing to see all over the place youngsters absorbed in their smartphones, or wasting their free hours in front of a computer game and chatting instead of spending time together.

One of my former group-mates as a mother of three and as a teacher has been particularly concerned about today's teenagers, many of them apparently addicted to their smartphones. I attempted to calm her by saying “don-t worry, smartphones will disappear ...it won’t happen during the next two weeks, but they are going to be replaced gradually by other tools”. My words have taken her by surprise, but at least I felt I was able to offer her a different perspective.

Many of our generation are sharing the preoccupation for the future of today's kids, the most pessimistic of them envisioning a society of consumer-zombies unable to face real-life challenges.

Regarding the brainwashing effect of smartphones I’m considering myself an optimist. The technology, which has turned mobile devices into consumer goods it’s not yet mature, and as all products, the mobile devices have already started to follow the rule of diversification and specialization.

Several marketing authorities keep telling that Microsoft’s efforts put in popularizing tablets are mistaken, because people are wishing smartphones and are spending money on phones rather than tablets.

In my opinion the smartphone’s form factor is the real winner, being very handy for a high variety of activities. The guys from Microsoft have invested in IoT, and in time the smart things will have a consistently valuable market.

Each industry has its toolset, and very likely each group of people with specific needs are going to have their particular smart kits equipped with sensors and software developed for them. Those smart kits may accespt optional and autonomous extensions like wearables.

Taking in account that a modern basic phone is small enough to be shaped as a wearable, it does not always makes sense to put the phone in the same box with the computer (smart phones are in fact computers), but it's important to assure good integration between them.

So yes, I believe that in future we will have the possibility to choose from a high variety of smart devices, and there will be trendy again to talk to each other.