• Our booking engine at tickets.railforums.co.uk (powered by TrainSplit) helps support the running of the forum with every ticket purchase! Find out more and ask any questions/give us feedback in this thread!

Calling any software developers

Status
Not open for further replies.

yorkie

Forum Staff
Staff Member
Administrator
Joined
6 Jun 2005
Messages
67,429
Location
Yorkshire
Hi all,

Just wondering who on this forum is a software developer? Feel free to use this thread to introduce yourself and say what languages you work with if you like :)

Also if anyone is interested in learning about the electronic rail fares data, you are welcome to put your forum username onto this Doodle https://doodle.com/poll/kayfxrgfq45bufep and we will set a date soon for a free fares data workshop :)

And finally I am aware that there are job opportunities coming up for software developers to work on rail related projects, so if anyone may be interested, feel free to let me know (you can contact me via direct message if you like) and I will point you in the right direction. For example, a year ago Trainsplit successfully used this forum to recruit for a programming role and I am aware of an opportunity coming up for a Senior .NET programmer to work with a rail fare booking engine provider.
 
Sponsor Post - registered members do not see these adverts; click here to register, or click here to log in
R

RailUK Forums

Adam Williams

Established Member
Joined
2 Jan 2018
Messages
1,702
Location
Warks
I'll start this off :)

I work as a software contractor. Right now I'm doing HE work and some projects for @SickyNicky. Prior to that I was doing application security assessments at at an infosec consultancy. Security is still an interest of mine.

I enjoy working in C# more than I do Java, Scala and ES6 but I end up doing a mixture of these plus the usual frontend stuff. I'm a big Linux fan (GNU/Linux if you're a pedant) and do the entirety of my work with Ubuntu and/or Debian.
 

JonathanP

Member
Joined
1 Aug 2008
Messages
317
Location
Berlin, Germany
I work for a small division of a large engineering company, and my job is try to to apply technology developed for self driving cars to the rail domain. Previously I worked on various different things, in the automotive and finance industries, so I was very pleased to be able to able to combine my hobby and profession.

The work I do is on prototypes. I would quite like to move more towards making production systems. However, from what I can tell(and I would be interesting to get any more insights), when it comes to hardcore safety critical systems, the development work is divided into two parts. There are developers who develop abstract frameworks to execute rules in a safety critical way, and then other developers who 'code' using graphical tools the actual desired functionality for the traction control system/interlocking etc.. So I suspect that unless I want to either lose contact with the practical railway side, or make a one way dive into a specialist career designing interlocking rules etc., I am probably in the best place I can be.

Working for a big, old, engineering company is not like working for a tech company where the developers are the stars of the show. They have spent many decades focusing on selling hardware, and the management usually can't quite get their heads around the idea that quality hardware is useless these days unless you have quality software to go with it, and that in many cases it is the capabilities of the software that will sell the product, not the hardware. Within such organisations software developers are mostly viewed as technicians, similar in status to welders or painters but a little more senior. I am somehow not surprised when I hear how much trouble Bombardier is having with their software!
 

DynamicSpirit

Established Member
Joined
12 Apr 2012
Messages
8,024
Location
SE London
I'm a self-employed software developer. Most of my experience is developing desktop applications in Windows, with C# and occasionally C++. I also do a fair amount of online training courses in C#.

In terms of rail/public transport... I'm quite interested in open rail data and seeing what can be done with it. Spent quite a bit of time a few years ago deciphering the CIF files of the national rail timetables that ATOC make available. But realistically at the moment, I'm too busy with other stuff to do as much with it as I'd ideally like to.
 

rratgerg

Member
Joined
21 Feb 2008
Messages
20
I now own a small software development company. I am happy to work on small projects for users of this forum or larger companies such as TrainSplit. I regret to say that I cannot do anything for free right at the moment, as I am starting up and need the funding. Hopefully when things settle down a bit I can offer more of my time without charging.
 

tony_mac

Established Member
Joined
25 Feb 2009
Messages
3,626
Location
Liverpool
I was once a games programmer (in the 90s), now mostly writing scientific software.
Languages include C/C++, C#, Java, JavaScript, Python, VBscript (don't ask!), PHP, R - and that's just this week! (not even a joke).
I'm quite fond of writing in lower-level languages, as you keep better control of what is actually happening - implicit type conversions can hide all sorts of nastiness that can bite you later on.
Having said that, you do quickly get used to just importing a library every time you want to do something new!

