Lazarus

Miscellaneous => Jobs => Topic started by: zogtrog on April 15, 2020, 09:24:04 am

Title: Looking For Remote Programming Job
Post by: zogtrog on April 15, 2020, 09:24:04 am
Due to the current global situation I am looking for a remote working programming job using either Lazarus / Free Pascal or Delphi ( I own my own licence for Embarcadero Delphi professional edition )
I was wondering if there are any object pascal jobs around at the moment. I am all set up for remote working.

I am based in the UK and English is my native language.

Thanks for any help in advance.

Jack Taylor
Title: Re: Looking For Remote Programming Job
Post by: RobertThompson9 on July 08, 2020, 12:43:15 pm
Hello!  I am in the same situation.  I got laid off from a Java position, and all of the Java jobs in my area have through-the-roof requirements using newer technology that I don't have experience with (Angular, REST API, Spring Boot, etc.).  I have extensive Delphi and Object Pascal experience, but there are no Delphi jobs to be found anywhere.  I will keep my eye open.  If I see anything I'll let you know, and please do the same for me.  Thanks so much!
Title: Re: Looking For Remote Programming Job
Post by: lgrfbs on July 10, 2020, 06:35:42 am
What do you consider to be the minimum amount for a small job that has the following parts: WiFi, reads data and saves to CSV file?
Of course, I intend to pay for the service performed, if I can afford to thank "Yes" on the price question's answer.


--- More info ---------------------------------------------
Some time ago I went and bought PIKO's measuring cart which in itself is a nice cart but the software for Windows has some bugs that PIKO has not done anything about, to get rid of the errors.
The main problem with PIKO's software is that the radius of the curves is not saved in the CVS file.
Values for the radius of the curves are displayed live in the program, so I know that the cart transmits the measure value and that the program receives the data, but the CVS save function does not include the real measurement values for the radius of the curves, but it will only be 0 at that position in the CVS file.
PIKO's measuring cart homepage: https://www.piko-shop.de/?a=mw

This is a model railway wagon in scale HO (1:87).
What is measured is:
* DCC data
* DCC Volts
* Track inclined width - right/left (dosed curve)
* Track inclined length - up/down (hill)
* Track Radius
* Mileage
* Speed

 --*---

This is what I want the program to do:
Basic function:
* Connects to the measuring cart's WiFi AP
* Reads streamed data from the measuring cart.
* Saves the received raw data as a CSV file locally on the computer/drive.
* Target OS Windows, MaC & Linux
* Open source and publicly downloadable.

Luxury version 1:
* The received data is decoded to human readable values before being saved in the CSV file.
* The program has a GUI that presents received data live in some neat way.

Giant luxury version:
* All measured data is saved as CSV and STL (3D) file.
* GUI has a 3D window where measuring data is presented as 3D graphics.
* A function to be able to virtually "ride around" on the viruella model railway that collected data has created.


Some row data from Wireshark:
http://lgrfbs.org/SEF/MW20190216.zip (140 Mbyte)
Title: Re: Looking For Remote Programming Job
Post by: mateli on September 09, 2020, 02:04:22 pm
Currently Java, C/C++ and Dotnet in that order is in demand where i live, but it is very rare to see a Pascal job. Currently I mostly develop in Java but decided to learn Pascal.

If there isn't a job market for FPC/Delphi we will have to create one. Running a small business I can sell applications but I am not really on the level where I can make FPC applications yet.

I will outline why I chose attempt a switch to pascal based on the other popular languages.

1. Java. This language can be rather useful when writing a particular kind of server application. Or when writing application where long term code management as well as cross platform support is more important than other factors. However for some reason Java IDE:s have all bloated to the degree that I can no longer run them on most on my computers, and where I can they don't run well. Java compiles a lot faster than C/C++ which is a bonus compared to that language and some common errors are rather easy to fix. With Pascal i get the Free Pascal text based editor as well as Lazarus. And of course turbo pascal is also nice. And so far I have not written any code that takes more than a minute to build.

2. C/C++. This is a language that I have used when Java is to slow. The best support for native API:s and good compilers are around. The problems I have with this language is three things. High level stuff like GUI programming and database is not optimal in this language. I could probably write good libs for that but the point is that the existing libraries are insufficient. The next problem is compile time. C is decent to compile but C++ can take FOREVER. Literally, you can have infinite recursion in the template system. With C i additionally have the problem that it is not object oriented and with that is also annoying so I have to chose between no objects and a very bloated language with slow compile times.

3. DotNet well here my main problem is that I run Linux and so do many of my clients. The global market share for non-Windows application are small compared to Windows but for me writing a Windows application means that at least 60% of my clients will not even look at it.

