“Beaze: Meet the Team” is a series on the team building out Beaze, a technology vendor procurement marketplace. Today, we’re chatting with Ahmed ElSayed, our Principal Software Developer, on how to drive software innovation.
For starters, we tackle real business problems with unconventional solutions. But really, my Beaze work family is also my family. We may not be blood-related, but the people I work with are my close friends who keep me grounded, and I want to see us succeed together. I’m both humbled and thrilled to bring my passion for technology to the table.
How did you break into technology?
Besides tinkering with the family computer running Windows 95, I was a massive fan of video games. However, the names were in English (which I didn’t understand at the time). Having grown up in a predominantly Arabic-speaking country, nobody told me what the actual names of these games were, so I made up my own for them. Like, for example, I somehow dubbed “Donkey Kong” as “The Boy and the Cave” since the main character entered a cave and had to slide under and jump over barrels. I was fascinated by how important hardware technology was in enabling those games to run smoothly.
In college, I knew I liked the problem-solving aspects of engineering and eventually settled on programming despite having enrolled in electronics. While it’s been years since graduation, I still get excited every day about learning new ideas, techniques, patterns, or technologies in the industry/field. Technology is inseparable from communication, which in turn is inseparable from cultural and global impact and change. I love how tech has the power to democratize access to knowledge, science, and education. Its impact on societies, cultures, and individuals is undeniable.
What’s your philosophy?
To know something, you have to have learned it first. The more you learn, the more you realize how little you know. One of the most useful technology experiences I had was a very senior coworker who helped review my code change very patiently and taught me how to organize my thoughts when thinking about a problem. It was a reasonably simple session, but I learned a lot by observing him break down a problem and organize my code better to be more readable and concise. I’m most grateful for my school, teachers, authors, and mentors who helped and taught me everything I know.
What are your go-to tools? What’s your secret weapon?
Task serialization is a big one. When there are bugs piling up, it helps a lot to have them all centralized in a tracker like Gitlab Issues. You get a flattened list of tasks that are easy to prioritize, sort and tag. This makes it easy to pick off work items one-by-one. Our team gained a HUGE productivity boost when we switched.
For ideation, nothing beats pen and paper. I like to outline problems and sketch out solutions. It seems counterintuitive for a developer, but it’s true. By breaking down problems into a visual decision or component tree, it’s easier to understand abstract ideas. It works for even the most complex systems, from single sign-on (SSO) logins to a distributed resource assigning and reclamation.
What lesson do you wish you had learned 10 years earlier in life?
Take ownership and pride in your work. As a software engineer, I proactively obsess about how customers use my products and I’m always on the lookout to find ways to boost their productivity. At my first job straight out of school, my team would often receive escalations from customers. I used to passively wait until a manager decided if we should work on it, ignore it or pass it along org-wise. Even if I knew how to solve the problem, I didn’t take any initiative. Later, I switched teams to work with a group of downright brilliant engineers. Their sheer passion and determination to make products better no matter what was clear as day. I immediately started looking up to them and trying to learn as much as I could from them. They always worked to produce the absolute best they could not rather than to just “meet the requirements” or satisfy an ask. That mentality encouraged me to reach for the stars in terms of innovation and advancement software-wise and strengthened my resolve to push software engineering as far as I possibly can.
What does success look like to you?
I always think of a quote from Einstein: “The definition of genius is taking the complex and making it simple”.
If I can find a solution that’s both simple and complete, then success feels near.
If you’ve ever been paged in the dead of night to debug failures in a production environment, you can probably appreciate the mission-critical importance of creating, and combing through debug logs. Once, there was this nestable deployment logger, which allowed software developers to define new scopes for logs. We created an XML serializing technology where the parser managed scope based on the XML tag. However, deployments with 100,000’s of logs bottlenecked because the parser needed to load the entire XML tree to append a node. In short, the cost of appending increased exponentially over time. Switching the implementation for a simple flat text with a simple scope level prefix eliminated the bottleneck and cut the code needed by half. It felt like the perfect combination of pragmatism, performance and reduction in complexity.
How do you keep up with innovation?
I’m curious. As hard as change can be, I honestly enjoy pushing myself to expand and adapt my skills at every opportunity. As Confucius once said: “The green reed which bends in the wind is stronger than the mighty oak which breaks in a storm”. Github, blogs, and programming discussion boards are all great places to explore and learn. If you need a running start, it helps to take a class first.
How do you give back to the community and why?
I assist with teaching computer science at a local high school and contribute to programming mailing lists and forums regularly. Helping others learn is both emotionally rewarding as well as instrumental in furthering my understanding. I’m better able to distill and explain these concepts to different audiences. I also used to volunteer at a dog shelter, which is where I found one of my dogs, Jasmine. I would never have found her otherwise, so really, the community is giving back to me too.
When Beaze goes big, what will your biggest claim to fame be?
‘letmein’ is not the worst test password.
Vivian, our CEO, wanted to demo our product to some investors and needed a demo turned around quickly. Trying to get it out the door in time for the presentation, I got a functional build out in time and thought it might be useful to have at least a little security against random web traffic. I gave it to her with a silly password ‘letmein’ (since it’s historically common and easy to break). She definitely remembered it, and now she won’t let me forget it either :D.