I do have some time to work on rail related stuff, if there's anything reasonably small - I've reduced my working hours so that I have some time free to do other stuff!
 
Last edited:

Mag_seven

Forum Staff
Staff Member
Global Moderator
Joined
1 Sep 2014
Messages
9,993
Location
here to eternity
In my early career (mid/late 80s) I developed some software for internal users at the company I worked for at the time. I used such programming languages as "FORTRAN", "BASIC" and the programming language that accompanied "dBase". I suspect these programming languages are now extinct!

I wouldn't know where to start with todays programming languages! :D
 

radamfi

Established Member
Joined
29 Oct 2009
Messages
9,267
In my early career (mid/late 80s) I developed some software for internal users at the company I worked for at the time. I used such programming languages as "FORTRAN", "BASIC" and the programming language that accompanied "dBase". I suspect these programming languages are now extinct!

I wouldn't know where to start with todays programming languages! :D

A lot of people who were children in the early 80s learned BASIC as that was the supplied language on home computers during the home computer craze. Visual Basic evolved from that and VBA (Visual Basic for Applications) is the language used to automate Microsoft Office, particularly Excel. So you would probably find VBA quite easy to pick up.

dBase, FoxPro and Clipper were variants of the same language collectively known as "xBase". FoxPro became the dominant version in the 90s which evolved into Visual FoxPro. Unfortunately, Visual FoxPro was not well received, meaning that users ended up resorting to other database applications or to Visual Basic.
 

Crossover

Established Member
Joined
4 Jun 2009
Messages
9,246
Location
Yorkshire
I used such programming languages as "FORTRAN", "BASIC" and the programming language that accompanied "dBase". I suspect these programming languages are now extinct!

