Thursday, December 20, 2018

Insignificant Projects

Bigger IT&C companies always have less important projects used for growing young talents, and identifying the right persons for their teams working on the company's most important products.

Employing unimportant projects for developing the skills of new employees is a good opportunity for exploring their strengths.

It can happen that a product idea proposed by a debutant with evident technical and managerial skills gets at the top of the agenda for some time, even if it's not considered really important by the board of directors. The way a person is dealing with the raise and fall of his or her popularity shows whether he or she is ready to be part of a mature team.

The problems start when the unimportant projects are getting out of the door, and the company’s customers are not informed about the new offer's highly experimental nature.

For an outsider it’s very difficult to make difference between a public beta representing the next member of a well-established company’s product line, and a MVP booked as operational cost rather than investment in the company's future.

In case of startups and free-source teams the early adopters are knowingly assuming the problems caused by unexpected bugs and technical limitations, and respectively the risk, that the product could be discontinued anytime.

Unfortunately it’s a common situation, that a software MVP gains popularity and the original company staying behind it has no willingness to develop and maintain the proper product, or it turns out to be a disappointing manager of a new concept, which needs different approach in comparison with their already mature products.

That's why the to-be product architects with strong personalities, great talent, courage and perseverance are leaving the big companies for building the products they've dreamed of.


Saturday, December 15, 2018

Procrastination and Bargaining

Although making a to-be or current partner to feel insecure about the future of your cooperation is considered a classic negotiation strategy, I prefer to avoid obligating myself to people with such attitude.

One of these influential but all in all professional interviewers asked me to make them happy by doing things in a manner they considered beneficial for the project I were going to contribute to ...and the least professional dealer I’ve ever met required me to not ask him for any kind of recommendation, because he was not willing to decorate anyone’s CV.

The theatrical nature of such claims is evident for someone accostumed to dealing with people, and they are certainly not easing the communication flow between strangers.

Procrastination is okay when you are in the situation to manage emotional discussions with children or difficult people, who are not ready to participate in a dialog based on facts and logical arguments.

When developing a strong, mature partnership is at stake, applying psychological pressure is counterproductive. It’s understandable if someone is doing small “tests” for exploring his/her new friend's personality and intentions, but these “tests” need to take advantage of real-life situations rather than theoretical quizzes.

The same goes for the trial job period. A good actor may perform better during an interview than a good professional, and there is no way to filtering out people who will eventually fail in certain conditions.

For me an interviewer who keeps showing undecided attitude over more meetings signals that’s time to withdraw my bid.

For well-defined short-term needs it makes sense identifying the human resources, products or services which are currently available underprice, but trying to keep alive a company built on the culture of “cutting costs at all costs” looks a nonsense on a saturated market.



Wednesday, November 7, 2018

Giving Up on a Plan

It happens quite often that our requests are placed on hold for days, weeks or forever, and we have to find alternatives for resolving our problems.

While a tech guy in production can learn rapidly where are the limitations of the buying power and the resource costs of his industry, in field of digital services the walls are not visible and are moving constantly due to the changing demands.

Physical goods are always produced for a well-defined market, even if the technology and / or some resources are coming from different regions. The digital goods don't have stable markets, since people can use computing capacities and software services offered  by a high number of geographically dispersed suppliers.

The digital businesses are operating with higher risks than the classic businesses, and in such situations correct prioritization is key: paying clients with consistent commands will always get served before customers using economy offers and free resources.

Theoretically one's managerial capabilities are measured by what we've been able to accomplish with the resources we've had ...but with too few resources we can get nowhere, because people need to be served in timely manner.

Whatever membership website putting customers in the situation to spend weeks until finding somebody able to fix a broken database transaction or other problem certainly won't have a bright future.

In this context giving up on our plan to keep using the service, and identifying a different company with after-sales services suitable for us is the right thing to do, even if sometimes it's not easy at all.



Sunday, August 26, 2018

The Temptation of Tinkering

It's not about the incapacity of finalizing a piece of software or choosing a new toolset.

It's not about the syndrome of the programmer willing to take up the role of the architect - those guys sooner or later will change their attitude, because the more dynamically evolving a project is, the more difficult is to manage its structure and processes.

And it's not about the architect having fun with trying out various scripting languages, he/she always has to take in account the price level of the human and technical resources, even if sometimes it hurts.

The persons demonstrating this particular weakness can be quite successful in business, and great family people or friends, but they do have at least one project, which somehow always gets reshaped and never good to go.

The problem is that those projects at some point in time have addressed a real need (or they are still addressing it), but the project owner is not feeling ready to share his/her ideas, wishes and uncertainties related to his/her solution.

Nowadays a big number of living development tools are contiguously gaining new features, we can read each day about the new versions and extensions related to the tools we are currently using or planning to adopt. It's understandable that the more professional their marketing are, the bigger the temptation is to invest time in tinkering with the latest early beta of this or that product instead of developing our own.

Put differently, we need to find day by day a good balance between making our own dreams come true, and supporting others in doing the same.


Thursday, July 12, 2018

Is Freemium a Way To Go for E-learning Solutions?

In 2016 I took a sabbatical year dedicated to studies. Between others I’ve taken foundation courses about the education paradigms of the 21st century, project-based learning, problem-based learning, methodologies and software tools specific to e-Learning.

