Kyle Stratis is a senior data engineer at VIZIT Labs, where his responsibilities include everything to do with data and backend engineering. He also writes and reviews Python tutorials for Real Python and about knowledge management on his personal website. He graduated from the University of Florida with a Master’s degree in Behavioral and Cognitive Neuroscience after deciding to leave his Ph.D. program to pursue a career as a software engineer.
How was your University time?
I enjoyed my time in university very much. However, none of my immediate family had graduated college (my dad only attended for a short time when he was young), so I was a bit lost in what to study and how to study. I never developed good study habits in high school and all of a sudden needed them in college. I also chose a major that wasn’t right for me (electrical engineering), and when I tried to change to computer science, I wasn’t allowed because it was such a popular program. So I went to study neuroscience, which leads me to graduate school studying how attention affects the inner ear and brainstem.
Why did you choose Senior Data Engineer as a career in this field?
I’ve always loved programming, and working in my lab required a lot of coding, which re-ignited my love for it. I was catching up with a friend from undergrad who had graduated with a CS degree, and his job sounded like a dream compared to mine. Half the hours, 5 times the pay…I knew I had to make a switch. He helped me make that change and, to this day, has been an excellent person to bounce ideas off and get feedback on my career.
What was your first job or nuggets from jobs you had that helped you get to where you are today?
My first job was at a company called Aderant that made software for law firms. I picked up early on that I need to keep pushing myself to learn and build, especially since I didn’t have a degree to buff my resume when I was starting. I was able to use the time management skills I developed in graduate school to build side projects, learn about the theoretical side of software engineering, and pick up new technologies. This helped me greatly every time I wanted to make a career switch.
How did you prepare for the interview?
My process usually includes reviewing my own resume, memorable projects and problems I’ve run into that I can speak of in interviews, and practicing algorithmic questions on sites like Leetcode.
Can you provide some book recommendations?
For software engineering, Designing Data-Intensive Applications and The Pragmatic Programmer are some of my favorites.
Things are changing very fast in the industry; how do you keep yourself updated. Please list techniques or newsletters, podcasts, events, etc.
I build, and I write. I have lots of things I want to build and languages I want to learn, and I learn best with projects, so I create them and take copious notes. I then turn those notes into articles and videos to teach what I’ve learned. This ensures that I fully understand what I’m writing about and provides a useful reference for me to look back on as well. I also like programming podcasts and newsletters. The Real Python podcast is one of my favorites, and I’ve been a guest on it a few times now. The increment is a fantastic quarterly magazine put out by Stripe, and I really like the Software Lead Weekly, The Generalist, Pointer, and The Pragmatic Engineer newsletters.
Any advice about CVs?
Make them concise and talk about your and your team’s accomplishments more than specific technologies you worked on.
Advice for someone looking for a job?
Make sure you do ample research, make connections in your local community, and as you grow, be that connection others can come to for help in their own careers. The more you help others, the more it comes back to you (and then some).
Why do you think you were selected among other candidates?
I think it was just a good match in personality, technical skills, and background knowledge for my current job. I like to rapidly spin out prototypes, build tooling, and experience that straddles software engineering, data engineering, and machine learning, which is a good position to work at an AI startup.
Lessons from jobs that you couldn’t get.
The biggest thing is not to take it personally. Even if you thought it was a good match, maybe the team didn’t, and that’s not necessarily a poor reflection on you. Chances are, if you tried to force the match you wouldn’t be happy anyways. Make peace with that and continue the hunt.