Just wondering to understand how it works. My boss told me to team with other 2 programmers (from another company) to create a project. Basically it's an sql database on a server (linux, apache) that has to be filled using an android tablet. Of course I've proposed to implement a little REST service using some php pages and json (and the rest client of delphi).

Just wondering to understand how it works. My boss told me to team with other 2 programmers (from another company) to create a project. Basically it's an sql database on a server (linux, apache) that has to be filled using an android tablet. Of course I've proposed to implement a little REST service using some php pages and json (and the rest client of delphi).

The asked me: what is json? what is REST? how do you use php and apache redirect to store the data? They wanted instead to create csv files, download/parse them, create connections, ports, upload ftp and other incredible stuff (??). Maybe I am too young (24 yr) but they have almost 20 years of experience! How can they not know about this stuff?

This was just an example. I've met people that didn't even know about PHP or INI files. Of course I have to adapt when I work with others but does this happen to you too? I mean, maybe they are too lazy to learn new things, but their solutions aren't scalable, efficient or whatever. Also there is a programmer that is asking me if it's possible to communicate server-client with docx files...

Comments

  1. Are you the team lead?

    Rather than enforcing specific technologies, may I suggest an approach of applying particular requirements? For example: security requirements (knocks out FTP); maintenance and use of robust libraries (knocks out creating connections, parsing CSV, etc in favour of using FireDAC or REST); and so forth. Structure the requirements to be modern, maintainable, best practice. (You may also want to speak about business needs, ie what the benefits and risk to the business are (eg FTP: security, legal liability, inability to use a third party host. Maintenance: future work - ie cost - required?))

    The technology used to implement it will follow, and if they aren't familiar with it, you've motivated them to learn, rather than expressing frustration at them that they don't know it.

    ReplyDelete
  2. No I'm not team lead, I just have to help with a part the project. The thing I am a bit surprised is that there is still a lot of people that doesn't know about these new technologies (like json, rest for example). I understand that they have been doing stuff like that (with csv, ftp and everything) for years but the times have changed!

    Anyway thank you for your suggestions, I understand what you mean I guess :) I'll try with that approach for sure

    ReplyDelete
  3. Alberto Miola I probably qualify as "old" to you and I don't think it is typical for those of us who keep up to date not to know of the technologies that you mention. I am sure that there are technologies that you know of that I do not. It will probably be the same in reverse. Not knowing about some of the more recent technologies does not make us oldies any less skilled and most of us still want to learn. When there is a good reason to use a new technology we usually will. We have also been around long enough to know that some of the newer technologies may not be around long-term, so if a tried and trusted solution works, we often choose it.

    If you are talking to developers who have only ever been involved in creating Windows desktop GUI applications, it is quite likely that they may not know all that you do about JSON and creating/working with REST services. I am sure that if you approach them and demonstrate why your ideas are good, they will happily listen to you and take your ideas on board.

    You should in return listen to their reasoning and as a team choose an appropriate technology for the job in hand. One part of that is that each party who is involved needs to be able to work effectively with the chosen tools. If you can't change the people, and they won't change, you are going to have to change the tools or handle the parts of the project that they won't. Something tells me that if you discuss it with them, you will all come to a good understanding. Good luck!

    As for the programmer asking about server/client communication using docx files, you would want to ask them why they are suggesting that. It sounds odd to me too, but they may have something in mind that you or I do not.

    ReplyDelete
  4. Martyn Spencer I've just started working in team with others so I still have to make experience and understand how to approach. I hadn't really considered what you've written in the first paragraph at the begining but from now I should. For sure I didn't mean that they aren't skilled because they don't know about REST for example

    ReplyDelete
  5. If I am honest, I am surprised that they don't know about REST either. And it is hard to not judge them as a little lacking for knowing nothing about it. If you consider what they are used to working with, though, it will become clear why they haven't heard of it. They will respect you more if you show your ability and help them to understand and I think you will enjoy working with them more.

    If they act in a difficult or defensive manner, that says more about their approach to life in general and I am sure you will work out a good way to deal with that.

    ReplyDelete
  6. Alberto Miola I'm really surprised seeing this. For me, using FTP and CSV files is a real problem : this is not secure, parsing CSV files can leads to a lot of issues... I consider myself as an senior developer and believe me or not, I would never choose this path... unless there are technical issues.

    An multi-tier architecture is the way to go. There is a lot of commercial solutions (Datasnap,TMS XData...) or open source solutions (MARS Curiosity, Mormot...) running under Delphi. You will then be able to fetch this data into different databases thanks to FireDac.

    I'm using such solution for all our industrial Android devices.

    ReplyDelete
  7. Stéphane Wierzbicki in fact I wanted to use json, a REST architecture and avoid csv, ftp or other things as I've said. I am trying to explain what is REST and how to create a multi-tier architecture, otherwhise it's going to be a huge mess...

    ReplyDelete
  8. Alberto Miola and I'm about to participate in a new project and they say REST is a thing of past and we should be using Graphql, but CSV is definitely old fashioned

    ReplyDelete
  9. I guess this is not about what technology to implement but start with how your team work with each other, who listens and who says. This is a challenge of how to be a team player or a team lead, if i were you bro enforce what will be the best and easier but secured to implement. Just talk to them and suggest what you have experienced in doing those kind of project, in a way that it doesn't show that you neglect their ideas because you just want to point out that you are better and have knowledge than them. This is the most hard part in a team development when other programmers thinks that their pride can do codes.

    ReplyDelete
  10. Talks is cheap. Make something instead. Create a presentation, or even better small proof of concept demo.

    Your team mates arguing for other solutions will either accept your already made concept, or will have to make their own demos. In which case you will be able to show pro and cons on real examples.

    ReplyDelete
  11. Mocte Sandoval GraphQL is trendy, for sure. But it is not the same as REST. GraphQL is about data queries. REST is about resource access, but also used as RPC. SOA is not only about data queries - in fact, persistence is sometimes only a small part of service process.

    ReplyDelete
  12. A. Bouchez agreed, I think a mix of REST and Graphql will work pretty good

    ReplyDelete

Post a Comment