Image of Trafford Town Hall

A Week In The Life

Of A Software Developer Apprentice

Where I Work

Explain the organisation

My Apprenticeship is with 'Trafford Council', they are a local Council located in Manchester. As a local council it's our responsibly to provide a variety of services. Some of which include:

Which other teams do you work with?

As Trafford Council provide a lot of services, we have a lot of internal clients. Since I joined we've been working on upgrading some of the systems these clients use. We initially get in a teams call with the to discus their needs, and to see how a solution can be implemented. After this we have a follow up call sometime later, to help us clarify some things we are unsure about. Our team is currently working with some consultants called UDBS, they are essentially teaching us Microsoft Power Platforms and helping us with and queries.

Job Role

My Team

I am a part of the Applications Development team, which falls under the Finance and Systems umbrella of Trafford Council. Our clients are almost exclusively internal parts of the council, so our job is to develop/update the systems and applications they use.
The organisational structure goes from Finance and Systems -> IT and Digital -> Digital Portfolio -> Our team (Applications Development).

My Manager

My manager is Jeremy Page, he runs the Applications Development team which has 3 other members (including myself). I started around a month ago so I'm currently trying to learn as much as I can from Jeremy and the other team members.

My Main Priorities

My main priority at the moment is learning and understanding the workflow, as well as how the team fits in with the organisation. The teams main focus is updating and replacing some of the older systems currently used within the council. We're trying to modernise and automate these processes hoping to make the whole user experience easier and less prone to error.

Systems and Tools We Use

Before I joined, Trafford Council started moving over to using the Microsoft Power systems. These are a variety of incredibly powerful Software which can be used to develop applications, websites, chatbots and can be used for data analysis. They can create very versatile products when used together. For example, in the Abandoned Vehicles project we've recently been working on, we have used Power Apps to create a canvas app and a model-driven app, as well as Power Pages to create a website. All of these have a shared Dataverse database. Power Automate is then used to automate steps which previously required human interaction.

Legislation and Policies We Comply With

As we are a Local Council there is a massive emphasis on GDPR, we deal with a large amount of personal data which if not handled correctly could have massive repercussions.

What I did this week!

Monday

09:00 - 09:30

I had some time at the start of the day so I made some adjustments to this website. Mostly CSS styling.

09:30 - 10:00

Everyday we have Zoom meetings from 9:30 - 10:00, these usually start with going through the progress made on our assigned tasks, then there is a separate meeting for any difficulties completing these tasks.

10:00 - 12:30

We're currently working on improving the systems around reporting abandoned vehicle within the borough. This new system will automate a lot of the tasks that needed human input before. One of these was checking the tax status of a vehicle via the DVLA website. I used their API to automate this task, so once the vehicle is reported the tax status is automatically updated in our database.

12:30 - 13:00

The Abandoned Vehicles project is using a model-driven app for the workers, so they can check the progress of a reported vehicle. I started creating a flow (a flow is an automation within Power Automate) which would change the Report Status of a vehicle, from 'Logged' to 'In Progress' to 'Completed', based on certain criteria.

13:00 - 13:30

I had my lunch

13:30 - 15:30

After lunch I completed the flow for the abandoned vehicles API and the model-driven app.

15:30 - 16:30

After finishing these I had a Zoom call with a colleague, who let me know how I could improve these flows. Their idea was to consolidate them into one. I spent some time reconfiguring it into one flow. However I had to separate part of it out as it wasn't working as anticipated.

16:30 - 17:00

After completing this I was done with my tasks for the day, so I spent some time writing up what I had done. I also spent some time working on this website.

Tuesday

09:00 - 09:30

I spent some time working through the Microsoft Power PL-100 course, this covers Power Platforms more in depth and has an exam at the end which would provide me with a certification.

09:30 - 10:00

Everyday we have Zoom meetings from 9:30 - 10:00, these usually start with going through the progress made on our assigned tasks, then there is a separate meeting for any difficulties completing these tasks.

10:00 - 13:30

Microsoft are releasing Microsoft Places in the near future, therefore the project I was meant to be moving onto (a new desk booking system) has been put on hold. This is because we think Places have the capabilities to do what we need and therefore don't want to change the system multiple times in a short time frame. We are currently waiting for testing results (for other projects) to come back before we can progress with other things.

I spent the rest of the morning working through part of the PL-100 course, specifically the Dataverse and model-driven app modules.