With FPC I can compile code for a sufficient amount of target platforms, including some that is badly covered by C/C++/Java such as FreeDOS. The compile time is fast so the development cycle can be fast. There are the LCL library for GUI:s as well as bindings to several C libraries commonly used in games. Of course the LCL is not as competent as the Java GUI ecosystem(s) and the C library bindings are not as good as actually using C. But I get a decent intersection of both. As for Dotnet it has in common with Delphi a huge amount of Windows only components but as I taget Linux I cannot use them anyway.

So to sum that up I have decided that FPC is probably the language where I can be the most efficient and I assume that this is true for the rest of you.

After that rant the point that i am getting to is that I suggest that we work together to create a FPC/Delphi market. This includes on using free time to work on open source frameworks that can make us more efficient as well as discussing how to bring in more clients for applications written in this language.

My personal approach will not be to well "Pascal" to customers but custom applications. Small business clients rarely asks me what language I will be using. They don't know and they don't care, as long as the software improves their business.
Title: Re: Looking For Remote Programming Job
Post by: 440bx on September 09, 2020, 02:26:30 pm
I suggest that we work together to create a FPC/Delphi market.
The idea has merit but the Delphi (and consequently FPC) market has been dwindling down for quite a number of years.  It's difficult to see what can reverse that trend.

Small business clients rarely asks me what language I will be using. They don't know and they don't care, as long as the software improves their business.
That much is true but small businesses rarely pay top dollar for a custom application.  Larger businesses that do pay top dollar often, if not always, care a great deal about the language used to develop the application.
Title: Re: Looking For Remote Programming Job
Post by: lgrfbs on September 09, 2020, 02:35:06 pm
 
Small business clients rarely asks me what language I will be using. They don't know and they don't care, as long as the software improves their business.
That much is true but small businesses rarely pay top dollar for a custom application.  Larger businesses that do pay top dollar often, if not always, care a great deal about the language used to develop the application.

Now I get curious why would a larger company have the interest in requiring a specific programming language?
They will just use the end result in their business, or am I thinking "wrong" now?
Title: Re: Looking For Remote Programming Job
Post by: 440bx on September 09, 2020, 02:42:12 pm
Now I get curious why would a larger company have the interest in requiring a specific programming language?
They will just use the end result in their business, or am I thinking "wrong" now?
The reason is usually because they may contract out the initial development but, they anticipate eventually maintaining the application in-house.   IOW, they don't want to depend on the initial developer to be around every time he/she is needed.
Title: Re: Looking For Remote Programming Job
Post by: lgrfbs on September 09, 2020, 02:54:09 pm
It is so obvious, in retrospect, when someone has told you what it really looks like.
Thanks
Title: Re: Looking For Remote Programming Job
Post by: mateli on September 10, 2020, 05:44:48 pm
I suggest that we work together to create a FPC/Delphi market.
The idea has merit but the Delphi (and consequently FPC) market has been dwindling down for quite a number of years.  It's difficult to see what can reverse that trend.
I just outlined what can reverse that trend. We focus on a market where we can be successful.

Small business clients rarely asks me what language I will be using. They don't know and they don't care, as long as the software improves their business.
That much is true but small businesses rarely pay top dollar for a custom application.  Larger businesses that do pay top dollar often, if not always, care a great deal about the language used to develop the application.

I don't agree at all. Small businesses has a lot of money and there is also a lot more of them than there are big corporations. When you code for big corporations they usually demand to own the code so you cannot sell your application to more than one customer, which seriously limits your ability to profit from your work.

Some corporations may put a lot of money into development. That doesn't mean that the developer will make more money. Especially not if it requires you to spend more time writing it. Sure long term a project can cash in more than a smaller project but then it also blocks you from other projects during that time.

More importantly getting corporations to use Pascal is futile. They're inefficient and have a very slow moving decision process where decisions usually are made way above the head of people that are going to do the actual work.

In my case there are no corporations hiring att all where I live. I'm not going to move away from family and friends to get a job. So small businesses is my only option. That's what I as well as many others have as their only option for local jobs.
Title: Re: Looking For Remote Programming Job
Post by: 440bx on September 10, 2020, 06:38:09 pm
I just outlined what can reverse that trend. We focus on a market where we can be successful.
You provided an outline but, it remains to be proven that what you've outlined can reverse that trend.  There are quite a few markets out there and, Delphi/Pascal has been losing ground in probably all of them.


Small businesses has a lot of money and there is also a lot more of them than there are big corporations.
Small businesses have much more limited resources than big corporations.

When you code for big corporations they usually demand to own the code
which is quite reasonable since they paid for the developer's time and talent.

so you cannot sell your application to more than one customer, which seriously limits your ability to profit from your work.
Customized applications made for either, small businesses or big corporations, are rarely general enough to be sold on the open market.