I work with a package (thankfully I don't have to code it) that is developed in COBOL - I think thats about as old as the ark!

FoxPro became the dominant version in the 90s which evolved into Visual FoxPro. Unfortunately, Visual FoxPro was not well received, meaning that users ended up resorting to other database applications or to Visual Basic.

Likewise I work with a VFP solution too
 

JonathanP

Member
Joined
1 Aug 2008
Messages
317
Location
Berlin, Germany
FORTRAN is still widely used today in scientific circles(at my university, all physics students were required to learn it), and plenty of companies have legacy FORTRAN code too. Unlike BASIC or xBase implementations, which are usally proprietary walled gardens, FORTRAN is an ordinary compiled language, so it can relatively easily coexist and interact with code written in more modern compiled languages like C++, within a single program.
 

433N

Guest
Joined
20 Jun 2017
Messages
752
Whilst it hasn't been my bread and butter for a long time, I cut my teeth on Basic/Fortran and migrated to becoming a professional software developer in C++ for a while before moving on to something not software development related.

Now later in life, I would really like to be getting back into it as I enjoy the intellectual challenge and would really like to go back to doing it professionally. In the spirit of learning something new, I'm upskilling by seriously learning Java and have set myself the goal of passing the Oracle certification examinations. I get the feeling that programming these days is 90% about learning the API/libraries (it might have always been).

I'm not sure Java is the best language to learn jobwise but I have the impression it is a bit more rigorous and powerful than python or javascript and I can't bring myself to commit to C# / .NET as they are tainted by association with Microsoft.
 

krus_aragon

Established Member
Joined
10 Jun 2009
Messages
6,042
Location
North Wales
I'm more of one for poking the innards of computers than programming them these days.

I've done some time working with the likes of C, Java, and Perl. These days I'm more likely to be working with Matlab simulations or mucking about with BASIC and 6502 assembler in my spare time.
 

Adam Williams

Established Member
Joined
2 Jan 2018
Messages
1,702
Location
Warks
I can offer more of my time without charging.

I'd suggest you don't do this unless it's e.g. open source software you're contributing to (and you're happy to work on it to improve the project) or you're doing work for a charity or something. Your time is valuable and you shouldn't feel bad about charging for it if you do a commercial project :)

I work for a small division of a large engineering company, and my job is try to to apply technology developed for self driving cars to the rail domain.

This sounds really cool, what sort of prototyping work do you do out of interest? What technologies/tools are involved?

Within such organisations software developers are mostly viewed as technicians, similar in status to welders or painters but a little more senior. I am somehow not surprised when I hear how much trouble Bombardier is having with their software!

Sounds familiar :rolleyes: I've come across this attitude at a few large organisations.. where developers are just thought of as "code monkeys".

I'm not sure Java is the best language to learn jobwise but I have the impression it is a bit more rigorous and powerful than python or javascript and I can't bring myself to commit to C# / .NET as they are tainted by association with Microsoft.


I think you could do much worse! I still do a lot of J2EE/Spring work, and Java itself is in my opinion a good language to learn to pick up object oriented programming skills that are equally applicable to C#.

Completely understand your wariness with Microsoft. I think they've improved in the last few years, open sourcing the CLR, .NET Core, making things work cross-platform and a bunch of other tools but in the back of my mind I'll always be a bit distrustful.
 
Last edited:

takno

Established Member
Joined
9 Jul 2016
Messages
5,037
Whilst it hasn't been my bread and butter for a long time, I cut my teeth on Basic/Fortran and migrated to becoming a professional software developer in C++ for a while before moving on to something not software development related.

Now later in life, I would really like to be getting back into it as I enjoy the intellectual challenge and would really like to go back to doing it professionally. In the spirit of learning something new, I'm upskilling by seriously learning Java and have set myself the goal of passing the Oracle certification examinations. I get the feeling that programming these days is 90% about learning the API/libraries (it might have always been).

I'm not sure Java is the best language to learn jobwise but I have the impression it is a bit more rigorous and powerful than python or javascript and I can't bring myself to commit to C# / .NET as they are tainted by association with Microsoft.
Job-wise it can vary a lot by area - if you live near a big employer that uses Java extensively then it will be more useful than in other areas. I'm not sure I'd go to a lot of trouble to do the Oracle certs - certainly I don't pay a lot of heed to them, although other employers may do.

Java is a powerful language running on a decent VM which can be turned to large number of purposes. If you can find an employer that is seriously using Java 11 then a lot of the missing features which were making it feel a bit dated 3 or 4 years ago have been filled in. Whilst initiatives like Adopt-OpenJDK have made sure Java stays relatively open and free, if you are concerned about Microsoft you should probably also be concerned about Oracle who still retain a huge amount of control over the platform and sometimes try to do fairly unpalatable things to make it pay.

I wouldn't just write off C#/.NET though. Microsoft aren't the evil empire they were 5 years ago either, and C# is a very capable language running on a very capable and quite open platform. As everything is moving towards Core you really don't even need to deploy to Windows anymore. That said, the majority of likely employers will still be Microsoft shops developing on Windows and usually for Windows, even if the servers themselves are increasingly in Azure.

Javascript isn't a weak language in itself. Using Typescript rather than raw javascript makes it a fairly pleasant language to code in. If you are in the web sphere anyway then using a shared language and tooling makes Node on the server a credible option to look at (although personally I dislike almost everything about it).

Python is also great in areas like data science and scientific coding, where apparently non-programmers find it easy to learn and there are a wealth of relevant libraries which allow you to put something performant together relatively quickly. For more general purposes you might find writing a lot of pure Python a bit unperformant, and many of the benefits it had in terms of nice code structures have been caught up with and exceeded by other languages. It is definitely a useful and potentially powerful language though.
 

takno

Established Member
Joined
9 Jul 2016
Messages
5,037
I mostly work in IT management at the moment, although I have 10 years of commercial and open source work programming in my past, using Java, Javascript, Typescript, VB, PHP, Elixir, C and Python. I wrote most of the code for Traksy (which is a mixture of Typescript on the front-end and Java on the servers).

I am always happy to hear about projects people are looking to run commercially in the rail sector. I can help with getting a team set up and running, as well as with the more nuts and bolts analysis, coding and architecture work.
 

Roast Veg

Established Member
Joined
28 Oct 2016
Messages
2,200
I am a professional software developer and open source contributor, currently a web developer but looking to move to embedded systems in the future. Let me know if there's a TCMS job going!
 

433N

Guest
Joined
20 Jun 2017
Messages
752
@Adam Williams & @takno

Many thanks for the info ... always happy to hear what people in the know say about what is out there. To be honest, I settled on java because (a) I did a brief search in my local area and java programmers marginally edged it over python and (b) there is accreditation which I feel I could benefit from since I'm a bit thin on the ground with references having been self employed and (c) it was in the top 5 of languages in demand in UK in one of the computer mags. Anyway, I'm concetrating on learning at the mo ; I'll be concentrating on blagging it into gainful IT employment at some point.
 

radamfi

Established Member
Joined
29 Oct 2009
Messages
9,267
Python is also great in areas like data science and scientific coding, where apparently non-programmers find it easy to learn and there are a wealth of relevant libraries which allow you to put something performant together relatively quickly. For more general purposes you might find writing a lot of pure Python a bit unperformant, and many of the benefits it had in terms of nice code structures have been caught up with and exceeded by other languages. It is definitely a useful and potentially powerful language though.

In my office, we aren't really proper programmers. We use programming languages as a tool to help in our day-to-day work, mostly for data processing, mostly VBA and Python. Older guys like me seem to find VBA easier (probably because we grew up with BASIC on home computers) but recent graduates are quite baffled by VBA and find Python more logical. I'm trying to learn Python as I can see it is far more efficient than VBA.

From what I understand, the real power from Python comes from libraries such as Pandas, and it seems rare to be using pure Python.

We use Windows batch files (i.e. "DOS") a lot as well.
 

Roast Veg

Established Member
Joined
28 Oct 2016
Messages
2,200
From what I understand, the real power from Python comes from libraries such as Pandas, and it seems rare to be using pure Python.
Python has one of the most feature-filled standard libraries of any of the popular languages going, but its capacity to handle big data with packages is renowned as you say.
 

Struner

Member
Joined
13 Dec 2018
Messages
767
Location
Ommelanden, EU
Pensioned off now, brought up on Algol & Fortran. :D We don’t know what the language of the future will look like, but we do know it’s name: Fortran! :E
 

Crossover

Established Member
Joined
4 Jun 2009
Messages
9,246
Location
Yorkshire
Whilst initiatives like Adopt-OpenJDK have made sure Java stays relatively open and free, if you are concerned about Microsoft you should probably also be concerned about Oracle who still retain a huge amount of control over the platform and sometimes try to do fairly unpalatable things to make it pay.

Unless I am missing something about how Java is used, I think it is Oracle Java which is now licenced for commercial use (even for simply using it to run an applet that we have to use to manage a SAN (Storage Area Network)
 

JonathanP

Member
Joined
1 Aug 2008
Messages
317
Location
Berlin, Germany
This sounds really cool, what sort of prototyping work do you do out of interest? What technologies/tools are involved?

Mainly mounting sensors onto rail vehicles, and experimenting with systems that predict potential collisions by determining the current location and possible future routes of the vehicle, and tracking objects/detecting obstacles in the environment. We use a lot of standard robotics toolkits, for instance Google Cartographer, or PCL, and mainly C++.

Other things you can do include recognising signal aspects and the track layout using cameras. For demonstration purposes it's nice to have a vehicle which can drive around and 'see' the signals; however, realistically there is no commercial future for this in a world where ETCS can transmit this information directly to the vehicle.
 

takno

Established Member
Joined
9 Jul 2016
Messages
5,037
Unless I am missing something about how Java is used, I think it is Oracle Java which is now licenced for commercial use (even for simply using it to run an applet that we have to use to manage a SAN (Storage Area Network)
This is off-topic so tl;dr is that Oracle charge for support but there are alternative free support options available.

Applets are pretty legacy at this stage, and have been the source of probably 99% of any security issues on the java platform - I'm vaguely surprised anybody's supporting them at all, money or not.

Essentially the way Java works now is that a new version gets released every six months, with a version every two years denoted as long term support, like Ubuntu. Unlike Ubuntu, OpenJDK (the Oracle-owned org that manages the language) don't actually provide updates for the LTS versions. You can pay Oracle handsomely for longer term support for their releases, which are now virtually identical to the open source ones. Since the releases are open-source however, other orgs have also been able to step in and provide patches and updates for the LTS versions, including adopt-openJDK who provide them for free.

This is a better situation for everybody, and roughly appears tobe what Oracle wanted - they've shed a lot of costs and long term responsibility for historical versions, the language can move faster, and ultimately more people are paying them for support. The worry is always there though that Oracle have a long term reputation for being somewhat hard-nosed and legalistic, and they still own things like trademarks. So it's not 100% clear what happens next
 

Adam Williams

Established Member
Joined
2 Jan 2018
Messages
1,702
Location
Warks
Applets are pretty legacy at this stage, and have been the source of probably 99% of any security issues on the java platform - I'm vaguely surprised anybody's supporting them at all, money or not.

Do any browsers even support them anymore? Maybe IE? :P I know recent versions of Firefox and Chrome don't..

I'm a self-employed software developer. Most of my experience is developing desktop applications in Windows, with C# and occasionally C++.

Are you a WinForms person, or WPF? I suppose UWP is also a thing now, but I've not seen much adoption of it!
 

DynamicSpirit

Established Member
Joined
12 Apr 2012
Messages
8,024
Location
SE London
Are you a WinForms person, or WPF? I suppose UWP is also a thing now, but I've not seen much adoption of it!

I tend to do both. WPF for anything new I'm writing (unless it's a completely trivial app, in which case I might use Windows Forms). But I have a fair amount of old Windows Forms apps I work on. Although I have to admit I don't really think that much of either technology. Never so far been tempted to try UWP.
 

najaB

Veteran Member
Joined
28 Aug 2011
Messages
30,690
Location
Scotland
Javascript isn't a weak language in itself. Using Typescript rather than raw javascript makes it a fairly pleasant language to code in. If you are in the web sphere anyway then using a shared language and tooling makes Node on the server a credible option to look at (although personally I dislike almost everything about it).
Oi! Leave JavaScript alone. It's a perfectly good language, and at least it's not Java!

I've never worked as a software developer but I used to teach Pascal, C and some C++ at first-year university level. These days I mainly mess around with PHP and JavaScript.
 

takno

Established Member
Joined
9 Jul 2016
Messages
5,037
Oi! Leave JavaScript alone. It's a perfectly good language, and at least it's not Java!

I've never worked as a software developer but I used to teach Pascal, C and some C++ at first-year university level. These days I mainly mess around with PHP and JavaScript.
Nothing wrong with the language, although it does allow some truly horrible ways of doing things, which some people have then elevated to the "right" way of coding. Typescript definitely makes writing JS a nicer experience though, and makes mistakes a lot easier to avoid.
 

jmh59

Member
Joined
7 May 2018
Messages
90
Location
Leeds
My first programming was in machine code - not even assembler code but hard coding byte by byte using switch programmers to code into EPROMS! Mind you that was in the late 1970's and I soon progressed to assembler code, then pascal on CP/M, all on what were then new fangled 8-bit microprocessors, the PC still way off. It does give one a rather jaundiced view of todays bloatware when my first machine control program was switch coded onto EPROM running on an 8080 microprocessor system I built from components using wire-wrap construction to my own design and controlling an analytical x-ray diffractometer.

I've done the usual Fortran and Algol 60, also Algol 68 and a certain variant thereof. Never really did much in C or its variants... PHP these days, not learned Python yet. But I'm retired so any programming now is just fiddling about manipulating datasets or doing machine control / automation for fun. I actually have a certificate in COBOL programming from the early 1980s - which helped when I was put in charge of our management IT facilities as everything was COBOL and they assumed I'd no idea what it was. I was never really a software developer either (*) - I was just very good at writing code to glue disparate systems and data sources together. Did ASP and didn't like it, never progressed to ASP.NET, consider Microsoft products to be the embodiment of evil designed only to ensure one must continually buy faster and more expanded hardware in order to keep up.

(* well ok I did develop a package way back when that used train performance data to help plan new stations - no idea if it was ever used in anger - and another that used water quality data to help plan new sewerage works which used quite massive datasets for back then, peanuts these days)
 

najaB

Veteran Member
Joined
28 Aug 2011
Messages
30,690
Location
Scotland
My first programming was in machine code - not even assembler code but hard coding byte by byte using switch programmers to code into EPROMS!
Respect. The closest I have come to that was writing a simple "Hello, world." type program in 8086 machine code during a particularly boring software engineering lecture (we had a lecturer who basically read the text).
 
Status
Not open for further replies.

Top