UG-Alumni-spotlight-Franklin Bradfield

Frank
1.) What are you currently doing?

I'm currently working as a Research Engineer at Georgia Tech Research Engineer, while also pursuing a Masters in Computer Science from Georgia Tech. Most of my current research revolves around knowledge-based approaches to machine learning and natural language processing (NLP).


2.) What do you enjoy the most about your current work?

What I love most about working in NLP research and tech in general is the incremental progress you get to observe making each day in your projects. There are many fields where it's hard to see impact and you sometimes feel like little more than a cog in a giant machine, but in tech there's a lot of immediate feedback, whether from a project, your team, your company, or the world beyond. It's satisfying to solve a problem that you've been stuck on for days or weeks and even more so when you realized that perhaps no one has solved that exact problem before. Each day is unique, and the work is anything but repetitive. One day you may be implementing an algorithm you read in a research paper, another you may be assembling a data pipeline for your models, and another you may be preparing to demo an application that you've been working on for months to your sponsor or client. Although the incremental progress is what motivates me day-to-day, it's also nice when a project wraps up and you get to reflect on what you accomplished.


3.) How did the Department of Applied Linguistics/ESL prepare you for this?

Studying Applied Linguistics gave a strong background in natural language and domain knowledge that I apply to my work each day. We're increasingly getting to the point in machine learning and data science where a lot of the low-hanging fruit has already been harvested, so building bigger models, sourcing bigger datasets, and applying more computing power can only get you so far. Domain knowledge is useful when you've exhausted these three traditional sources of modeling power and need to step back and think about how a complex system such as natural language actually works for those that use it (humans).

Semantics & Pragmatics and Morphology & Syntax were two of the most useful classes that I took as an undergraduate, as they inform some of the solutions that I am working on to difficult NLP problems, such as word sense disambiguation and entity linking. In Languages & Computers, I received my first introduction to machine learning and NLP, and although I didn't understand how learning happens mathematically at the time, I was fascinated by seeing an algorithm that makes predictions, checks where it made mistakes, and improves its internals in order to make better predictions in the future. This experience greatly inspired my career direction when I was at a fork trying to decide where to specialize in tech.


With that in mind, I have to remind myself that computers are not humans and vice-versa. Most of the cutting-edge advances in NLP that drive machine translation, speech recognition, and other tasks are based in statistics and probability, and not entirely in linguistics theory. Long gone are the days where machine learning practitioners attempt to build model architectures on some notion of how human faculties operate in reality. Neuroscientists aren't really sure how the brain works, and linguists are split into a variety of camps, each one with a different idea of how language works in the abstract.  As it turns out, trying to precisely engineer a human process such as a language is really, really hard, but feeding a model tons of data and telling it to figure out what it means isn't so tough after all. It's good to balance both sides.


4.) What advice would you give current UG students based on your 
experiences?

Unless you have a strong grasp on your career direction and know exactly what you'll be doing upon graduation, then I advise learning a programming language and doing your best to integrate it into your studies and work where you can. Generally speaking, people pay you to do things and not just have a bunch of knowledge in your head, and it just so happens that programming is perhaps the most efficient means of translating knowledge and skills into real-world impact. With strong teaching skills, you can reach perhaps thousands of students in your lifetime, but with strong teaching skills and technical skills, you can reach tens of millions -- just look at Sal Khan.


This is one of the most marketable skills in today's economy that will benefit you in almost any field that you could go into. When I was an undergraduate, although I realized the value of technical skills, I was too intimidated and considered coding  something that only computer science majors could handle. It wasn't until two years into a teaching career that I was increasingly unsatisfied with that I decided to dive in and teach myself Python. It was a little overwhelming at the start, but just like learning a foreign language, the more you learn, the easier it becomes to ask the right questions and fill in gaps in your knowledge. And just like how you don't need to speak a foreign language at native proficiency to carry on a useful conversation, you also don't need to have mastery of a programming language or a particular technical skill to be useful, but you do have to get started. Don't delay.


Besides this, take the time to write a solid resume and make sure to contribute to it every few months. Make a LinkedIn where you put your best self forward. No matter how many skills you've acquired or how much knowledge you possess, it's hard to be successful without self-promotion and networking. If you are trying to get into a field but find that no one will give you a break, then work on projects of your own or offer to work for free. Some might advise avoiding unpaid work, but if you're really passionate about something, you've got to remember "There's no shame in working for free, but there's plenty of shame in not working at all."