Some corporations may put a lot of money into development.
More often than not, more money goes into on going maintenance than development.  That's one of the reasons they insist on whatever they commission from an independent programmer to be written in a particular language.

More importantly getting corporations to use Pascal is futile.
That's true and one of the reasons for that is that there is no standard version of Pascal available from multiple vendors.  Businesses, large or small, avoid vendor lock-in whenever they can.

I'd love to see Pascal grow in popularity but, the "ingredients" to make that happen are not happening.
Title: Re: Looking For Remote Programming Job
Post by: Thaddy on September 10, 2020, 07:34:30 pm
I can't offer a job, but, despite covid-19 etc, working from home should not be a problem. I have been partly doing that since 1995!
Prime example in our field: Marco Cantu works for Idera, but is located in Italy, not the USA,

From my point of view (as a former manager/CTO ) I like to have some real contact, so within reach if necessary every now and then.
But really, as long as approached professionally, distance does not matter and is in most cases beneficial to both employer and employee.
It is actually a bit bitter that a pandemic outbreak brings this to light.
In the Netherlands working from home part of the time - in our profession - is already good practice and established since a long, long time.

(I remember working on the beach, with laptops, in the heart of summer, in 1997! for PerfectView for which part of the coding was actually done in Russia, not the Netherlands. And without direct supervise apart from being available by either Internet or telephone)

IOW there's is a good chance you can succeed, although in England (not UK) employers do still have some tunnel vision.
Title: Re: Looking For Remote Programming Job
Post by: mateli on September 14, 2020, 02:08:16 pm
I just outlined what can reverse that trend. We focus on a market where we can be successful.
You provided an outline but, it remains to be proven that what you've outlined can reverse that trend.  There are quite a few markets out there and, Delphi/Pascal has been losing ground in probably all of them.
I proved that it can. As I myself is a small business owner my anecdotal evidence in itself is sufficient proof. That does not mean that it will. And no Pascal has not been losing ground in all markets. Delphi has but not Pascal. The embedded system have several commercial compilers that are still in active development by the providers that develop them. C is of course the dominant language in the embedded sector but that is not news. Also I will contest your last statement. Pascal has been gaining ground. This as a result of hitting rock bottom. I cannot see all the reasons why the interest in Pascal is increasing. An increased focus on embedded systems is of course important where many of the popular languages simply will not be an alternative. DOS development has also increased and I can find more information about DOS programming in Turbo Pascal being posted and viewed on YouTube than what I can find information on FPC/Delphi. This of course is because of a growing interest vintage systems and emulation.

And on the app/application market we do not really know what language applications are written in. Total Commander is the one popular app that I know is written in Pascal. At least the Windows version is, I do not know much about the Android version. But in general we download and in stall binary applications from app stores or from the Internet. And 99% of those are made by small businesses, not by large corporations. While much of the FireMonkey information on YouTube is about how to make mobile apps and games there are not any really good way to know what languages are popular. There are some sources saying that over 80% of all games are made in Unity which is what small businesses mostly use but I neither know the accuracy of that number nor what the other 20% use.

As for sectors where Turbo Pascal and Delphi would have been used we don't really know. Yes there are few job adds but that doesn't mean that all TP/Delphi developers are unemployed. It just means that the need for new developers do not require job ads. As for the small business segment we don't really know how many there are out there. I know a bunch of several small businesses including myself that still work with VB6 although this is becoming increasingly problematic for us as VB6 support is dwindling. Many of course migrated to VB.NET but there are still a lot of VB6 code out there.

The most significant data we have is the interest in Pascal/Delphi/Lazarus online and that has certainly been trending upwards. The existence of FPC/Lazarus itself being part of that upward trend. Personally I have been closely watching both Delphi and Pascal

Small businesses has a lot of money and there is also a lot more of them than there are big corporations.
Small businesses have much more limited resources than big corporations.
That is completely bogus. By definition A small business has more limited resources than A big corporation. Small businesses collectively have A LOT more resources than bit corporations. At least in all countries that has a relatively free market. Those resources are of course by the nature of small businesses a lot more fragmented. Which is the reason why this market is open to us. There is a very large amount of small business owners who independently decide how to spend their money.

When you code for big corporations they usually demand to own the code
which is quite reasonable since they paid for the developer's time and talent.
So? It still limits how much profit I as a developer can make out of the code that I write. The reason that corporations does this is irrelevant to the point that I were making.


so you cannot sell your application to more than one customer, which seriously limits your ability to profit from your work.
Customized applications made for either, small businesses or big corporations, are rarely general enough to be sold on the open market.
That is about 1/3 true.

