Introduction

My name is Ed Sioufi, and I am a 35-year-old software developer born and raised in Beirut, Lebanon, with a deep-seated passion for innovation and creativity. My journey into tech started at the age of 13, a pivotal moment when I wrote my first line of code. My curiosity was nurtured by my uncle, a computer science lecturer, who saw potential in my questions about how computers worked "on the inside." His challenge—"Do you really want to learn?"—was met with an enthusiastic yes from me, leading to him sharing with me the CDs (that’s right – those circular ancient relics!) of a Microsoft Certification Program. Reflecting on this brings a sense of nostalgia, reminding me of how far technology has come and how it has been a constant in my life. My early experience naturally guided me to studying computer engineering at university. It was a bit of an obvious choice, one that seemed already made for me. Further along the road, still driven by my desire to kick-start new projects and explore independently, I immersed myself in the startup culture. This journey was not just about honing my technical skills but also about embracing the entrepreneurial spirit that drives innovation. Co-founding a mentoring platform for professionals was a highlight of my career, offering invaluable lessons in the importance of understanding human needs and market dynamics—lessons that were more about the unpredictability of human behavior than the predictability of technology. These realizations prompted a shift in my focus from purely technical development to product management, where I could grow and apply my insights into human behavior to create more impactful and user-centered products. Alongside this professional journey, I've nurtured a hobby that offers a different kind of fulfillment: playing jazz piano. My early adventures in coding, coupled with my leisurely pursuit of jazz, have been integral to my development. They remind me that whether in technology or music, the joy comes from the process of creation and the satisfaction of bringing new ideas to life. As I continue to navigate the tech world, my focus remains on blending technical expertise with an understanding of human needs to build products that truly matter. My journey, marked by both challenges and achievements, reflects a commitment to lifelong learning and a passion for making a difference through technology—accompanied, of course, by the occasional jazz melody.

Software Development

career options

Software development is a dynamic and rapidly evolving field that offers a plethora of career paths to those interested in technology, problem-solving, and innovation. As businesses and organizations increasingly rely on technology to operate and grow, the demand for skilled software developers has never been higher. Whether you're just starting out or looking to pivot within the tech industry, there are numerous directions you can take your career, each with its own unique challenges and rewards. From specialized coding roles to leadership positions, the opportunities in software development are vast and varied. I, for example, started as a full-stack developer, then turned towards mobile for a brief period, before recently landing in the data engineering realm. Which areas speak to you today? What will your path be, and how will your direction change as you grow and evolve?

1
Front-End Developer
2
Back-End Developer
3
Full-Stack Developer
4
Mobile Developer
5
DevOps Engineer
6
Software Architect

Software Development

 skills

What are the main hard skills you use on a daily basis in your current job?

1
Programming and Scripting Languages

My daily work involves extensive use of multiple programming and scripting languages, including Python, SQL, and JavaScript. I've honed these skills through both formal education and self-directed learning, supplemented by hands-on experience in various projects. In practice, I use Python for data manipulation and automation tasks, SQL for querying and managing databases, and JavaScript for developing interactive web applications. These languages are fundamental tools for building and maintaining the complex systems that underpin modern web and data solutions.

2
Relational Databases & SQL

Managing and optimizing relational databases is a core part of my role. I've developed a deep understanding of database design and SQL querying through coursework, professional training, and real-world application. This expertise is critical for ensuring data integrity, performance, and scalability. I frequently apply these skills to design efficient database schemas, write optimized queries, and manage data transactions, ensuring our applications and analytics platforms run smoothly and efficiently.

3
ELT Processes and the Modern Data Stack

Transitioning to a data engineering role required me to master ELT processes and become proficient with the modern data stack, including tools like Snowflake, dbt, and Airbyte. I learned these skills through a combination of online courses, workshops, and on-the-job training. Implementing ELT processes allows me to efficiently manage data workflows, transforming raw data into actionable insights. This skill is crucial for supporting data-driven decision-making and analytics in my organization.

4
Cloud Computing and Services (AWS/GCP/Azure)

