Loading…

How I Open Sourced My Way to My Dream Job: Mohamed Said

Article hero image

Mohamed Said got his first computer at age 13—they were just becoming commonly accessible in Egypt—and started learning to code almost immediately. Flash was what drew him in, he says, with its animations and color and, well, “flashy” stuff.

Mohamed Said

He laughs remembering his first website, an informational page about the Nile River built with Macromedia Flash. “For some reason,” he says, “I thought it might be brilliant to add a fish that’s moving back and forth inside the webview, so I had this really badly illustrated fish moving all over the website covering text and images—I was so proud of it.” With that badly illustrated fish, Said’s interest was sparked, and as a teenager he kept up with new technologies in web development. Eventually he would begin college for mechanical engineering, but would drop out when he decided programming was the career for him (he’s one of the 56% of developers who do not hold a bachelor’s degree in computer science or a related field). Last month, Mohamed Said became the first full-time hire at Laravel, an open source PHP framework built by Taylor Otwell. Otwell built the framework as a side project, and when it took off, quit his job to work on it full time. Just a few months ago, he decided he needed help maintaining the project and posted his first full-time job opening, and Said was an obvious choice. “When I interviewed with Taylor,” says Said, “it only took 10 or 15 minutes.” His open source work was really all the application and interview he needed, demonstrating a growing trend in the industry: what you’ve done (and can demonstrate) has more of a positive impact on a developer’s career than how well you interview, where you went to school, or even who you know. “My first Laravel pull request was in February 2016.” Just eight months later, he was working on the project full-time. I sat down with Said for a few minutes to discuss how he grew from a 13-year-old boy in Cairo programming Flash fish to a guy who gets paid to work on his favorite open source project every day.

PHP and Laravel

Said’s first professional job as a web developer was at a company in Egypt; he was 19. “It was pretty basic,” he says, “just HTML and basic stuff.” His career would take him into web design and WordPress, but in his own time he started learning PHP. In this way, he’s largely self-taught, reflecting a trend we saw in our 2016 Developer Survey (69% of respondents were at least partially self-taught). At 21, Said landed his first job as a PHP developer, and when a friend introduced him to the Laravel PHP framework, he began following well-known Laravel enthusiasts Dayle Rees and Jeffrey Way on Twitter and looking into their Laravel tutorials. He liked the framework immediately, he says, “because the documentation was so clear and thorough, and made everything look so easy.”

Laravel homepage

Open Source

Though he was working as a developer, Said says he had never contributed to any open source code. He wasn’t even thinking of Laravel in terms of “open source software”; it was just another tool he could use to do his job a little better. But he had also started teaching himself iOS development and found he wanted to share his code, so he began creating his own GitHub repositories, getting his feet wet in open source. He continued to use Laravel in his job, but didn’t make any contributions to it until version 5.2, when he encountered an issue while using it at work. He started digging and trying to solve the problem; eventually he found a fix and submitted it to the Laravel repository. Otwell replied, they discussed it, and eventually his contribution was merged This was Said’s first real open source experience, and it’s one familiar to many developers: he had no interest in contributing to the software he was using until he ran into frustrations in doing his job. The nature of Laravel and its open source code allowed him to solve the problem he faced, and share that solution with others, and that’s what sparked his ongoing interest in open source and in Laravel specifically. Next month will mark one year since he first began contributing to open source software, and just nine months since he first submitted that pull request to Laravel. After he’d seen some of his code merged, he says, “I wanted to see my name on the contributors list in the Laravel GitHub repository.” That immediate connection to the community and the desire to be recognized and acknowledged as part of it can be a powerful driving force in developers just starting to explore open source. So he kept digging, looking for ways to enhance the code, and submitting pull requests. Today he has 148 commits in Laravel and is its 5th-most prolific contributor. He was also one of just two contributors Otwell mentioned by name in his keynote at the Laravel conference in 2016—-evidence of his value as a community member and contributor. As he became part of the Laravel community, he began writing articles, building plugins and packages for Laravel, and contributing to the community any way he could. “I wanted to get my name out there, attached to Laravel, in a lot of places,” he says. “It was exciting to be part of that community.” So when Otwell posted a job opening for his first developer hire, Said applied. He and Otwell had already been working together for the better part of a year, through open source contributions, so Otwell knew what he could do and knew he had a deep understanding of and appreciation for the framework. Otwell hiring him to work on Laravel full-time, Said says, has been the most exciting move of his career. He spends his days now knee-deep in open source, reviewing pull requests and issue reports, digging into the framework the way he used to do for fun.

