
Fatih Bakir – MS/PhD student in CS
In his own words – Interviewed during 4th year of PhD in CS (2020)
About Fatih
- Hometown: Ankara, Turkey
- Previous Degrees: Computer Engineering Undergraduate from Middle East Technical University
- Advisor / Lab: Chandra Krintz and Rich Wolski / RACELab
- Main Area of Research: Operating systems for resource constrained devices
- Research Interests: operating systems, runtimes, compilers, linkers/loaders, network protocols, security
- Important Conferences: presented in HotEdge’19
- Important Awards & Honors: 2017 Holbrook Fellowship
- UCSB Student Organizations: Institute of Electrical and Electronics Engineers (IEEE)
- Professional Memberships: ACCU – a non-profit user group interested in software development and the standard of computer programming
- Hobbies and Interests: I enjoy specialty coffees, playing tennis and tinkering with electronics
- Publications: https://cs.ucsb.edu/~bakir/publications.html
Favorite things about
- CS Department: Everyone is positive and helpful
- UCSB: The campus is right next to the ocean!
- Santa Barbara: The city is peaceful and the location is great
Fatih and his research
Tell us about your research: My research focuses on building efficient system software that scales from a tiny 8 bit microcontroller to a giant multiprocessor datacenter server. I work on a broad range of software, from an operating system kernel to managed language runtimes, compilers, linkers and loaders. There is a problem to be solved in every layer of the stack to reach my vision. Concrete research topics include efficient dynamic linking, portable binary programs, efficient access control through capabilities etc.
How and why did you get into your area of research?: I’ve always been interested in foundational pieces of software ever since I was introduced to programming. While working on a personal electronics project in the summer after I finished my undergrad, I started working on a small environment to help with embedded development. At the end of my first year in PhD, I helped a colleague in the lab with her project and realized that there were a lot of improvements to be had in this area and decided to work on them.
Why did you select UCSB and CS in regards to your research?: There isn’t a single factor that swayed my decision. The location, campus, faculty, program and the work in our lab had a great combined appeal.
What do you find rewarding about your research?: Systems research is very practical, at the end of every paper, having a physical, working application is very exciting. Since my work is also an infrastructure piece, helping others achieve great results and hearing my work made their work easier is very satisfying.
Thoughts on working in a group research environment: Having lab mates and advisors to go over potential ideas, helps create new ideas or finds critical holes in existing ones, which then can turn into amazing productivity boosts. It has also been a great eye opener for working alone for many years, many things I would not have thought to be great ideas ended up having great results and vice versa.
UCSB prides itself on its collaborative atmosphere, give some examples of how you collaborate: I haven’t really thought about this before, but I realize I have published a joint paper with almost everyone in my lab in just two years. I suppose collaboration just comes naturally, we mostly work on different topics, but we often find there is greater strength if we merge our work even in tiny parts. Unfortunately, since my internships did not involve my core research areas, I could not collaborate with my host groups after.
Academics at UCSB
Strengths of the graduate program: I’m impressed with the diversity of quality research (and by extension courses) in the department. I took graduate courses in a broad range of areas and every one of them was taught by an excellent researcher in that topic.
Favorite course: While I enjoyed almost every class I took here, Chandra’s Runtime Systems (CS263) was the best one, touching on almost every piece I’m interested in.
Describe your GSR or TA describe your experiences: I was a TA for the first 3 quarters, in which I taught Object Oriented Design and Implementation (CS 32), Computer Organization and Logic Design (CS 64) and Operating Systems (CS170). I taught sections in one of the classes and in others I oversaw lab sections. I enjoy teaching and passing knowledge, so I had a much better time in the teaching section, so if I ever have to TA again, I’ll definitely get a teaching one. After that, I switched to a GSR position and have been one ever since. My research involves a lot of physical devices and I often have to be at my desk to be able to evaluate my research. This involves deploying the software to various boards, confirming everything works correctly, and measuring runtimes, power usage etc.
Life as a graduate student
Quality of life as a graduate student: While I heard many horror stories from a lot of PhDs over the years and while around deadlines things get stressful, so far my experience has been great. The work life balance is excellent and I always have plenty of time to spend with family and friends. I don’t know if this experience generalizes to the whole department or school, but I appreciate my lab’s approach.
What is your social life like?: I have a small group of friends that I hang out with often and all of them are graduate students I met here. I lived in San Clemente in my first year and I have been living in family housing with my wife after that. It’s a great place to live, it’s very relaxed and peaceful. Covid made a huge hit in our social lives – we used to organize coffee hours, happy hours and board game nights pretty much weekly in the department. At least we still get to play tennis :)
Tell us about your summer break?: I’ve been an intern at Google this summer, working on a new profile guided optimization on LLVM. It was a remote internship, so I got to enjoy Santa Barbara the whole summer, for the first time!
Advice to prospective graduate students: One thing I have been practicing is not to work on a moonshot and hope for a breakthrough after many months’ work. I try to have my work yield small results along the way and get something concrete done at the end of every day so I won't get into a situation where I run out of time. That way you won’t have to worry about whether or not you’ll get results which will give you a peace of mind even if your grand plan doesn’t pan out.
Future Plans...
Where will your research take you next and what are your future goals: My current plan is to get into an industrial research position after graduating. While I enjoy research thoroughly, I’m not sure if a traditional role in academia is right for me (and I’m probably not a great fit for that role anyway!).