top of page

Levente

Pánczél

Software architect 

WHO I AM

I'm a software architect, born in 1983, in Hungary. As a young boy I already had great interest in mathematics and developed it into a keen eye for how and why the world around me works. The world of computers and especially algorithms got to me once I first came across a C64 (yes, I'm THAT old). I'm actively striving to be perceptive to my environment and to always analyze things through their causes. I'm driven by efficiency: every moment is spent contemplating, no idle thought is worth using my brain, and even the most basic routines of everyday life can be enhanced. Thinking simultaneously in multiple abstraction levels enables me to be forethoughtful, skilled when it comes to solving problems and a fast learner for things that have a purposeful internal structure (yes, I still can't memorize more than 20 dates and will never remember the names of things/theses I correctly employ).

I assess the circumstances of real-world problems, abstract them to a flexible structure and design effective technical solutions for them. I’m also skilled in development; I can turn these solution-concepts into maintainable, quality code or lead a team to do that efficiently if need be. One of my specialties along these lines is resource-scarce implementation where among other techniques I employ highly tight coupling (Black Magic indeed) to decimate the overhead in cooperation, documentation and quality assurance.

WHAT I DO
HOW I DO IT

I design with broad experience in the volatile fields of IT and a passion for managing complexity through a clean separation of the underlying concepts. I have started to develop a fondness towards algorithmic approaches and abstraction of problems early in primary school. Since then I've strived to get the greater picture about software development and so I managed an MSc in Software architecture. Though I also got familiar with related mathematics, I try not to be a theoretical scientist but to view my tasks as a complex structure of the tiny engineering tasks’ interactions.

Most of the current software technologies have at least some conceptual problems: the engineer’s foresight and precision in designing and applying solutions is among the most neglected practices nowadays. That’s why I always seek to obtain an in-depth comprehension of the internals of these technologies: that is the only way to harness their individual strengths without running the risk of getting caught in one of their many pitfalls.

PHILOSOPHY

IDEALS

Below are thoughts I find important about software. I'm acutely aware that these are wishful thinking and I know precisely why our world shaped the related things the way it did. But I feel that giving up on these ideals would sanction a drop in overall software efficiency. Tasks must be completed without much regard to these ideals and I have no problem with that; but I suggest to keep them alive, and to remember to act on them when there are no stronger arguments in a decision; and I believe this to be fundamental to professionalism. As long as they don't obstruct solving the problems, there's no harm done.

Programming is complex

 

We're trying to apply software to every aspect of life so we're rapidly approaching our limits in terms of complexity. The things that are not solved already (a thousand times over) are hard by nature; and not because no-one had the bright idea to write a compiler that can make do without strong typing (to just pick an example). Stating that Dependency Injection is an over-complication is even more stupid than using it for every kind of instantiation. E.g. I welcome the "complexity" of AngularJS (actually regard it "structure"), because it encourages people to go back to wash dishes. There is a Hungarian proverb: if the duck can't swim that's not the water being stupid.

<HTML> & Web 2.0

 

Have you ever tried highlighting words of a contract to explain to the waiter what you'd like to order for supper? HTML is a document-language, its patchwork UI extension's as sophisticated as any abacus.

HTTP is great for fetching documents, which the current Web (and web applications especially) are not about.

One can, of course, accomplish almost anything with these technologies, but how effective is it to plough with a teaspoon?​

Productivity of modern UI

 

Eye-candy, by its nature, is not productive. It is, of course, reasonable to reserve the right 5-10% of the UI to eligible aesthetics in a way that does not compromise usage. Apply this only if productivity is a key feature! But if someone comes preaching that Web UI can be productive I just hear him/her screaming about never having used a productive UI. I also agree that spacious and rounded and etc. designs and eye-candies are welcome as long as they don't degrade performance or usability; sadly, most often they very much do. Every carpenter wants a flashy, striped hammer ... until he gets dazzled eyes and hits his hand repeatedly.​

Syntax is none

 

Creating mostly intelligible sentences does not make someone a successful novel-writer (lest a meaningful one). Superficially correct handling of a wrench does not make a car mechanic. Knowing a syntax (especially a gappy one like JS or PHP) tricks many people into thinking they are programmers; I have to break the news that it's just the first step on a long, steep road. Unfortunately sometimes these people attribute some generality to their solutions, perhaps extend it with some haphazard ideas they think is "commonly useful", and publish it as a component into open libraries where you can spend several orders of magnitude more time evaluating thousands of inflexible half-stable solutions than writing one that fits your needs. These libraries in turn have communities where contributors can pat each other's shoulders - I'm delighted they don't mind my not joining in...

The view from afar

 

One just can't get the whole picture without employing a broad perspective. It's always useful to analyze the whole context of a problem, especially if the tiny facets include tough questions or great uncertainties. Sociology can fiddle with long-term effect of population growth on demand, but it's worth noting how 40 billion people won't fit this single Globe. More and more cores can be squeezed into a processor, but it's no use when only 2 threads are important. In a fast-paced, best-practice-based industry like software, average quality cannot marginally exceed the bulk's competency; thus while simplifying necessities creates manpower on short term, also ensures degradation on the long run. And the most important example: complex things have a tendency to be hard, always chasing ways to cut the Gordian knot may prove a waste of time. Complexity analysis detects the limits of "thinking outside the box" quite reliably; but to visionaries this is me thinking inside the box.

Stupidity is viral

 

This is not only a professional issue but more general. The Internet was once the acropolis of information. Nowadays adverts drastically encourage the generation and distribution of shocking content, while at the same time web-anonymity renders veracity irrelevant. Now factoring in that, in regard of most topics, people of superficial insights tend to have more time for their campaigns than their professional counterparts, the disaster is set up. First, everyday topics (lifestyle, healing) were compromised, but recently even far-off scientific areas (e.g. programming) are effected too: it's hard to judge whether statements are backed by anything meaningful (firsthand experiences, methodological research, etc.) or just cross-references inside a community. I fear that there are generations vastly unable to tell the most solid research result apart from a hoax; and some might come, that will not even want to.

E-MAIL ME

Your details were sent successfully!

bottom of page