1. Quite often you can make a generic product and have customers pay for enhancement. Wine/CrossOver is a well known product with this business model. Of course right now their main customer is Valve so they have climbed up to the point where large corporations pay them money, but they started out with money from end consumers and small businesses. There are certainly other examples of this but the point was to explain the business model.

2. Custom applications do not have to be 100% custom code. Delphi developers that frequently use common control and libraries should know this. The entire point of RAD is to have a lot of generic code that can easily be weaved into an application. And this is exactly where I suggested that we cooperate in order to be able to provide lower cost custom application to customers.

3. In the case we do code applications from scratch then of course you are right. But then we still use the generic component that is part of the language ecosystem that we use. Where C, C++, C# and Java wins because it has more and better generic components to use in an application. Yes C is a horrible language to develop with but the fact that you do not use "bindings" in C is why it dominates. Other languages has bindings to C libraries, not the other way around.

Some corporations may put a lot of money into development.
More often than not, more money goes into on going maintenance than development.  That's one of the reasons they insist on whatever they commission from an independent programmer to be written in a particular language.
Yeah. That is why they keep having headaches every time a new version of Windows or Office breaks their VBA scripts. Sure I have many times told others to use Java because of it's long term maintainability. But Pascal code as well is also very maintainable, at least a lot more maintainable than C and C++ that corporations insist on using a lot. Pascal is more consistent across platforms and across different compilers than C and C++ has been. Well at least a subset of it is.

However more important to Pascal developers the fact that this makes it harder for them to consider a new language. They might consider it for a completely new platform or for a component in an existing platform. But a 10 year old project is not going to switch form Java to Pascal.
[/quote]

More importantly getting corporations to use Pascal is futile.
That's true and one of the reasons for that is that there is no standard version of Pascal available from multiple vendors.  Businesses, large or small, avoid vendor lock-in whenever they can.
I disagree. As I am currently learning Pascal I am using multiple versions from multiple vendors. I am using primarily Turbo Pascal and Free Pascal but also several variants for embedded systems such as Turbo51. There is a standard and that is Turbo/Object Pascal. What I want is exactly to avoid vendor lock in which is why I do not limit my learning experience to a single vendor. What is standard and not is not entirely clear from any consistent documentation and that is of course a problem

As for runtime libraries well there we have less standardization. But for embedded systems that are true for most languages. C and C++ for embedded systems rarely implement the standard libraries of the official C and C++ standards. Instead you will rely heavily on inline assembly. And for PC development there the intersection of code that works on both FPC and Delphi is what I would consider a standard.

As for vendor lock ins then it should be quite clear that I personally go to great leanght to avoid them. However corporations quite clearly demonstrate that they doesn't. They use Visual C++ with proprietary Microsoft extensions as well as C# with proprietary Microsoft components. They write SQL code that ties in to SQL Server or Oracle. And they often use Java + Oracle databases in a way that is completely dependent on Oracle.

No the reason that it is futile to get them to use Pascal is that they consider it an outdated and dead language. Even if all the developers would be convinced that Pascal is a great language that would not change anything. Corporations are inefficient and decisions are made by people that doesn't really know. The people that decided to go with C/C++ and Java do they actually know the differences? No. They live in a bubble where the norm is that those languages are modern and good languages. And we do not get to speak with them which is the final reason why it is almost impossible to change their minds.

I'd love to see Pascal grow in popularity but, the "ingredients" to make that happen are not happening.
Well again I disagree. First of all the question that we are discussing is how to make money writing Pascal code. The language doesn't need to grow in popularity for this, it needs to grow in cash flow. And for that to happen we developers must become better at selling our code. And I will claim that the ingredients to make that happen are happening. It's just happening very slowly. This because that it is not a well coordinated effort behind making it happen.

C/C++/C# and Java vendors are all very good at coordinating such effort. C/C++ is an ISO standard and that alone requires a huge amount of coordination.

A top of that they wrote operating systems with C so all the standard API:s for interacting with the OS is C libraries. When it comes to system development what needs to happen is that wee need libraries that can measure up with C in order to compete. That would not necessarily be C bindings. However I can testify that C bindings were a major thing that held me back from diving into Pascal. As it is both C# and Java has way better support for stuff that requires C bindings such as Windows API, POSIX, OpenGL, OpenCL etc.

However in some cases I would argue against bindings and focus on functionality. For example the LCL is commonly bound to high level C API's. On Windows this means a thin layer above the Windows API which in many cases haven't changed much since Windows 3.X. However the Windows API is considered legacy by Microsoft who is promoting their Universal Windows Platform (UWP) Where Windows Presentation Foundation (WPF) is the standard. WPF in turn renders using DirectX. As far as I know neither FPC nor Delphi has support for the WPF. Visual C++, C# and other DotNET languages are required for this as there are no native APU for WPF. To compete with C# we either need support of WPF which is a huge vendor lock in or we need something equivalent. However as it stands the LCL on Windows can hardly compete with the VCL that has many third party components that doesn't match anything for the LCL.