My experience with cloud computing platforms has been instrumental in deploying scalable and resilient applications and data pipelines. I've built my knowledge through certification programs and hands-on project work. Utilizing services like AWS Lambda, Google BigQuery, and Azure Blob Storage, I architect solutions that leverage the cloud's power for flexibility, scalability, and cost-efficiency, ensuring our systems are both robust and adaptable to changing demands.

5
DevOps Practices

Embracing DevOps practices has been a game-changer for improving the efficiency and reliability of our software development lifecycle. My journey into DevOps began with learning about automation tools, CI/CD pipelines, and containerization technologies through online tutorials, community forums, and practical applications. Implementing these practices, such as using Jenkins for automation and Docker for containerization, has streamlined our deployment processes, reduced downtime, and enhanced collaboration across development and operations teams.

What are the main soft skills you use on a daily basis in your current job?

1
Agency and Outcome Orientation

Agency and Outcome Orientation encapsulate my proactive stance towards work and my focus on achieving results. By setting clear goals, taking ownership of projects, and driving towards meaningful outcomes, I've been able to make decisive contributions to my teams and projects. This approach has been reinforced by setting personal milestones, seeking feedback, and reflecting on project outcomes, ensuring that my efforts align with the broader objectives of the organizations I've worked for.

2
Communication and Listening

Communication and Listening are at the core of my daily interactions. The ability to clearly explain complex technical issues and actively listen to feedback or concerns has been crucial, especially when working with non-technical stakeholders. This skill has evolved through presenting projects, participating in team meetings, and engaging in one-on-one discussions, ensuring that projects align with organizational goals and addressing any gaps in understanding.


3
Problem-Solving and Critical Thinking

Problem-Solving and Critical Thinking have been my go-to skills for navigating the intricate challenges of data engineering. Whether it's designing scalable data pipelines or troubleshooting data storage issues, applying logical reasoning and a methodical approach to problem-solving has been key. These skills have been honed through tackling coding challenges, debugging, and continuous learning, enabling me to develop innovative solutions that enhance system efficiency and reliability.

4
Teamwork and Collaboration

Teamwork and Collaboration have been indispensable, given the collaborative nature of data projects. Working harmoniously with data scientists, analysts, and IT professionals requires a blend of empathy, open-mindedness, and the ability to integrate diverse viewpoints into cohesive project strategies. This skill set has grown through participating in agile teams, contributing to cross-functional projects, and engaging in constructive code reviews, ensuring that each project benefits from a rich tapestry of expertise.

5
Lastly, adaptability and Continuous Learning

Lastly, adaptability and Continuous Learning reflect my commitment to staying abreast of the rapidly evolving tech landscape. The tech field's constant changes demand a proactive approach to learning and the flexibility to pivot to new tools or methodologies as needed. This skill has been developed through self-directed learning, attending workshops, and embracing new technologies, allowing me to continuously improve and apply cutting-edge solutions to data-related challenges.

Ed

’s personal path

Tell us about your personal journey in

Software Development

:

After wrapping up my studies, I dove headfirst into the job market, not with a flurry of applications, but with an eye on unconventional paths: startups, freelancing, and the odd jobs that came my way. It wasn't about sending out resume after resume for me; it was about making meaningful connections and hustling every step of the way. Networking was my compass. It was about the grind—attending event after event, reaching out to new faces on community platforms (like Lunchclub during the Pandemic) and even those marathon sessions of speed mentoring that tested my endurance. Every conversation was a step forward, a potential lead, a learning opportunity. The freelance hustle was real. Securing gigs meant constantly pitching myself, showcasing my skills, and, most importantly, delivering quality work that spoke for itself. It was about ensuring my name came to mind when opportunities arose. This approach wasn't just about finding work; it was about building a reputation brick by brick. When I look back at how I landed my current job, it wasn't through a conventional application but through a mix of part-time gigs that eventually led to a full-time offer. This journey to the U.S. and into a role I cherish was paved with persistence, resilience, and a bit of creative thinking. To those starting out, remember, there's no single path to finding a job you love. It's a mix of hustle, making your own opportunities, and yes, a bit of luck. But more than anything, it's about not being afraid to take the road less traveled and to keep moving forward, even when the destination isn't clear. Your journey might be filled with twists, turns, and a few setbacks, but each step is a lesson learned and a step closer to where you're meant to be.

