Can you provide a brief introduction about yourself and your background highlighting what led you to pursue a software development training program?#
Since a young age, I’ve been captivated by technology. My journey began at the age of five, playing flash games on my trusty old Pentium laptop. As I delved deeper into more complex games, I realized that computers were far more than just soulless machines. I got a desire to look inside and see how they worked.
This fascination led me to choose ICT and D&T: Electronics as my subjects in school, which quickly became my favourites. I excelled in them, solidifying my desire to dive further into the world of technology. In college, I pursued studies in mathematics, computer science and physics, eager to unravel the inner workings of these incredible machines. This journey introduced me to the theoretical foundations and hardware intricacies of computers. It also gave me a profound understanding of software, culminating in a final year project where I programmed an application that displayed the optimal routes across the college campus on a 3D map.
This experience left me awe-inspired, driving my passion for the subject even further. It was this passion that guided me towards computer science as my chosen field of study at the University of Hull. There, I relished every moment, immersing myself in writing code and discovering that my true love lay in programming and software development. Collaborating with like-minded, motivated individuals in group projects shed light on the realities of real-world development, making the course both enjoyable and enlightening.
It was during my final year project that I truly fell in love with programming. I immersed myself in the cutting-edge world of machine learning, crafting an artificial neural network for Alzheimer’s diagnosis. The experience was transformative, solidifying my resolve to forge a career in this dynamic field. Following my studies, I joined Capita’s Software Developer, Dev Ops, and Test program. This immersive experience not only sharpened my skills but also exposed me to the latest industry practices and software development knowledge. I thoroughly enjoyed the program, culminating in the creation of a Java-based banking application for my final project. This endeavour not only showcased my technical prowess but also reinforced my passion for crafting innovative solutions through code.
Could you share some notable academic achievements, work experience that have contributed to your journey in software development?#
My journey into the world of technology began early in high school. In my electronics D&T class, I had the opportunity to dive into hands-on work. I soldered and assembled my very own electronic alarm system, comprised of a microprocessor, resistors, transistors, and a speaker. This endeavour also marked my introduction to programming, as I had to code it to activate the speaker when the latch was triggered. It was a foundational moment in my journey. During my time in college, I embarked on a significant solo project. I developed a 3D application that streamlined navigation within the building, specifically tailored for new students unfamiliar with room locations. Over the course of three months, I meticulously crafted this program from scratch. It was my first major coding venture, and it required a deep dive into Dijkstra’s algorithm for distance calculation. I meticulously replicated the building’s 3D model from blueprints in Cinema4D. The program was engineered in an Object-Oriented manner, making extensive use of inheritance and polymorphism, and was coded in Delphi/Pascal.
University life brought even more programming opportunities my way. Among the numerous projects, one stood out significantly - my dissertation. I designed an programmed a neural network to differentiate between patients with static and progressive mild cognitive impairment, a critical precursor to Alzheimer’s disease. Early diagnosis is paramount for effective treatment, and this application held the potential to revolutionize patient care. The development process adhered to an agile approach and followed the industry-standard CRISP-DM methodology. This comprehensive endeavour encompassed data preparation and cleansing, along with the implementation of the neural network using Pytorch. The network featured 514,301 parameters, integrating 3D convolutions for thorough MRI data analysis. In a groundbreaking twist, clinical data was integrated with MRIs, rendering the network multimodal. The model demonstrated an impressive 89% accuracy in predicting the likelihood of a patient developing Alzheimer’s disease within a three-year span. This project was not only one of my highest-scoring academic works but also earned me recognition with an 84% grade and garnered 30 stars on GitHub - a testament to its impact and quality.
Can you outline your current skillset and how you see those skills aligning with the demands of an effective software developer?#
I possess a comprehensive skill set that aligns seamlessly with the demands of an effective software developer. One of my key strengths lies in Agile software development methodologies. I’m adept at constructing applications iteratively, allowing for the emergence of requirements throughout the project’s execution rather than being set in stone from the outset. I not only comprehend the underlying principles but am well-versed in the various methodologies that underpin this approach. This proficiency is crucial for a software developer, as effective collaboration within a team is paramount. Understanding different modes of teamwork enables us to establish a rhythm of operation that maximizes outcomes.
In addition to my proficiency in Agile methodologies, I have a strong foundation in numerical reasoning. My background in mathematics, both in school and college, has equipped me with a solid grasp of numerical concepts. I excel at leveraging diverse formulas and theorems to solve complex problems. This skill is invaluable for a software developer, as mathematics serves as a powerful tool in achieving success, and I fully embrace its importance in my work. Moreover, I am proficient in a range of programming languages, spanning from low-level to high-level, including C++, C#, and Python. This proficiency allows me to comprehend code at varying levels of abstraction, from the fundamental components to the broader applications. As a result, I am able to develop robust and resilient applications that not only perform optimally but also stand the test of time. This versatility in language proficiency equips me to tackle a wide array of development challenges with confidence and precision.
Looking ahead, what are your career aspirations in software development? How do you see your academic achievements, work experience, and current skill set contributing to your success in achieving these goals?#
Looking ahead, my career aspirations in software development are focused on becoming a seasoned professional who not only excels in technical skills but also contributes significantly to innovative and impactful projects. I aim to be a versatile developer who thrives in collaborative environments, effectively solving complex problems and delivering high-quality software solutions.
My academic achievements have provided me with a strong theoretical foundation in software development, covering a wide range of programming languages, algorithms, and software engineering principles. Through coursework and projects, I’ve gained valuable experience in areas such as web development, agile methodologies, and data analysis. This knowledge has laid a solid groundwork for me to tackle complex development challenges.
Furthermore, my work experience with Capita, particularly in the banking sector, has exposed me to real-world applications of software development. I’ve had the opportunity to work on a banking application, which has not only honed my technical skills but also improved my ability to work in a team, manage project timelines, and communicate effectively with stakeholders.
Additionally, my current skill set includes proficiency in C#, .Net Core and Python which are widely used in the software development industry. This versatility enables me to adapt to different project requirements and technologies efficiently. To achieve my career aspirations, I plan to continue learning and staying updated with emerging technologies and best practices in software development. I also aim to seek out opportunities for professional development, such as attending conferences, workshops, and participating in open-source projects. Moreover, I see networking and collaboration with other professionals in the field as vital to my growth. Engaging with a community of developers allows for the exchange of ideas, insights, and continuous learning.