Roadblocks

In the Middle East, Said says, open source is not as popular as it is in the West. He believes this is because a developer’s day job takes much more time and attention than the traditional 9 to 5. Developers are often on call 24/7 in the Middle East, leaving them with no time or energy to work “for free” on open source projects; the entire concept seems to be a waste of precious time when you’re already spending so much time working. Said, who still lives in Cairo, says he wishes more Middle Eastern developers were involved in open source. He’s passionate now about the communities and the work being done there, and believes everybody has something to contribute. To his Middle Eastern peers, he says open source is not a waste of time, and has immeasurable benefits. After all: open source allowed him to escape that 24/7 on-call life and find a full-time job he genuinely loves.

Why contribute?

Said strongly believes every programmer should at least try some open source involvement. The benefits highly outweigh any roadblocks, he says. Growth and opportunity “My favorite part of this job,” says Said, “is how much I learn every single day.” He says he’s learned more in open source than he did in all his education and work experience before that. “Being able to see so many other people’s code, to see firsthand how they work, has taught me so much.” Because open source software is publicly available, you can study it and learn to be a better programmer. When you share your own code publicly, you can invite critique and discussion to improve your skills. And when you find and report bugs, you can add those issues to your knowledge base and know not to repeat the same mistakes yourself. Said is a prime example of taking a nontraditional path to a new job. He didn’t work his way up through a company, expanding his resume each year with new titles and promotions. He didn’t apply and then work through endless interviews and white-board tests. He landed his dream job because of his open source contributions.

The open source culture

Said says contributing to open source has opened up new worlds to him. It allows developers from everywhere on earth to cooperate, coordinate, and create together. “I wish everybody would contribute to open source code. Without people around the world sharing their code and contributing, there is no Laravel, and there is no community.” Many open source proponents see the platform not just as a way to build software, but as a lifestyle. Access, transparency, and open discussion are all aspects of the culture that many people value greatly.

How do I get started?

Said believes many developers, in the Middle East and elsewhere, are interested in the open source community, but not sure how to get started: “They think they have to wait until they have something perfect.” That’s simply not the case, Said maintains. He encourages developers to dig deep into their favorite projects, especially into software they work with on a daily basis, and look for places they can offer “enhancements” to existing code. Open source, he believes, is the best experience a developer can show in an interview. “Tech interviewers want one thing,” he says: “Show me your code.” You can share code you’ve written for your day job, but it’s probably impersonal or boring or even proprietary and closed source, so you can’t share it at all. Some code at work is done as part of a team and you can’t pick out what you did and what Jane down the hall did. Open source, on the other hand, is all you. It’s your passion, it’s publicly accessible, and it has your name on it. Open source, Said says, is where developers can go to make a real difference and show what they have to offer. It’s public, and it’s part of a community that gives your code validation and approval. This is incredibly valuable as you build a career. For a 13-year-old boy in Egypt, captivated by the capabilities of Flash so many years ago, open source software has changed everything. “The biggest perk,” he laughs, “is that I get the inside scoop in Laravel, and I know all about new features before anybody else in the community.” There are a lot of ways to get a good job. Said is an example of what we see as a growing trend: developers who find their way through their careers in their own ways, using the tools they have to level up as they go. We know open source work can be hard on a busy schedule. What are your tips for finding (or making) the time?

Login with your stackoverflow.com account to take part in the discussion.