Senior Software Engineer - Challenge
Would you like to work with the most exciting opportunity and the sharpest minds in AI?
Rather than serving you with a normal job-description, here is a 4h-challenge - if you successfully complete this, we would love to schedule an interview with you!
Now, to the challenge:
Your task is to develop a Python script that effectively handles an imbalanced classification problem with the "Credit Card Fraud Detection" dataset from Kaggle. The dataset is highly unbalanced, making it a perfect case for evaluating how well you can handle such scenarios.
Steps
- Load the provided "Credit Card Fraud Detection" dataset from Kaggle, available at this link.
- Conduct necessary preprocessing on the dataset using PySpark, Pandas or a similar library. This could include:
- Handling missing values, if any
- Encoding categorical variables, if present
- Scaling numerical features
- Undersampling the majority class
- Oversampling the minority class
- Using synthetic data generation methods like SMOTE or ADASYN
- Logistic regression
- Support vector machines
- Decision trees
- Accuracy
- Precision
- Recall
- F1-score
- Area under the ROC curve
Note: The 'Class' column in the dataset is the target variable, and the rest of the columns are to be used as the feature set for the classification problem.
Deliverables
You are expected to provide the following deliverables:
- A Python script implementing the above steps.
- A brief report (in the form of a README file in your GitHub repository) explaining your choices at each stage, including preprocessing steps, techniques to handle class imbalance, choice of classification model, and evaluation metrics.
- A GitHub repository link containing all your code and the report.
- A packaged production-ready version of your final model.
Evaluation Criteria
Your solution will be evaluated on the following criteria:
- Data Preprocessing: Effective handling of missing data, if any, encoding of categorical variables, if present, and scaling of numerical features.
- Handling of Imbalance: Effective use of techniques to deal with imbalanced classes, as evidenced by improved model performance.
- Model Training: Appropriate choice and effective use of a classification algorithm, demonstrated through the model's performance on the test data.
- Model Evaluation: Correct use of evaluation metrics and interpretation of their results to assess the model’s performance.
- Code Quality: Cleanliness, efficiency, and clarity of your Python code, following best practices.
- Model Packaging: Ability to create a production-ready package of the final model.
- Explanation and Justification: Clarity and cogency of the explanations provided for your choices at each step of the process. Your ability to justify these decisions and their impact on the final model performance will be of particular interest.
- Creativity and Innovation: While you are expected to follow the described steps, innovative ideas and strategies to improve the model performance are welcome and will be viewed positively.
We would like to clarify that the focus of the evaluation lies not solely on the final performance of the model, but also on the appropriateness of your methodologies, the clarity and efficiency of your code, and your ability to justify your decisions.
Apply with either your test + CV in English, or with your CV and any questions you may like to ask. The role is based in Malta, EU. We would like to employ someone who can start within 4 weeks, should the role be offered.
Salary €55-70K - could be negotiable
*JobMatchingPartner Limited is a recruitment agency licenced in Malta, EU. We act on behalf of numerous clients based in Malta and elsewhere. JobMatchingPartner does not share your personal details with any third party without your written consent
- Department
- Backend Development
- Role
- Python Developer
- Locations
- Ta' Xbiex
- Remote status
- Hybrid Remote
- Yearly salary
- €55,000 - €70,000
- Employment type
- Full-time

Ta' Xbiex
Top Employers!
The best employers work with us!
We represent only clients we believe to be excellent employers and we strive to find top talent to join their organisations, both in and outside of Malta.
About JobMatchingPartner
Owned and operated by JobMatchingPartner Limited, Registered office: SoHo Office, Savoy Gardens, Gzira GZR1362 MALTA (C93587)
Recruitment Licence EA161-2018 issued by the D.I.E.R. in Malta.
Senior Software Engineer - Challenge
Loading application form