Outside of Windows the LCL uses a subset of Gtk and Qt Which are both in resent version based on an OpenGL Scene graph engine. The problem here is that we do not have a fully compatible and consistent API between platforms except for the Qt backend which can also be used on Windows. However when using Qt then C and C++ are both superior languages because they have full access to the Qt API. And same goes for Gtk.

Seen from a standardization perspective we have the Delphi only VCL, The Lazarus only LCL and the Delphi only FireMonkey. So we have NO standardized GUI library. Currently I am working on command line and server applications so this doesn't really bother me yet. But when I do start writing UI code it will be using the bindings OpenGL and/or SDL because that is more standardized. More specifically I will use EGL plus OpenGL ES because this can run without X11 on Linux, and is the standard API for Wayland for this reason. It can also run directly on the Raspberry Pi framebuffer as well as on Android.

Why will I not just use Qt. Well Qt has gone partially closed source and when using embedded devices with direct frame-buffer rendering such as Raspberry Pi without X11 then I need to pay a licence fee for Qt and I do doubt that the current pascal bindings work with this.

So Instead I will go directly to the low level API which has the advantage that it is rather easy to create binding and also the perhaps more important advantage that it is rather stable over time. Once I have bindings for EGL and OpenGL 2.0 I do not need to change this because a new version comes around. OpenGL ES 3 does not change the 2.0 API:s but add to them and is a separate library. This of course means that for each UI component that I need I will need to implement it. There are already several different game UI:s that I am looking into for doing this. And in my opinion this is exactly what needs to happen for Pascal to become popular again. A modern portable user interface with minimal platform specific components. If I understand correctly this is somewhat happening in the Android backend for the LCL.

It is also possible that the best way for me to do that is to use one of the game engines that exists for Pascal but I have not spent any significant amount of time digging in to those.

So to be more specific about that. What I want and need is a standardized UI that works consistently in Delphi, Free Pascal, Windows, Linux, Unix and non-x86 hardware. The closest that I get to this is using Qt or Java. However Qt for embedded targets are closed source and Java while being consistent is very not optimized for performance. Swing is rather horrible to work with. This leaves Xamarin and FireMonkey as additional alternatives but I find them even less satisfying than Qt or Swing.

For server programming I am exploring the Mormot framework and it seems rather impressing. It works in many Delphi versions as well as FPC. I cannot yet give it a final judgment as I am still learning how it works. However this is an excellent example of the kind of thing that need to happen and also is happening. A standard component that works in most relevant implementations of Pascal.

So as for "not happening". Well that is not an unsolvable problem. We can make it happen.
Title: Re: Looking For Remote Programming Job
Post by: lgrfbs on September 14, 2020, 04:29:13 pm
What you write is very interesting, however, no one has contacted me regarding creating a program that I described in the post from July 10, 2020, 06:35:42 am.
Neither what it should cost nor any other question regarding that project.
Title: Re: Looking For Remote Programming Job
Post by: 440bx on September 14, 2020, 08:06:58 pm
So as for "not happening". Well that is not an unsolvable problem. We can make it happen.
Before anything, I am impressed with the thoroughness of your reply but...

The lack of a somewhat up-to-date Pascal standard shows that there isn't much interest in the Pascal language.  In addition to that, if Pascal was as alive as you believe, then GNU Pascal wouldn't be an abandoned project.

It's sad to say but, Pascal is far from being a popular language.  It is loved by some programmers (myself among them) but, not enough to really make a difference.  It has become a niche dialect-specific language.  If FPC was not, at least to some extent compatible with Delphi, I wonder how many programmers would use it.  Take Lazarus away and the number could probably be measured in the Kelvin scale.

Try to get a professional well paying job programming in Pascal, the number of such jobs is very small (in comparison to the top four (4) languages.)

As far as making Pascal a popular language again... miracles happen but... no one should be holding their breath waiting for that one to happen.  Pascal's second coming isn't what a lot of programmers are praying for.

Title: Re: Looking For Remote Programming Job
Post by: marcov on September 14, 2020, 09:36:00 pm
Try to get a professional well paying job programming in Pascal, the number of such jobs is very small (in comparison to the top four (4) languages.)

But the amount of people chasing just job is also much smaller. Contrary to e.g. Java job where you have to compete with every new graduate.

Quote
As far as making Pascal a popular language again... miracles happen but... no one should be holding their breath waiting for that one to happen.  Pascal's second coming isn't what a lot of programmers are praying for.

