About Ata Sasmaz
🌴 On a career break to pursue independent initiatives, likely until Fall 2024.
As a seasoned Software Engineer, I specialize in the nuances of web application development, deployment, and maintenance.
Born in Turkey, I've called Ireland my home for over a decade now. My childhood dalliance with web development culminated in formal education, earning me a B.Sc in Software Engineering.
Over the years, I've immersed myself in a wide spectrum of web technologies, ranging from server-side innovations to evolving frontend techniques. My portfolio boasts of rearchitecting deployment for mammoth websites such as Etsy.com, which operates thousands of servers, and I've played pivotal roles in service-centric systems like Groupon.
DevOps holds a special place in my heart. I'm invigorated by the challenge of seamlessly managing and running large-scale applications that demand impeccable uptime. However, I staunchly believe that the crux of DevOps challenges should be nipped in the bud—right within the application. In this light, I fervently advocate for and practice high-caliber web application development, bolstered by automation and efficiency.
AI: The New Frontier
The AI domain has recently captured my fascination. I find AI tools transformative in reshaping software engineering dynamics. While they're gradually usurping Google Search's dominance in my toolkit, they have their own strengths and limitations—which I'm eager to delve into further in an upcoming blog post. Nevertheless, the strides AI is making to enhance development productivity are undeniable. It's exhilarating to think that soon AI might not just assist but spearhead project developments, a feat some firms are already exploring.
My Genesis in Tech
My tryst with technology began when my younger self chanced upon a computer game named Ultima Online, the pioneering MMORPG. My curiosity wasn't merely piqued by the gameplay but the underlying scripting that brought the virtual realm to life. By 13, I was knee-deep in the Sphere scripting language, adding my own quirks to the game. This nascent passion burgeoned into a professional pursuit, leading me to embrace web technologies, and subsequently, roles as a web developer during my college summers. My unquenchable thirst for challenges, combined with an innate knack for ideation, has continually driven me to refine the digital realm.
My Core Values
Simplicity Over Complexity
A simple solution is often a more effective one. I ardently advocate for simplicity, especially in an age where AI-based tools are evolving rapidly. These tools are at their best when faced with straightforward, encapsulated challenges, rather than convoluted, bespoke problems that even seasoned developers struggle to decipher.
Possibly the most common error of a smart engineer is to optimise a thing that should not exist. - Elon Musk
Embrace Automation and Testing
I'm a staunch believer in the power of automation. Anything left manual is prone to oversight and inconsistency. Similarly, untested components are ticking time bombs, waiting to malfunction. However, the emphasis should always be on the quality of tests rather than sheer quantity. For instance, unit tests should target encapsulated logic, while integration tests and smoke tests address combined components. The environment is key – a reliable, fast, and debuggable setup can make all the difference, which you can even attach a debugger on a test running in a remote environment.
If something is not tested, it will be broken and will be forgotten.
Address the Root Cause
Patches and quick fixes are mere Band-Aids. In the evolving landscape of software engineering, it's imperative to identify and address root causes. While this approach might require more effort upfront, it pays off in the long run by preventing compounded issues and technical debt.
Staying current with component updates is non-negotiable. Outdated components soon turn into legacy burdens, which can hinder performance and security. Regular updates might come with their own challenges, but that's where our trust in automation and rigorous testing comes into play.
Choose Widely Adopted Technologies
The strength of a technology isn't just in its features but also its community. Relying on obscure, less-popular technologies can lead to roadblocks due to a lack of resources and community support. Prioritizing mainstream, well-documented technologies ensures robustness and a richer pool of resources to draw from.
Divide, Re-use, Conquer
Separation and modularity are at the heart of efficient software design. Systems and components that communicate through clear interfaces – whether API or code-based – pave the way for more encapsulated, reusable, and testable components. Embracing a multi-project, multi-repository approach integrates during automation and communicates in production promotes simplicity and agility, allowing for quicker iterations and more robust final products.
My Continuous Pursuit
Web applications, especially the ones optimized for mobile and epitomized as Progressive Web Apps, fascinate me. The future, I believe, lies in these apps running as encapsulated single pages, seamlessly communicating with an array of independent services. Advancements in web tech, like facilitating group calls or leveraging mobile features such as GPS and web push-notifications are awe-inspiring. I'm committed to pushing these boundaries further.
I'm an avid DIY enthusiast, skilled in woodworking, plumbing, and electrical tasks around the house. My green thumb shines in maintaining a pristine lawn, and I take pride in my gardening expertise. Fitness is a part of my daily routine, making me a regular at the gym. While I consciously avoid alcohol and other potentially harmful substances to maintain clarity and focus, I always appreciate a rich cup of coffee.
Eager to chat or collaborate? Reach out — I'm always keen to connect and exchange ideas.