All work

Case 10 / 10

Where it started: Java at Wirecard

In 2018 I interned at Aprisma Indonesia, the Jakarta company in the Wirecard group that builds cash management and internet banking software for Indonesia’s largest banks. After eight weeks of Java training I joined the team building AIMS, an internal app that replaced the Excel attendance sheets of staff placed on site at client banks and tied their hours to projects.

Role
Java Developer (Intern)
Company
Aprisma Indonesia (Wirecard group), Jakarta
Year
2018
Stack
Java, Struts 2, Hibernate, JSP, Bootstrap
AIMS dashboard, Ongoing Project Status: a client panel with the project, technical, business analyst and QA leads and 11 resources, beside a table and bar chart of two trade finance projects, development and system testing, both at 100%.

8

weeks of Java training before project work

2

internal HR apps I built screens for

25

admin screens in AIMS, across projects, setup and reports

3 → 7

Jira versions compared and mapped for a migration

Key contributions

  1. 01

    Mapped a Jira 3 to Jira 7 migration

    Most projects still ran on Jira 3. With two other interns I compared it with Jira 7 feature by feature, noted what each difference would change for the teams, and mapped the database tables to what each screen shows.

  2. 02

    Screens for two internal HR apps

    Built the front end of both apps from the core team’s wireframes, as JSP pages with Bootstrap.

  3. 03

    Back end and integration tests for AIMS

    Worked on the AIMS back end in Java, with Struts 2 handling the requests and Hibernate mapping Java objects to database tables, then wrote a set of integration tests for it.

Screens

Screens from AIMS in October 2018, from my internship report.

Anonymised: the client bank’s logo and name and all staff names are removed or blurred.

Why AIMS

Many Aprisma engineers work on site at the banks they build for. Their attendance lived in Excel: typed in by hand, checked by the team lead at each site, then checked again by HR. AIMS moved that into a web app. Staff clock in and out in the browser and log their work against a project and a Jira issue, so HR gets attendance without the spreadsheets and project managers see where people’s hours actually go.

Try a day in AIMS

A working sketch of the employee screen. Clock in, log work against a project and a Jira issue, clock out, and watch what HR and the project managers get on the right.

AIMSWed, 10 Oct 2018Staff 014

Not clocked in

--:--

Log work

    Turn on JavaScript to try the sample.

    What HR and project managers get

    Each action goes through a Struts action and Hibernate into the database. Names and data here are made up for this page; clients and staff are anonymised.

    Attendance record

    No record yet for today

    Resource utilisation, today

    Nothing logged yet

    Last request

    None

    Before AIMS

    Name       Date        In     Out    Site
    Staff 014  10/10/2018  08:30  17:30  Bank A
    typed by hand, checked by the site lead,
    then checked again by HR

    What AIMS covers

    The menu as it stood in October 2018. I worked on parts of it alongside the core team, not all of it.

    Employees 2
    • Clock in and out, with a revision request
    • Attendance history
    Projects 4
    • Project status dashboard
    • Project search
    • Resource utilisation
    • Document management
    Setup 14
    • Administration
    • Cost setup
    • Customer mapping
    • Project mapping
    • Menu roles
    • Leave
    • Budget setup
    • Document templates
    • Template allocation
    • Synchronise
    • Attendance
    • Contracts
    • Employee grading
    • Project delivery
    Reports 7
    • Attendance download
    • Attendance history
    • Leave history
    • Cost
    • Resource utilisation summary
    • Resource utilisation by day
    • Project performance

    The first eight weeks

    Before any project work, the training centre took me through the stack Aprisma builds its banking products on, and the products themselves.

    • Java and OOP
    • Oracle Database
    • Spring
    • Struts
    • Hibernate
    • React Native
    • Maven
    • Mercurial and Git
    • Debugging in Eclipse
    • REST APIs
    Next case A scroll-driven site for team offsites