What would you tell your younger you regarding building your current career?

Look at a stone cutter hammering away at his rock, perhaps a hundred times without as much as a crack showing in it. Yet at the hundred-and-first blow it will split in two, and I know it was not the last blow that did it, but all that had gone before. — Jacob Riis. I would share with my younger self the importance of patience and trust in the process of personal and professional development. Growth often occurs incrementally, not always visible in the moment but impactful over time. Embrace learning, be open to change, and remember that each experience, whether a success or setback, offers valuable lessons. Equally important is the essence of embracing every step of the journey. Celebrate each small win, whether it’s solving a complex problem or learning a new skill, as these moments build the foundation of your career. Understand the power of consistent, small efforts over time—this approach is key in achieving long-term goals and transforming challenges into steppingstones towards success. I would also highlight the importance of cultivating emotional intelligence alongside your technical expertise. Skills such as effective communication, empathy, and adaptability are indispensable in the tech industry. They not only enhance your ability to collaborate and innovate but also contribute to a harmonious work environment. Furthermore, prioritizing your mental well-being and personal growth is crucial. Finding a balance between work and life, managing stress, and nurturing your passions are essential practices that sustain your drive and creativity. To my younger self and those embarking on their tech journey, know that your path is uniquely yours. It's filled with opportunities to not only innovate and solve problems but also to grow as an individual. By balancing technical skills with emotional intelligence and personal care, you’ll not only advance in your career but also enjoy a fulfilling and meaningful journey.

Final thoughts & tips

As a final thought, I would like to highlight two pivotal strategies for students in the tech field: engaging with real projects and the essential pursuit of mentorship. These approaches not only dispel myths about the limitations of being a student but also champion high agency behavior in carving out a successful path in technology. Engaging with Real Projects The journey into real-world projects represents a crucial leap from theoretical learning to practical application. This shift challenges the pervasive myth that students are bound by an invisible shackle, restricting them to passive learning and low agency. The open-source community stands as a testament to the contrary, proving that the tech world values contributions from all, regardless of formal status or title. By participating in these projects, students break free from the notion of low agency, demonstrating that they can indeed influence and contribute to the technology landscape. This engagement not only fosters technical skills but also instills a sense of ownership, responsibility, and active participation in shaping the future of tech. The Importance of Seeking Out Mentors Parallel to the hands-on experience gained from real projects, mentorship plays a critical role in a student's development. Securing a mentor in the tech industry can drastically alter the trajectory of one's journey, transforming it from a solo venture into a guided exploration. Mentors provide wisdom, insight, and feedback that are unattainable through coursework alone. They help debunk the myth of the solitary genius, showcasing the value of collaboration, guidance, and shared knowledge. A mentor acts as a bridge to the professional world, demystifying the 'real world' of technology and reinforcing the student's capacity for high agency behavior. Through mentorship, students learn to navigate the complexities of the tech industry, armed with insider knowledge and a supportive guide. By embracing both real projects and mentorship, students in the tech field can transcend the traditional constraints of their role. This dual strategy not only combats the myth of student limitation but also promotes a model of high agency, empowering learners to take active control over their educational and professional journeys. Such an approach ensures that students are not merely passive recipients of knowledge but are dynamic participants in their learning and career development, fully capable of contributing to and shaping the future of technology.

Ed Sioufi

Ed Sioufi

Software Development
Build Fellow
Open Avenues Foundation
Open Avenues Foundation

Edouard Sioufi is a Software Development Fellow at Open Avenues Foundation based in San Francisco, California.

He currently works as Senior Data Engineer at BigLittleRobots and has been writing code since he was 13 years old. Originally from Lebanon, Ed holds advanced degrees in Computer Engineering. In his free time, he enjoys jazz music and reading philosophy.

More like this