blogImage_SOLID_principles

SOLID Principles

S: Do one job well (Single Responsibility Principle).
O: Open for extension, closed for modification (Open/Closed Principle).
L: Subclasses should fit the parent (Liskov Substitution Principle).
I: Keep interfaces small and focused (Interface Segregation Principle).
D: Depend on protocols, not concrete classes (Dependency Inversion Principle).

blogImage_StudentMindset

Student Mindset

Embracing a Student Mindset in Programming


Introduction:

In the ever-evolving world of programming, adopting a student mindset is paramount to staying relevant and thriving in the industry. Whether you’re just starting out or have been coding for years, maintaining a willingness to learn and grow is key to success.

Continuous Learning:

Lifelong Journey: Programming is a journey that never truly ends. Embracing a student mindset means acknowledging that there will always be something new to learn, whether it’s a new programming language, framework, or technology.
Stay Curious: Curiosity is the driving force behind learning. By remaining curious about new technologies and approaches, we open ourselves up to endless possibilities and opportunities for growth.

Humility and Adaptability:

Embrace Failure: Failure is an inevitable part of the learning process. Instead of seeing it as a setback, view it as an opportunity to learn and improve.
Be Adaptable: The programming landscape is constantly changing. Embrace change and be willing to adapt to new methodologies and practices.

Seeking Feedback:

Value Feedback: Feedback, whether from peers, mentors, or users, is invaluable for personal and professional growth. Embrace constructive criticism as an opportunity to learn and improve.
Collaboration: Programming is often a collaborative endeavour. By working with others and seeking feedback, we can leverage collective knowledge and expertise to achieve greater success.

Staying Humble and Curious:

Never Stop Learning: No matter how experienced you become, there is always room for improvement. Stay humble and recognise that there is always something new to learn.
Explore New Horizons: Don’t be afraid to step outside your comfort zone and explore new technologies and domains. The more diverse your skill set, the more valuable you become as a programmer.

Conclusion:

Embracing a student mindset in programming is not just about acquiring knowledge; it’s about cultivating a mindset of curiosity, humility, and adaptability. By continuously seeking to learn and improve, we can stay at the forefront of the ever-changing programming landscape and achieve greater success in our careers.

blogImage_CareerChange

My Career Change In Becoming An iOS Developer

My Journey to Becoming an iOS Developer
 
This is my very first blog post—how exciting! My objective with this blog is to detail my journey as a self-taught iOS developer, along with my side ventures in game development.
 
The Path to iOS Development
 
Before I became an iOS developer, I worked in various roles, from building surveying and managing retail departments to being a qualified CPC transport manager. These roles paid the bills but never excited me. My educational background includes a BSc in Property Construction and an MSc in Building Surveying. However, I struggled to find something I truly loved.
 
Discovering Development
 
Interestingly, I had dabbled in development as a child. At 12, I taught myself to create simple apps in Visual Basic 6.0, driven by a fascination with understanding how things worked. This curiosity led me to explore game hacking, reverse engineering games like GTA and Well of Souls, and using tools like W32DASM and SoftICE. Though my intentions were never malicious, this experience sparked a lifelong passion for coding.
 
Career Shift
 
Years later, while working in retail management, I realised I needed a change. I craved a better work-life balance and wanted to rekindle my creative side. Inspired to make a game for my son, I started learning Python but soon switched to Swift/Xcode for its comprehensive package. Despite the challenges, my perseverance paid off. Creating apps, even basic ones, filled me with a sense of accomplishment and drove me to pursue iOS development full-time.
 
The Journey Continues
 
I committed to iOS development, buying a MacBook Pro and diving into online courses and tutorials. My persistence led to landing my first iOS developer position, where I’ve grown significantly over the past two years. I even created an ARKit game called Eggsplode, which simulates an egg hunt using the camera.
 
Lessons Learned
 
My work now feels like a passion rather than a job. I’ve learned that continuous learning and problem-solving are crucial. Each project presents new challenges, and I enjoy taking the initiative to learn and grow. Embracing the “student” mindset is essential in this ever-evolving field.
 
Thanks for reading!
 
Faiq