Introduction
Greetings, I am David Abadi, proudly representing Panama. My foray into the tech realm began during my undergrad studies at Boston University, where I immersed myself in the world of Computer Engineering. Growing up surrounded by civil engineers, my fascination with Legos laid the foundation for a deep-seated passion for digital crafting. As I dived into computer engineering, coding, and design became second nature. The turning point came during an eye-opening internship in Software Engineering in the Summer of 2017. This invaluable experience took place at a prominent telecommunications and software solutions company.
During my role as a Software Engineering Intern, I actively contributed to the company's growth by assisting in establishing new concepts and enhancing existing services. My day-to-day tasks included collaborative efforts with diverse teammates, collectively working on projects and tasks that further solidified my understanding of software engineering principles. Despite the initial challenges, like working with cutting edge technologies, it opened doors to a myriad of opportunities, setting the stage for a journey filled with growth and learning.
My professional path led me to contribute as a Software Engineer in the dynamic world of banking. Here, I honed my skills in developing robust and secure software solutions to meet the ever-evolving demands of the financial sector. The experience not only sharpened my technical expertise but also instilled a keen understanding of the critical role technology plays in shaping the financial landscape. Transitioning to a role in a company specializing in farm management systems, I found myself at the intersection of technology and agriculture. This unique experience allowed me to apply my software engineering skills to create innovative solutions that streamline farm operations, optimize resource utilization, and contribute to the sustainability of agricultural practices.
Now, armed with a rich background in Computer Engineering and a knack for Software Engineering, I am eager to share the real essence of this field. It is not just about writing code; it is about crafting entire digital experiences that impact diverse industries. Join me as we dive deeper into the nuts and bolts of Software Engineering. Whether you are starting your journey or a seasoned professional, let's unravel how these skills can carve a straightforward and impactful career at the gritty intersection of tech and creativity.
Computer Science Fellow
career options
Discover various career paths in Computer Engineering. This list showcases different roles, such as software development and cybersecurity, underscoring the potential for specialization and growth within this dynamic field.
Develop, design, and maintain software applications and systems. Code, test, and debug programs to create efficient and functional solutions.
Design, implement, and manage computer networks for organizations. Ensure network security, performance, and connectivity.
Work on the design and development of embedded systems, combining hardware and software for specific applications such as IoT devices, medical devices, or automotive systems.
Focus on protecting computer systems, networks, and data from security breaches. Develop and implement security measures to safeguard against cyber threats.
Utilize data to extract meaningful insights, patterns, and trends. Develop algorithms and statistical models to analyze and interpret complex datasets.
Design and develop computer hardware components, including processors, circuit boards, and memory systems. Collaborate with software engineers to optimize hardware-software interactions.
Computer Science Fellow
skills
What are the main hard skills you use on a daily basis in your current job?
Writing, debugging, and maintaining code in different languages like C++, C# and PHP. I developed this skill in every step of my career. I learned C++ during my undergraduate and then using the basic concepts of programming languages I learned PHP during an internship. I learned C# while on my current job through different online courses and with tasks that would increase in difficulty.
Designing, implementing, and maintaining databases, ensuring efficient data storage, retrieval, and integrity. I learned about database management during an internship, where I started with the most basic concepts like data storage and very simple data retrieval. During my current job, I was exposed to more complex data retrieval methods while making sure the data integrity was maintained.
Collaborating with team members by managing and merging code changes, tracking versions, and resolving conflicts using Git. I learned Git very early during my college years. It was very important for all types of projects, individual and group.
What are the main soft skills you use on a daily basis in your current job?
Identifying and troubleshooting software issues, analyzing requirements, and devising efficient solutions to overcome challenges in the development process. Like in many types of engineering, software engineering is no stranger to problems having multiple solutions. Problem solving is a never-ending skill, with the rise of new technologies also comes new solutions to previous problems. I try to maintain myself at the vanguard by subscribing to different news outlets relevant to programming, especially for the languages I use daily.
Effectively conveying technical ideas to team members, participating in meetings, and documenting code and project progress for both technical and non-technical audiences. During both of my full-time jobs I have had to work with project managers (PM) and have learned how to address my ides, questions, and concerns in a non-technical way so that the PMs (which have little to none technical knowledge) could understand.
Prioritizing tasks, managing workloads, and meeting project deadlines by efficiently allocating time to various development tasks and responsibilities. I learned how to manage my time during my undergrad studies to succeed in all my responsibilities.
David
’s personal path
Tell us about your personal journey in
Computer Science Fellow
:
My passion for Software Engineering began during my first internship; it was my first real dive into my career. After submitting my application for the internship through LinkedIn, I underwent a rigorous interview process that included both technical assessments and discussions about my experiences and goals. I received an offer to join the program, and I eagerly accepted the opportunity to contribute to the dynamic environment of the telecommunications and software solutions company. Since then, I have experienced a roller-coaster journey in securing a full-time job, let alone my dream job.
During my senior year in college, I applied to numerous positions, ranging from tech giants like Google, Microsoft, and Facebook to smaller companies I had never heard of before. Despite many interviews, I faced continuous rejections until I finally received an offer from a company called Mtech Systems, specializing in farm management software. I was thrilled to have my first job offer. As a student with an F1 visa, I needed to apply for Optional Practical Training (OPT) to work in the U.S. I prepared all the necessary paperwork but, unfortunately, could not return to the U.S. after spring break due to the global pandemic. Being out of the country resulted in my losing the offer since I could not apply for OPT.
Devastated, I began searching for a new job back home and sought to broaden my career prospects. The opportunity to join a national bank as a Systems Engineer arose through an extensive job search and engagement with career resources. I discovered the position through various job-search platforms and networking events, tailoring my application to highlight relevant skills. To prepare, I researched the bank's systems, policies, and industry trends, and engaged with current or former employees for insights. The comprehensive interview process covered technical and behavioral assessments, focusing on problem-solving, system design, and coding skills. Preparation involved revisiting core concepts, conducting mock interviews, and aligning my experiences with the bank's expectations. Successfully navigating the process, I secured the position, highlighting the importance of proactive job searching, targeted preparation, and leveraging professional networks in securing roles in systems engineering.
After working at the bank for over a year, thoughts of the job offer I lost at Mtech Systems lingered. I decided to reach out to them and inquire about the possibility of a sponsorship. Surprisingly, they agreed, but I had to reapply for the position. Without much hesitation, I updated my LinkedIn page and resume and reapplied. I went through an interview process that lasted over four weeks. During those weeks, I had multiple zoom calls, ranging from general interviews to technical. The general interviews, led by the HR team, were focused on me, and my experience working with other developers. The technical calls, led by my future manager, were about my programming skills and what I considered were the best practices when developing in teams. In addition, I was asked to take various technical tests, which I prepared for by practicing with online practice tests. After multiple interviews and assessments, I was able to secure a new offer for the job I had lost two years prior. I have been working there ever since.
What would you tell your younger you regarding building your current career?
If I were to advise my younger self about building my current career, I would offer the following insights: Embrace Continuous Learning: Never stop learning. Technology evolves rapidly, and staying updated is crucial. Invest time in learning new skills, tools, and technologies relevant to your field. Don't Fear Failure: Mistakes and setbacks are part of the journey. Don't fear failure; instead, treat it as a learning experience. Each challenge is an opportunity to grow and improve. Stay Open-Minded: The career landscape is ever-changing. Stay open-minded and be willing to adapt to new technologies and industry trends. Embrace change as an opportunity for growth. Remember that you can accomplish remarkable feats. Have confidence in yourself, listen to your instincts, and welcome the thrilling adventure that awaits you.
Final thoughts & tips
In conclusion, embrace the journey of exploring your passions and interests. Be willing to take risks and step outside your comfort zone. Acknowledge that your career path may not be straightforward, and that is kay. Learn from each experience, trust in your abilities, and stay curious in this ever-evolving field. Surround yourself with a supportive network, hold onto your passion, and believe in your potential to make a meaningful impact. Your future is full of possibilities; seize them, push boundaries, and shape the future with your unique talents. Best of luck on your exciting journey!