Internships and student jobs – Spring 2023
Post by Manal Benmalek,
Employer Branding
April 7th, 2023
Gain hands-on experience with our tech internship and student job program at Railnova
We are pleased to announce that, following a season of successful job fairs (JUNIA, Polytech Lille, Forum ON Emploi) and the second edition of the Railnova Career Day, we are now sharing our latest openings for May onwards. We are looking for enthusiastic and motivated students to join our team in any of the exciting opportunities for tech internships in general that we offer!
Our internships provide hands-on experience and an opportunity to work alongside experienced professionals in the tech industry. As an intern at Railnova, you will be able to gain valuable skills and knowledge that will help you jump-start your career.
We are committed to supporting and extending our student team, and we welcome applications from individuals who are passionate about technology and eager to learn. So, don’t hesitate to join us on an exciting journey and jump on the Railnova train!
SupplyX : Create a Manufacturing Resources Planning module for a Django-based (Python, Database, Django)
Project:
The Supply Chain Team is responsible for the supply of raw materials, planning of (in-house) production, and delivery to our customers in a timely manner.
Railnova’s products are very complex, with hundreds of parts to be purchased on a regular basis. This work is made even more complex as lots of Electronic parts are hard to source or have extremely long lead times. It is thus crucial to have proper visibility on what needs to be purchased and to identify blocking parts as quickly as possible to avoid stopping the production.
The current tools (excel sheets and todos) are too limited to do proper planning of the purchasing, so we started the development of a small MRP.
This internship aims to improve and integrate this MRP into our in-house, Django-based ERP, SupplyX.
Duration: 2-3months
Requirements:
During this internship, your will need to push your analytical skills to model the interactions/dependencies/intricacies/interdependencies of purchase, stock, manufacturing, and shipping events using the Django framework, write an algorithm to solve them and see your work being deployed and used as an everyday tool of the Supply Chain Team.
Responsibilities:
Supply Chain for business logic, Hardware to take over the initial proof of concept developed, and Christian for technical guidance.
SupplyX : Create a Quality control module for a Django-based business software (Python, Postgres Database, Django)
Project:
The Industrialization Team is responsible for the realization of the quality control of the calling kits that are manufactured in-house.
Railnova’s products are very complex, and the quality control is highly important to deliver quality product to our customers. The current tools (excel sheets and todos) are too limited to increase the efficiency of the quality control and to record the information easily.
This internship aims to specify, develop, test and deploy a QC module with in our internal ERP that is based on Python and Django with a Postgres database.
Duration: 2-3months
Requirements:
During this internship, your will need to push your analytical skills to model the interactions/dependencies/intricacies/interdependencies of the current QC activities based on the bill of material of the cabling kits. You will suggest improvements of the current operations while keeping quality in mind and a zero-defect approach. You will write specifications and code the module using the Django framework. The module aims to drive, automate and ease quality control and related reporting.
Responsibilities:
Hardware Operations Christian for technical guidance.
Supervision: Christophe (and CSP for technicalities of SupplyX)
Project:
Be part of the supply chain team and discover what is usually hidden inside a company. The supply chain is overall responsible for purchasing, planning, provisioning, internal and external logistics and supporting the production team. Amongst other things, you will:
- Execute incoming material control.
- Pick in stock the requirements for the production of cable kits and railsters.
- Maintain and improve a stock organization and enforce stock cleanliness.
- Register stock moves in IT systems and physically move pieces to the required area.
- Order consumables when the stock is low to avoid shortages.
- Perform inventory control
- Ship orders and RMA Returns to our customers
- Maintain documentation
Duration: 3 months – it can be part-time or full
Start: June – Low priority and to be discussed based on the workload
Requirements:
- Organised
- Rigorous
- Methodical
- Google Suite (Sheets)
- English reading and writing
Responsibilities:
- Overall responsibility is to execute the operational tasks described above in the project description.
Project: RMA logs analysis
Duration: minimum 1 month (internship/student job)
Requirements: Embedded engineer/Data Science
Responsibilities:
We have for each RMA / problematic Railster logs with hundreds of lines, and it is hard to make sure we can detect abnormal behavior in the logs just visually checking them.
Example of a very small part:
Dec 29 06:41:03 rug2 user.crit /bin/pullupdate.arm: File “/bin/pullupdate.arm”, line 239, in api_http_call
Dec 29 06:41:03 rug2 user.crit /bin/pullupdate.arm: SystemExit: 1
Dec 29 06:41:03 rug2 user.warn /bin/pullupdate.arm: Pullupdate daemon quit
Dec 29 06:41:03 rug2 user.warn /bin/pullupdate.arm: Pullupdate daemon starting up
Dec 29 06:41:03 rug2 user.warn /bin/pullupdate.arm: Pullupdate daemon launching main
Dec 29 06:41:06 rug2 daemon.err toolbox.arm: Connect error: Lookup error. (in toolbox.c:679)
Dec 29 06:41:06 rug2 daemon.err transport.arm: Connect error: Lookup error. (in transport.c:391)
Dec 29 06:41:11 rug2 daemon.err toolbox.arm: Connect error: Lookup error. (in
The goal here is to clean the logs from the datetime specific information and give the user an output with only the lines that are not standard and gives some hints on the problem (HW issue or SW bug) that could have induced the log message.
A a second step, we want to create our own log analyser (taking benefits of the recent improvement on the front of AI/ML techniques)
Supervision: François D + François F + Hughes
Write a shutdown handler in the kernel to properly shutdown the system on RailsterOS
Project: Create/write a shutdown handler for the kernel of the railster
Duration: > 1 month
Requirements: C / embedded software development / Linux kernel
Responsibilities:
You shall be responsible for designing a kernel driver that send a message on a UART to a device that will turn OFF the power supply, when we are sure the kernel is close enough to have stopped all services.
Project: Documentation clean-up and harmonisation
Duration: To be discussed
Requirements:
- Used to Github
- Used to Markdown
- Structured
- Methodical
- Organized
- Rigorous
Responsibilities:
Installation procedure documentation, schematics, and other documents clean-up. Definition of specific templates, and move to the new generic doc template format with the new numeration system.
Project: Documentation and tools
Duration: 3 weeks
Requirements: Student in Electrical/Electromechanical/Mechatronic engineering
Responsibilities:
Inventory of all the cabling kits per asset classes and variants. Creation of data requests for each cabling kit to check if the cabling kit matches new locos from different customers.
Project: Integration study of Railster UG2/2U inside trains
Duration: 4 months
Requirements: Master student in Electrical/ Electronic/ Electromechanical/Mechatronic engineering
Responsibilities: You will join the Train interface engineering team which is responsible for the electrical and mechanical integration of the Railster inside the assets, from the electrical analysis of the potential connection points to the production of the cabling kits that will be physically installed.
In that context, you will take part of Railster integration study projects with the goal of having the Railster UG2/2U safely installed and connected to the asset busses. You will work on the design of a cabling kit with cables and connectors solutions to integrate the Railster to new types of locomotives or on the feasibility study of upgrading the existing cabling kit using Railster UG1/Railster UG2 to Railster UG2U, which is another version of the Railster UG2 recently designed.
Example of tasks you will do:
- analysing the train electrical schematics to identify connection points on the train
- designing cabling schematics and easy-to-assemble connectors for field busses (MVB, Can Bus, J1708, RS484, Ethernet, RS232, Ethernet, …) and sensors (battery, level sensors, temperature sensors, vibration sensors…)
- participating in the design of mechanical installation in the train
- writing up simple and pragmatic installation instructions so that our Clients can easily install the Railster and the cable kit themselves.
- produce cabling kits
You will be responsible for the end-to-end implementation of your project, communication, escalation of issues and decision making at your level.
Project: Production and industrialisation of cabling kits
Duration: To be agreed
Requirements: Bachelor student in Electrical/Electronic/Electromechanical/Mechatronic
Responsibilities:
You will be part of the team working on the production of cabling kits, the quality check, documentation or test benches.
Contribute to Infrastructure State of the Art implementation in Systems, Network, Log and Metrics matters
Project: Contribute to Infrastructure State of the Art implementation in Systems, Network, Log and Metrics matters
Duration: 2 to 4 months
Requirements: Linux, Python
Responsibilities:
You’ll be part of the infrastructure team managing the systems and networks underlying the whole business at Railnova. We are working with Terraform, Kubernetes, Helm, etc, and we are looking for 2 students that are willing to improve the quality of the infrastructure at Railnova.
Supervision/Coaching: Cédric & Nicolas
Locomotive matching with maps
Project: At Railnova, one of the most critical data we get from a locomotive is its position, coming mainly from a GNSS system (as GPS). Matching the GNSS position with the Railway map will improve the precision of the locomotive position and, consequently, data that depend on it (for example, km counters, which have a critical role in maintenance planning). The matching can be challenging in some dense areas of the Railway, like near in yard areas, so advanced methods will need to be tested.
Duration: 2 to 3 months
Requirements: good skills in Python
Responsibilities: Develop an algorithm that performs the matching, test its performance (accuracy and timing), deploy the algorithm in production (if the performances allow it and time remaining)
Automated optical inspection (AOI) to improve Railnova’s electronic production quality
Project: The operator currently performs quality control of the electronics produced at Railnova, which is a time-consuming and tedious task. The goal of this project would be to develop an algorithm that would detect the most impacting anomalies from pictures of the boards and deliver the result in a straightforward way to the person in charge of the production process.
Duration: 3 to 4 months
Requirement: good skills in Python
Responsibility: Development and training of an algorithm that detects the anomalies on the board pictures, develop a tool with a simple UI that provides the anomaly detected and allows to give feedback to the algorithm.
Battery charge gauge of Railnova’s IoT devices
Project: Railnova installs IoT boxes in trains (aka Railster) that collect data and send them in real-time to our infrastructure. Locomotives and trains can remain in parking for long periods, during which periodic data collection is still useful (for example, to monitor the train batteries). Having an estimation of the time on battery will be useful to anticipate a Railster being out of batteries and to communicate that information to our customers.
After several years with our devices on the field, we have a nice dataset of battery discharges collected. The goal of the internship would be to analyse this dataset and to develop a model from our data able to estimate the time of discharge remaining.
Duration: 1-2 months
Requirement: good skills in Python
Responsibility: Development and training of an algorithm that predict the time on batteries, the study of the explainability of the algorithm and making the result of the model available
Mining the Railnova incident ticket database
Project: Railnova has a database containing incident tickets filled by the locomotive drivers and the return of experience from the maintenance workshops. The goal of the internship will be to use some state-of-the-art NLP algorithms to get value from these tickets:
by extracting from tickets content some keys features, like the failing component or the type of failure by predicting the impact of the failure on the locomotive exploitation (possibly by crossing with the telematic data from the locomotive)
by detecting poorly written tickets: unclear tickets or containing too many topics in one. That could be used to inform the ticket author of a possible problem and thus would help to increase the overall quality of the tickets
Duration: 2-3 months
Requirement: good skills in Python
Responsibility: Deployment and testing of some NLP algorithms to analyze tickets. Understand and make reports on the results and anticipate how such models could be deployed.
Share this story
More articles by Railnova
Explore student jobs and internships at Railnova
Gain hands-on experience with our tech internship and student job program at Railnova
New Railster Dashboard
We are thrilled to announce the release of our latest feature update, the "Railster dashboard". This update is designed to make it easier for Railnova clients to access and manage remote monitoring and edge computing devices on their locomotives.
SBB Cargo integrates Railnova predictive maintenance into their workflows
SBB Cargo integrates Railnova predictive maintenance into their workflows because reliability is a non-negotiable.