It not being a top 5 language doesn't mean it is entirely nothing either. This is all too black and white.
Title: Re: Looking For Remote Programming Job
Post by: 440bx on September 14, 2020, 09:54:23 pm
But the amount of people chasing just job is also much smaller. Contrary to e.g. Java job where you have to compete with every new graduate.
That's true but, I'd say the odds are better for a top-5 languages programmer to get a good job than for a Pascal programmer.


It not being a top 5 language doesn't mean it is entirely nothing either. This is all too black and white.
I agree that there are some Pascal programming jobs out there but, there are very few compared to jobs for other more popular languages.  Even a cursory search reveals quite a few more jobs for COBOL and FORTRAN programmers than Pascal.

In a programmer's repertoire of skills, Pascal is just a "nice to have" skill, not a primary asset.
Title: Re: Looking For Remote Programming Job
Post by: trev on September 15, 2020, 01:52:49 am
The FPC + Lazarus Wiki's In the News (https://wiki.freepascal.org/In_the_News) page has an interestng entry for September - Top 10 Programming Languages that Pay Handsome Salaries in 2020.
Title: Re: Looking For Remote Programming Job
Post by: PascalDragon on September 15, 2020, 09:25:42 am
I just outlined what can reverse that trend. We focus on a market where we can be successful.
You provided an outline but, it remains to be proven that what you've outlined can reverse that trend.  There are quite a few markets out there and, Delphi/Pascal has been losing ground in probably all of them.
I proved that it can. As I myself is a small business owner my anecdotal evidence in itself is sufficient proof. That does not mean that it will. And no Pascal has not been losing ground in all markets. Delphi has but not Pascal. The embedded system have several commercial compilers that are still in active development by the providers that develop them. C is of course the dominant language in the embedded sector but that is not news. Also I will contest your last statement. Pascal has been gaining ground. This as a result of hitting rock bottom. I cannot see all the reasons why the interest in Pascal is increasing. An increased focus on embedded systems is of course important where many of the popular languages simply will not be an alternative. DOS development has also increased and I can find more information about DOS programming in Turbo Pascal being posted and viewed on YouTube than what I can find information on FPC/Delphi. This of course is because of a growing interest vintage systems and emulation.

Good thing then that FPC's support for embedded development is improving more and more. Not only do we have AVR and ARM support, but trunk also contains support for RISC-V, Z80 and Xtensa (think ESP32/ESP8622). :D Of course the library support for embedded targets needs to be improved further, but there are projects like the Microcontroller Board Framework (https://github.com/michael-ring/mbf). :)

However in some cases I would argue against bindings and focus on functionality. For example the LCL is commonly bound to high level C API's. On Windows this means a thin layer above the Windows API which in many cases haven't changed much since Windows 3.X. However the Windows API is considered legacy by Microsoft who is promoting their Universal Windows Platform (UWP) Where Windows Presentation Foundation (WPF) is the standard. WPF in turn renders using DirectX. As far as I know neither FPC nor Delphi has support for the WPF. Visual C++, C# and other DotNET languages are required for this as there are no native APU for WPF. To compete with C# we either need support of WPF which is a huge vendor lock in or we need something equivalent. However as it stands the LCL on Windows can hardly compete with the VCL that has many third party components that doesn't match anything for the LCL.

We need existing third party components for Delphi to support the LCL. That isn't something that can come from the Lazarus developers, because either the components are commercial ones or the devs are already busy with developing the LCL.

Outside of Windows the LCL uses a subset of Gtk and Qt Which are both in resent version based on an OpenGL Scene graph engine. The problem here is that we do not have a fully compatible and consistent API between platforms except for the Qt backend which can also be used on Windows. However when using Qt then C and C++ are both superior languages because they have full access to the Qt API. And same goes for Gtk.

Gtk is developed in C, so accessing from Pascal it is much less a problem than accessing Qt which requires an interfacing library. Qt however plays much more nicely with Windows than Gtk.

Why will I not just use Qt. Well Qt has gone partially closed source and when using embedded devices with direct frame-buffer rendering such as Raspberry Pi without X11 then I need to pay a licence fee for Qt and I do doubt that the current pascal bindings work with this.

The user facing side of the Qt API is very stable. And it's nearly completely irrelevant what the backend is (that's only important if one needs rather specific things). I wouldn't be surprised if the bindings would just work.
Title: Re: Looking For Remote Programming Job
Post by: anyone on October 14, 2020, 10:11:17 pm
Not sure if this is the right thread to post (I try not to start new topic whenever possible).

I am also looking to work from home as programmer. I understand that this forum has no resources for me to acquire domain knowledge such as point-of-sale system. Regrettably, people in my country often ask for business software solution instead of file/system utilities, etc.

The fact is, people in my online community claim that web and mobile app development are the trends, and less and less people use native Windows app nowadays (I do not know about other OSes, though). Is this true?

