Ten10 Academy Diary – Ephron Agyeman

man in front of a whiteboard helping graduates get ready for the workplace

Go behind the scenes of our Tech Academy as new consultant Ephron Agyeman shares his Ten10 Academy diary

Before the Academy

I wasn’t sure of what to expect before joining the Ten10 Academy. I’d always wanted a role in technology but I wasn’t exactly sure where I would excel or even if the Academy could deliver on what it promised. To say that I would be technically ready for a career in which I had no prior experience almost seemed like an overpromise! I took some time to prepare myself mentally by looking over the website, reviewing the modules, and improving my programming skills to make the first week less overwhelming.

Through this diary, I’ll document my journey through the Ten10 Academy covering what modules I learn and the technology I gain experience with. If you’re considering applying, my diary will give you a good understanding of what to expect when you join.

Core Training

Week 1

The first week has gone well. We were immersed in the Academy’s culture and expectations, met our instructors, and learned about the structure of the program. We also got to know everyone else within the cohort.

It was really good getting to know everyone and I even took some time to go into the London office and get acquainted with my Academy trainers and met some of the other departments of the firm. I think this was a good experience and would recommend if anyone can that they should take their time to do so to build a relationship with everyone that you can.

Week 2

Week 2 was really interesting. This week we had an introduction to Agile where we delved into the principles of Agile project management. We had sessions in breakout rooms to help us understand how Agile promotes collaboration and adaptability within the IT industry.

This was something I had never come across as well which was fascinating, especially the way I learned about different ways in which projects are managed. Some of the key methodologies we learned were: Scrum, Kanban, Extreme Programming (XP), Lean, Crystal, Dynamic Systems Development Method (DSDM), Feature-Driven Development (FDD), and Adaptive Software Development (ASD).

Week 3

This week was fascinating because we took some time to understand the business side of IT (Enterprise IT), including the different parts of IT which form the key components within larger organisations and different IT strategies.

We also learned a lot about governance and the role of IT in business, looking into SASS, and PASS, the analysis of these models, and their benefits to IT. We also carried out the role of a Business Analyst where we had to hold discussions with stakeholders and the development team to ensure stakeholder satisfaction.

We also had a look at the key components of Enterprise IT. This includes infrastructure, software systems, networks, security, data management, Cloud Computing, Collaboration tools and did a project on the utilisation of IT tools and building functional Architecture with Entity relation diagrams.

Week 4

This week we learned about the foundation of web development technology. We went through a mock site and experimented with the CSS using CSS Flexbox. I had experience in web development before the Academy and our first project was to make a web page using the HTML, CSS, and JavaScript knowledge we had learned. I decided to make a consultancy landing page for one of my cohort members. I was sceptical that I could make anything at this stage but I enjoyed how fun and creative this part of web development was and being able to see something that I coded come alive was amazing.

Week 5

New week, new technologies. This week we delved into databases with a new trainer. We came across various technologies and utilised SQLite studio. We talked about database performance, entity diagrams, indexes, locking, many-to-many diagrams, non-relational databases, SCHEMES, SQL joins, and statistics.

We had two projects to develop our skills: one with a hospital database (patient data) and one where we were given a restaurant database (customer booking data). I had heard databases could be daunting but after my training, I enjoyed working with them and understanding how the databases were formed. What stood out to me was how simple the syntax was for the SQL queries and the logical process of creating database schemas.

Week 6

During this week we delved deeper into the fundamentals of development, looking at programming languages, algorithms, and data structures. We learned more about Java, especially how it is used in test-driven development (TDD). The hands-on coding was very challenging but I had a lot of support from my instructors and guidance. We built small-scale applications and worked our way up to full object-oriented programming (OOP) models.

Week 7

This week we took a step back to understand what testing was and how we can change our mindset to think like a tester. Before this I only understood TDD but did not realise how much testing encompasses. We learned about the different forms of testing: unit, integration, system, acceptance, regression, performance, security, usability, compatibility, exploratory, alpha, beta, and ad-hoc testing.

