Calling any software developers

Discussion in 'General Discussion' started by yorkie, 21 Aug 2019.

  1. yorkie

    yorkie Administrator Staff Member Administrator

    Messages:
    43,697
    Joined:
    6 Jun 2005
    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.
     
  2. Registered users do not see these banners - join or log in today!

    Rail Forums

     
  3. Adam Williams

    Adam Williams Member

    Messages:
    49
    Joined:
    2 Jan 2018
    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.
     
  4. JonathanP

    JonathanP Member

    Messages:
    173
    Joined:
    1 Aug 2008
    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!
     
  5. DynamicSpirit

    DynamicSpirit Established Member

    Messages:
    3,937
    Joined:
    12 Apr 2012
    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.
     
  6. rratgerg

    rratgerg Member

    Messages:
    20
    Joined:
    21 Feb 2008
    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.
     
  7. tony_mac

    tony_mac Established Member

    Messages:
    3,593
    Joined:
    25 Feb 2009
    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: 21 Aug 2019
  8. Mag_seven

    Mag_seven Established Member

    Messages:
    5,081
    Joined:
    1 Sep 2014
    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
     
  9. radamfi

    radamfi Established Member

    Messages:
    8,445
    Joined:
    29 Oct 2009
    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.
     
  10. Mag_seven

    Mag_seven Established Member

    Messages:
    5,081
    Joined:
    1 Sep 2014
    Location:
    here to eternity
    Oh I forgot about "Clipper" - used that as well!
     
  11. Crossover

    Crossover Established Member

    Messages:
    7,826
    Joined:
    4 Jun 2009
    Location:
    Yorkshire
    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!

    Likewise I work with a VFP solution too
     
  12. JonathanP

    JonathanP Member

    Messages:
    173
    Joined:
    1 Aug 2008
    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.
     
  13. 433N

    433N Member

    Messages:
    526
    Joined:
    20 Jun 2017
    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.
     
  14. krus_aragon

    krus_aragon Established Member

    Messages:
    4,856
    Joined:
    10 Jun 2009
    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.
     
  15. Adam Williams

    Adam Williams Member

    Messages:
    49
    Joined:
    2 Jan 2018
    Location:
    Warks
    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 :)

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

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


    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: 22 Aug 2019
  16. takno

    takno Established Member

    Messages:
    1,614
    Joined:
    9 Jul 2016
    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.
     
  17. takno

    takno Established Member

    Messages:
    1,614
    Joined:
    9 Jul 2016
    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.
     
  18. Roast Veg

    Roast Veg Member

    Messages:
    712
    Joined:
    28 Oct 2016
    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!
     
  19. 433N

    433N Member

    Messages:
    526
    Joined:
    20 Jun 2017
    @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.
     
  20. radamfi

    radamfi Established Member

    Messages:
    8,445
    Joined:
    29 Oct 2009
    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.
     
  21. Roast Veg

    Roast Veg Member

    Messages:
    712
    Joined:
    28 Oct 2016
    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.
     
  22. Struner

    Struner Member

    Messages:
    407
    Joined:
    13 Dec 2018
    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
     
  23. Crossover

    Crossover Established Member

    Messages:
    7,826
    Joined:
    4 Jun 2009
    Location:
    Yorkshire
    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)
     
  24. JonathanP

    JonathanP Member

    Messages:
    173
    Joined:
    1 Aug 2008
    Location:
    Berlin, Germany
    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.
     
  25. takno

    takno Established Member

    Messages:
    1,614
    Joined:
    9 Jul 2016
    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
     
  26. Adam Williams

    Adam Williams Member

    Messages:
    49
    Joined:
    2 Jan 2018
    Location:
    Warks
    Do any browsers even support them anymore? Maybe IE? :P I know recent versions of Firefox and Chrome don't..

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

    DynamicSpirit Established Member

    Messages:
    3,937
    Joined:
    12 Apr 2012
    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.
     
  28. najaB

    najaB Veteran Member

    Messages:
    20,157
    Joined:
    28 Aug 2011
    Location:
    Scotland
    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.
     
  29. takno

    takno Established Member

    Messages:
    1,614
    Joined:
    9 Jul 2016
    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.
     
  30. jmh59

    jmh59 Member

    Messages:
    35
    Joined:
    7 May 2018
    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)
     
  31. najaB

    najaB Veteran Member

    Messages:
    20,157
    Joined:
    28 Aug 2011
    Location:
    Scotland
    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).
     

Share This Page