As a coder with console and desktop app since early teens, I am not familiar with web app, although I had came across Symbian, EPOC  and Windows CE mobile app development before (which became obsoleted). No, I am not familiar with iOS and Android either. So this is my disadvantage.

I plan to use Free Pascal to write a business software (perhaps P.O.S front-end and a simple back-end) using Free Vision. While I have interest to do my own hobby project (such as a basic Win32 compiler), but hobby will not be generating income for me.

In your opinion, how many business owners are still running console-based business software? Does Free Pascal support socket programming (in case the program needs Internet connectivity)?

 
Title: Re: Looking For Remote Programming Job
Post by: valdir.marcos on October 15, 2020, 12:34:51 am
Not sure if this is the right thread to post (I try not to start new topic whenever possible).
This is the correct section, but it would be a better idea to open a new thread when searching for a job.

Quote
I am also looking to work from home as programmer.
I understand that this forum has no resources for me to acquire domain knowledge such as point-of-sale system.
Regrettably, people in my country often ask for business software solution instead of file/system utilities, etc.
Not sure.
Many people here know about point-of-sale systems and you could ask and find where is the information you need for you country.

Quote
The fact is, people in my online community claim that web and mobile app development are the trends, and less and less people use native Windows app nowadays (I do not know about other OSes, though). Is this true?
Unfortunately, yes, it is.
But it's not all bad news!
Workers 40+ are NOT the main target for mobile and web programming jobs for HR people, but they are very well accepted for desktop (banking, business, industrial and scientific) programming jobs.
Just consider that trend (web and mobile) jobs have more people interested and pay relatively less than desktop programming jobs. The latter simply pays more because it's neither easy to find experienced people nor cheap to train peolpe.

Quote
As a coder with console and desktop app since early teens, I am not familiar with web app, although I had came across Symbian, EPOC  and Windows CE mobile app development before (which became obsoleted). No, I am not familiar with iOS and Android either. So this is my disadvantage.
Be positive. Nobody knows everything. Your knowledge should be important to some companies.
Beyond that, everything you learn is important to yourself and to your curriculum.
So, my advice is keep searching for a new job and keep learning. Expand you horizons.

Quote
I plan to use Free Pascal to write a business software (perhaps P.O.S front-end and a simple back-end) using Free Vision.
Since you got here, why not learn Lazarus and also build some new GUI business software?  :)
Learning is fun!

Quote
While I have interest to do my own hobby project (such as a basic Win32 compiler), but hobby will not be generating income for me.
Having a hobby is always something positive.
Employers also might have interest in your hobbies.

Quote
In your opinion, how many business owners are still running console-based business software?
I only know a very few of them here in Brazil. Usually those owners can't afford or don't want to buy new hardware or can't change old hardware (industry). It's really a niche!

Quote
Does Free Pascal support socket programming (in case the program needs Internet connectivity)?
Yes.
Title: Re: Looking For Remote Programming Job
Post by: egsuh on October 15, 2020, 04:09:08 am
I hope more web applications are developed in Delphi or Free Pascal. I have not used other languages other than Pascal except a small amount of Basic and node.js, so not in a position to evaluate languages for any purpose including web-applicatoin developments. But I can use the same module both on Windows application and web server application, and I have written my own expression parsing and evaluation module encompassing my own data types --- like integer set including all range of integers (actually they are array of ranges) --- which seems rather difficult to write with other script based interpreger-like languages.  And I wrote the expression parsing (and evaluation) module about 25 years ago, and applied it for many applications. 
Pascal wouldn't have any merits in just showing static documents. But it may be advantageous over other languages in cases where rather complex calculations are required. Much of display control in browsers are done by HTML or CSS.
As I told, I'm not widely experienced with programming. But webserver could be an area where pascal-based languages are applied wider than now.
Title: Re: Looking For Remote Programming Job
Post by: anyone on October 15, 2020, 10:02:39 pm
(snipped)

Thank you for your thorough answers given in your replies. I really enjoyed reading your comment.

It is a relief to know that coders aged above 40 are still acceptable to develop desktop apps.

Title: Re: Looking For Remote Programming Job
Post by: darksoft on October 16, 2020, 02:40:16 pm
(snipped)

Thank you for your thorough answers given in your replies. I really enjoyed reading your comment.

It is a relief to know that coders aged above 40 are still acceptable to develop desktop apps.

I'm 55 and coding desktop apps...
Title: Re: Looking For Remote Programming Job
Post by: MemAvail on December 26, 2023, 05:25:36 pm
Howdy, folks.

I need a career advice.

My background:

For the last 11+ years I've been working as a Java developer, mostly backend - rests and microservices. For the last 3-4 years management tried to push frontend tasks, which I've learned to hate with passion. Now, at the end of this summer, the company terminated two hundred workers, including myself.
Software development job market around here is not in a good shape right now. Also I've lost a couple of months due to personal reasons and overall situation in my country didn't help either.
I never wanna touch frontend again in my life, and I've been looking at Pascal and Delphi for the last couple of years as a source of inspiration, although I never managed to do anything significant with it while I was busy. Also the Pascal nostalgia is a big factor for me.
During the next couple of months I need to push my job searching efforts to the max. What kind of certification, or other learning format (maybe just straight Leetcode grind?) would you recommend to get prepared for the interviews/toolchains/positions which will help me to stay away from the frontend ? I personally gravitate towards Pascal, Delphi, C#, even Cobol - if I have to master something new at this point. Java around here (somehow) is always just a frontend appendix...
Title: Re: Looking For Remote Programming Job
Post by: 440bx on December 26, 2023, 09:16:55 pm
You didn't mention in which country you reside, that is quite likely a significant factor in the job market make up.

What caught my attention is that you mention you are willing to program in COBOL, if that is the case and, you don't mind a "big iron" type of environment (usually IBM mainframe) then, while the demand is not as high as for other languages, there is a whole lot less competition (and programmer availability), this means, odds are reasonably good that you can get a well paid job fairly quickly.

If you go that route, one crucial thing to keep in mind is that likely over 99% of the work will be existing code maintenance.  If you don't like maintaining code, COBOL is likely not a good choice. Also, you'll need to have at least some idea of the various databases and indexed file methods that are commonly/accessed in COBOL (among other things... you need to be, at least, somewhat familiar with the environment.)

The job market for Pascal/Delphi is usually small and there are usually many experienced programmers interested in those few jobs, that could be a problem for you, particularly given that, based on what you said, your experience seems to be a bit "dated".

if you don't mind learning .net (if you don't know it already) then C# may be a reasonable possibility.  Can't offer any useful comments in that area because I've never used C# in anything that remotely resembles a professional environment.  That said, since it is currently a popular language, you may want to have a close look at what opportunities it offers.

HTH and best of luck to you.

Title: Re: Looking For Remote Programming Job
Post by: MemAvail on December 27, 2023, 11:13:10 am
Thanks alot for the feedback, mate.

I live in one of the two countries that "makes the news" nowadays.

You didn't mention in which country you reside, that is quite likely a significant factor in the job market make up.

What caught my attention is that you mention you are willing to program in COBOL, if that is the case and, you don't mind a "big iron" type of environment (usually IBM mainframe) then, while the demand is not as high as for other languages, there is a whole lot less competition (and programmer availability), this means, odds are reasonably good that you can get a well paid job fairly quickly.

If you go that route, one crucial thing to keep in mind is that likely over 99% of the work will be existing code maintenance.  If you don't like maintaining code, COBOL is likely not a good choice. Also, you'll need to have at least some idea of the various databases and indexed file methods that are commonly/accessed in COBOL (among other things... you need to be, at least, somewhat familiar with the environment.)

The job market for Pascal/Delphi is usually small and there are usually many experienced programmers interested in those few jobs, that could be a problem for you, particularly given that, based on what you said, your experience seems to be a bit "dated".

if you don't mind learning .net (if you don't know it already) then C# may be a reasonable possibility.  Can't offer any useful comments in that area because I've never used C# in anything that remotely resembles a professional environment.  That said, since it is currently a popular language, you may want to have a close look at what opportunities it offers.

HTH and best of luck to you.
Title: Re: Looking For Remote Programming Job
Post by: cpalx on January 05, 2024, 12:36:18 pm
Look this

https://infinitus.pe

I made a core banking software in Lazarus
Title: Re: Looking For Remote Programming Job
Post by: Thaddy on January 05, 2024, 01:11:55 pm
I missed a remark by Marcov in this very old thread:
My reply is that if a "programmer" is restricted to one language he or she is not a professional programmer. Period. Professionals should not have much issues switching between languages. Bur what is true is that they are often confused by the breadth and depth of libraries, not syntax. It is most of the time that libraries have no exact match between programming languages. Syntax as such should be no issue for a real programmer.
I have a tip: make sure you are proficient in COBOL if you want to get rich... That is still (2024) the case. (I can still get easily $200+ an hour and get approached many - 4-8 - times a year, even if they know I recently retired). This will be the case for the forseable future. Locations London, Amsterdam, Frankfurt, Brussels and it helps if you know about banking and mainframes. Some run COBOL even on modern hardware.
COBOL is defnitely not top 5...Same goes for Pascal: it is a niche but there is too many live code still used since the late 90's early 2000's. That is where the money is.
TinyPortal © 2005-2018