Week 8

In our final week, we focused on the automation of test processes using Selenium WebDriver. This showed me how technology can be used to streamline repetitive tasks and enhance efficiency. Our project was a website in which we had to test its features and user experience utilising automation using query selectors. This enhanced my programming skills and set the tone for the specialist development training.

To be placed into the development training, we had to carry out another software engineering project: creating a game of rock paper scissors from scratch. I enjoyed this as we were told to be creative with the project so I created a turn-based RPG game with multiple features containing graphic text and a scoring system.

Ten10 Academy training session

Specialist Training: Development

I was put forward for the extended development training being assessed on my final coding project. This was different to the core training as I had to travel down to Bristol where I was relocated into a house with my fellow cohort members who were completing the same training.

The training was intense. I was thrown into learning new languages on the go with new projects and we went more in-depth with our development skills.

Week 1

Our first week covered TDD and idiomatic Java. We built an application using the TDD approach to programming where we create unit tests, watch the test fail, write the code, let the test pass, and then refactor. This is a very efficient way for developers to build and scale code as it creates less buggy code in the long run with better risk management and code quality. We used this approach to recreate the rock paper scissors project in Java via Intellij and OOP. I realised this method of programming was very efficient when it came to building applications at scale.

Week 2

In the second week we were introduced to RESTful API and web frameworks with Spring Boot with Thymeleaf. We built a Java project that takes JSON Data from a website and allows us to express the dates of bank holidays. The goal was to write a programme using OOP called BankHolidayChecker to find out what the next five bank holidays would be. This was enjoyable as it showed me how I could utilise API to create specific applications. During this week we were also given some extra reading and told to read the book Effective Java which increased our understanding of design patterns. If you’re big on development (both programming and personal) Ten10 is the place for you as they consistently invest in you.

Week 3

During Week 3 we looked at coding with large code bases using GitLab. We had access to Ten10’s Gitlab and were assigned tickets by our coach to solve. My ticket involved the process of round-tripping entry points from a string so I could print out an entry point and get a convenient representation-like main(string{}). During this process, we also worked on our version control skills with Git to ensure that we did not have any merge conflicts when working on larger code bases. I found it both interesting and challenging as it mimicked real-world applications of what it would be like to work in a development team. During the week we followed an Agile-style methodology of working where we had daily stand-ups to discuss the progress and blockers within our tickets.

Week 4

In Week 4 we were challenged to learn a new programming language: C++. C++ is a programming language where having control over-representation in memory is important (having predictable high performance). We started off very light with two example programmes – one to calculate someone’s body weight on Mars and a random number generator using std::random_device. We also learned about static and dynamic linking, zero-overhead abstractions, references and pointers, memory allocation and ‘resource acquisition is initialisation’ (RAII). We then recreated the RPS programme with the use of C++ following its rules.

Week 5

In our final week, we were given full creative control over our final development project. It could be done in any language/framework and utilise anything which we have learned over the five weeks. I challenged myself to learn a new language: typescript. TypeScript is a mixture between Java and JavaScript as it allows syntax for typing which has benefits including increased developer productivity, reduced bugs, and enhanced scalability.

I decided to create a WhatsApp bot that utilised the WhatsApp developer API. This bot aimed to take details and information through prompts from a user on the front end and parse the data into a MongoDB database. This could have a variety of uses, such as gathering data for a mailing list or automating the processes for RSVP-ing for events. The whole process required a lot of patience and resilience as I encountered numerous bugs and blockers but I prevailed in the end. We again followed an Agile way of working where we had stand-ups and discussed any bugs or blockers. At the end of the week we held a demo of our project to Ash Gawthorp, the Chief Academic Officer.

Conclusion

Overall I really enjoyed my time at the Ten10 Academy. From the people to the work culture, consistent support, development, and feedback I received, I truly believe Ten10 is a place where ambitious people can develop themselves and cultivate their career path. I’ve now been placed with my first client and can’t wait to officially start my new tech career. If you’re looking to start a new career in tech, I would 100% recommend you apply today.