13:30 - 14:00

I had my lunch

14:00 - 17:00

My afternoon was spent working on the website as nothing else needed my attention. I used some of the time properly writing up this weeks activities. I then decided that a lightbox would be a good way to showcase the evidence for this project so I spent the afternoon researching how these work so I could implement one.

Wednesday

09:00 - 09:30

I had half an hour free before our meetings so I spent some time working on the website. Mostly working to implement the lightbox.

10:00 - 12:15

Our first meeting with UDBS was spent discussing how sprint 7 went (a sprint is a 2 week period in which we are assigned tasks to work through), what went well, what didn't and what can be improved in the next sprint! We then spent some time going over what needs doing in sprint 8, and who needs to do that.

13:00 - 13:30

I had my lunch

13:30 - 14:00

I had another half hour of free time so I spent it working through part of another Dataverse module from the PL-100 course.

14:00 - 16:00

The afternoon was spent in another meeting with UDBS. We discussed the licensing requirements for using Power Platforms across the organisation. For example, with Power Apps everybody who needs access to the it has to have a license whereas Power Pages doesn't require one. We also spent some time talking about the testing we need before the apps we develop can be used. Finally we were given a 'skills matrix' to fill out this week which would inform UBDS on our understanding of Power Platforms, to show them what they need to teach more of.

16:00 - 17:00

I had some free time after the meeting so that was also spent working through the second Dataverse module.

Thursday

09:00 - 09:30

I spent my time in the morning before our meetings finishing the second Dataverse module in the PL-100 course.

09:30 - 10:15

Everyday we have Zoom meetings from 9:30 - 10:15, these usually start with going through the progress made on our assigned tasks, then there is a separate meeting for any difficulties completing these tasks.

10:15 - 12:00

I was assigned work for the next two weeks in our meetings yesterday, however we are out this afternoon so I didn't want to start it yet. I decided to finish the lightbox on my website instead, now everything is complete and I will be able to move onto some new work tomorrow.

12:00 - 12:30

I had my lunch

12:30 - 17:00

We travelled to the UDPS offices to partake in a training afternoon. They had prepared a workshop for us. In this workshop we were taught about Power Pages as well as Power Virtual Assistants. We had to make a website with a multi-stage form which handled the bookings and we added a chatbot which could answer questions. This helped us gain a better understanding of both of these. We also spent some time discussing when a chatbot could actually be a viable option for one of our applications.

Friday

09:00 - 09:30

In the morning before the daily meetings I added a few finishing touches to the website.

09:30 - 10:00

Everyday we have Zoom meetings from 9:30 - 10:00, these usually start with going through the progress made on our assigned tasks, then there is a separate meeting for any difficulties completing these tasks.

10:00 - 11:30

I had been assigned two flows to send emails regarding a instrument booking system we are developing. The first one notifies a user when their booking request has been received, while the second one notifies them when their booking request has been confirmed. Both of these were made using Power Automate.

11:30 - 13:00

I also had to create some views for the model-driven app in Power Apps, these will allow users to look through the information and filter it as they see fit. I had to create four. One was for requests that were 'Approved but Awaiting', another was for 'Pending' requests, another was to view all requests, the final one would allow the users to see how long the requests took to go from 'Pending' to 'Complete'.

13:00 - 13:30

I had my lunch

13:30 - 17:00

After lunch I finished up with the views. The final view, which showed the time taken to process the request, required some logic that needed to be added. I started doing this as a 'Web Resource' using JavaScript. So I spent some time researching how to reference the column names and data needed, and then wrote the code for this to work. However I discovered that it wouldn't work as intended (you can only add Web Resources onto forms as an event handler, I needed it to work when the database was updated later in the process) and that there was an better approach I overlooked. I then worked on a flow using Power Automate which would trigger when the database is modified and calculate the difference between the 'Created On' date and the current data. This was doing with the formula : 'concat(div(sub(ticks(utcNow()),ticks(triggerOutputs()?['body/createdon'])),864000000000), ' Days')' which would return x Days with x being the difference.

Evidence

Close Icon
Duties Section Code Lightbox Code Lightbox NavDots Code Report It Book It evidence Report It Book It evidence Report It Book It evidence Skills Matrix Skills Matrix Approved but awaiting view Pending view All view Process time view Web resource JS Instrument Request flow Instrument Request flow 2