Today I can say that I was in the right place at the right time, because all those courses were offered for free by an international educational platform sponsored by multiple companies, and I had the chance to do my home works by employing freemium packages offered that time by various online software solution providers.

Now, two years later, some of those freemium packages ar no more available at all, others have been “streamlined”, so they are suitable only for testing purposes. Last year the platform’s biggest sponsor has stepped back, and several courses taken by me are no more part of the current offer.

The thing is, that in 2016 my average monthly Internet traffic was over 50 GB, respectively the educators and the operational personnel of such platforms need acceptable technical conditions and salaries ...In other words decent quality and good results imply a reasonable cost level.

E-learning activities are big IT&C resource consumers, and additionally to processor power, storage and bandwidth they require complex software solutions.

Managing and maintaining successfully such a platform goes far beyond the financial capabilities of a small-medium company, and even big, nationwide companies are creating associations, and doing lobbying for grants in order to assure the continuity and quality of the E-learning services delivered by their platforms.

Taking in account the resource-intensive nature of multimedia file handling and teleconferencing software, it’s better to treat with reserve those services offering “too many” resources as part of a freemium package. Sooner or later their funds are going to end, and then we may run in trouble with our course materials, quizzes, catalogs, home works, messages, forums etc. stored by them in some proprietary database.

For example Moodlecloud is offering a freemium package suitable for storing link collections rather than multimedia files, but most software features are available, and an educator can learn for free how to work with the software, respectively he/she can evaluate the file importing and exporting features, and the compatibility level with a different platform.

Sunday, May 27, 2018

Elves and Bubbles

According to the German folklore, helpful elves may visit people's houses nightly, and get work done for them while they are sleeping.

The ambiguous perception of work is present in various cultures, being considered a necessary evil or even a punishment for the human kind. It's a generally accepted idea, that living in paradisiacal conditions does not imply a working relation or contract.

Financial bubbles are not a new phenomenon, they have always been fed by people unhappy with their jobs and lacking the necessary financial and psychological literacy.

The truth is that there are no recipes for filtering out unsuitable investment advices popularized by people caught in the system they are advertising. We have to try things out and we have to fail a number of times in order to develop common sense.

Investing real efforts in following a good school and making our home works do help many more than people tend to think, but gathering life experience and standing up when falling down are part of the process.

Then the answer to the following question will be straightforward: Ponzi schemes, pyramid schemes, hedge funds, unicorns and cryptocurrencies promising the moon from the sky ...from where they'll get the goods they are promising? Who will work to produce those goods?

We can redistribute only what we have produced, and who have lived in socialism as a macro economic system, have learned the hard way why it does not work.


Sunday, May 6, 2018

Xamarin as a Journey

In 2010, after doing my web programming homework in PHP & MySQL I've chosen to use C# for my personal projects. I've started sketching solutions in asp.net, being attracted by the loosely coupled, service-based architectures.

The feature-rich .NET libraries and the inbuilt security are coming with no cost, but the learning curve is too long and difficult for being passed alone. C# is too big for a beginner, and it invites to brainstorming and teamwork rather than hammering in isolation.

In 2012, still as a newbie in C# I've managed to run some asp.net pages on a Linux server with Mono-based implementation, and I was impressed by the tenacity of Mono's maintainers. The main problem of free source projects is their imprevisible nature, which makes difficult for IT managers to put them in the right place.

In 2014 I've tried out Xamarin Studio, but I could not manage to compile and run a Hello World test (my desktop computer was too old, and their installer was not polished).

In 2016 I've published my first UWP apps, and I've tried out the Xamarin template included that time in the free version of Visual Studio - with not much success (I haven't had the necessary experience to research and isolate the problems signaled by the error messages).

Several months ago I've run the Visual Studio Community installer for adding the modules needed by Xamarin, I've resolved manually the problems left opened by the installer, and after running successfully my Hello World test I've started to fight with Xamain.Forms on a 32-bit desktop, and being new to Android, but loving XAML.

This week I've published my first XF app for Windows 10 and Android, and my Xamarin journey continues with other apps and then .Net Standard on a 64-bit machine.

Understanding the Android app lifecycle it's easier when coming from Windows 10 than the other way around, and my participation in a study group using C# has helped in developing my skills.

Sometimes it's necessary to growing professionally before starting to grow together with a team, a company or a product.




Thursday, March 22, 2018

CVS, TFS, GIT and the Like

After spending 20 years with console applications and plain file sharing I've stepped into the world of GUI applications with client-server architecture, and I was not willing to look back.

Control Versioning System has been the very first source control tool I've used for coding. That time I was happy with its client-server architecture and the graphic TortoiseCVS client.

Then the public free source repositories have started to move to SVN servers or one of the GIT-based solutions with distributed architecture.

Being learned with stable, high-speed Internet connections and the reliability offered by a server process guarding the centralized source repositories, I've had a long way to go until accepting to work with GIT-based solutions.

A server process with carefully elaborated GUI clients makes hard to the users to shoot their own feet, while a complex server-side script with a minimalist console interface is invitation to do the wrong thing.

Fortunately the proliferation of responsive, user-friendly websites and GUI plugins have addressed the need for efficient user interfaces, but due to the complex nature of distributed systems it will always be easy to design workflows producing painful scalability and/or security issues.

In other words employing low-cost software & hardware resources on a highly competitive market implies hiring specialists who aren't necessarily living in one's neighborhood, and collaborations through the Internet will soon become the norm for keeping up and running successful IT&C projects.