Ng Wei Jian

Computer Scientist / Civil Engineer

I have a Civil Engineering background and I have a strong interest towards software development. Currently, I am pursuing a MSc in Computing Science at Imperial College London as I wish to reinforce my programming knowledge.

My interests in programming developed when I was first exposed to MATLAB during my undergraduate studies, where we were taught to solve numerical problems using programming. Upon graduation, I have joined a civil engineering company and my interests in programming only grew deeper as I discovered the immense opportunity programming can bring to a project, in both time and cost saving.

Over the years, I have spent my after work hours exploring different technology and programming languages. I have developed a couple of automation scripts for work using Python and front-end applications using React-Redux.

Education

Computing Science (MSc) - Imperial College London
Current

  • Key Modules: C++ Programming, Object Oriented programming, Computer Architecture, Operating System, Machine Learning, Computer Vision, Software Engineer Design, Algorithms, and Databases
    • Group Project: - Voiceless Speech Recognition on Android. I was the group leader and the frontend developer for the project. I have successfully led the team in meeting all the stakeholders’ requirements and developed an android application following the Test-driven development (TDD) cycle
      • Individual Research Project: - AI to share positive news. The project involves fine tuning of the BERT model for the sentiment analysis of news articles
        Civil Engineering (MEng) - Imperial College London
        2013 - 2017

        • First class honours
          • Engineering Dean List - Top 10% of cohort
            • Sparkes-Pippard Prize - Best MEng student in Structural Engineering
              • Key Modules: Geotechnics, Advanced Soil Mechanics, Foundation Design, Non-linear Structural Mechanics, Concrete and Steel Design

                Work Experience

                Geotechnical Engineer - AECOM
                2017 - 2020

                • Lower Thames Crossing Project:
                  • Managed AECOM in-house data management system developed in .NET core to process geotechnical data collected from site
                  • Developed Python scripts to improve the overall process of processing the data
                  • Managed a SQL database to process and clean data
                • Thames Tideway Project:
                  • Carried out finite element analysis on the existing river wall using PLAXIS 2D and 3D to facilitate with the design changes due to changes in the construction sequence
                  • Prepared numerous technical notes and design reports
                • Beckton DLR Extension Project:
                  • Carried out Geotechnical Desk Study to inform the ground model and parameters of the site
                  • Designed building and train equipment foundations
                  • Prepared Geotechnical Design Report
                • Hinkley Point C Nuclear Power Station Project:
                  • Carried out rock slope design (ground nails) for slopes of up to 30m high
                  • Processed and monitored a large dataset on the movement of all the rock slopes on site using Excel VBA
                  • Prepared numerous technical note and design reports to facilitate the construction of the rock slopes

                Personal Projects

                Path Finding Visualiser
                See App

                Aim:
                To visualise the breadth-first search and A* algorithm in finding a path in a 2d grid
                To visualise different maze generation algorithm such as recursive division, recursive backtracking and Prim's algorithm

                lessons:
                Learnt how to develop frontend application using React
                Learnt how to manage application state using Redux
                Sort Visualiser
                See App

                Aim:
                To visualise sorting algorithms such as Bubble Sort, Insertion Sort, Selection Sort, Quick Sort and Heap Sort

                lessons:
                Learnt how to develop frontend application using React
                Learnt how to manage application state using Redux
                Tic-Tac-Toe
                See App

                Aim:
                Build a Tic-Tac-Toe game with React Library with multiplayer and bot options

                lessons:
                First frontend application developed using React
                Learnt how to manage application state using Redux
                Python: Borehole Logs Extractor
                Github

                Aim:
                Develop a Python script to extract Borehole logs (open source data) from British Geological Survey (BGS) website

                lessons:
                Learnt how to scrape web data using Python
                Developed knowledge on the structure of a HTML page
                Developed knowledge in how an API works
                Excel AddIn: Charts Generator
                Github

                Aim:
                Allow users who are more comfortable using Excel to visualise large dataset quickly
                Generate charts based on user defined classification fields

                lessons:
                Learnt how to develop an Excel Addin