My Data Engineering Journey Without A Software Degree – Part 1 – My Thoughts on Education

My Data Engineering Journey Without A Software Degree – Part 1 – My Thoughts on Education

Hello folks. My name is Carlos Cabán and I’m a Data Engineer at Reddit as of October of 2023. I thought I’d go over how I went from being an analyst out of college to doing larger scale data work with companies like Reddit and Netflix without going to school for software engineering. This will be the first post of many. I’ll start off with my thoughts on my education, what I did immediately after college, some random good luck I experienced on the way, what I’m generally up to today, and some lessons learned. I don’t intend for these blog posts to be a how-to, but maybe it’ll give you some insight if you’re thinking about doing a similar switch. Please feel free to post comments or ask questions, I’ll try to get to them in a timely manner.

My Education: Why I Don’t Think College Was a Waste of Money and Time

My joint math/econ major isn’t explicitly related to what I’m doing today as a data engineer. I’ve met several folks in the tech industry that didn’t have a college degree altogether. But does that mean college is a complete waste of time? It wasn’t for me. But I don’t think it’s obligatory. I’d generally recommend going to school for something if it’s at all feasible. This includes community college. I did about 1 or 2 years at my local community college during highschool and then four years at a UC school. Why would I recommend school? Because…

1. College Was a Fun Experience

This is the primary reason why I’d recommend school to folks if you can afford it. You meet people from all walks of life, from different countries, different socioeconomic statuses, etc. It’s a great excuse and opportunity to broaden your horizons. In retrospect, this is the first thing that comes to mind when I think about why college wasn’t a waste of time or money.

2. College Was Helpful For Learning About New Topics

I took several courses during high school at my local community college with the intention of becoming a psychologist. Soooo many psychology courses. A brief ~10 minute convo with my abnormal psychology professor completely derailed those plans. My casual, “so do you recommend being a psychologist?” was met with “nope, don’t recommend it.” He added some detail, but he had me convinced that abnormal psychology was NOT the way to go.

So, I had no idea what I wanted to do while filling out college applications. I vaguely recall Googling “high paying majors” right before filling out the forms and petroleum/chemical engineering was at the top of the list. That probably wasn’t the smartest move. But I checked the “chemical engineering” box.

So, there I eventually was on my way to my four year school and I didn’t know what I wanted to do. On paper I was going to school for chemical engineering. But I had never thought about chemical engineering prior to my Google search. In my first two years I took all sorts of different classes. I think it’s pretty typical that the first two-ish years of a four year degree involve general education like english, chemistry, math, etc. Different groups of majors will have different general education requirements. Engineering required an intro to C++ course. Now, I was historically generally science and math geeky. But I had never written a line of code if you don’t count editing my MySpace profile. This was my first go at programming and I freaking loved it. Of all the random classes I took in the 4ish years there, this one was by far the funnest and helped me vaguely understand programming.

I can probably credit that intro to C++ course for my direction later in life. Another course that stuck out was econometrics. I hope you kinda get the picture. While I didn’t end up being a chemical engineer or an economist, some of the things I got exposed to during school i.e. data analysis and computer stuff heavily influenced my general post college direction.

3. College Helped Teach Me How To Be Self Motivated

Several but not all of my professors sucked at teaching. Most of them sucked at teaching, but not all of them did. I imagine the vast majority of them had countless books under their belts, had made major discoveries in their spaces, and were leaders in their areas of focus. But that does not mean they were good educators in my opinion. Teaching and being a physics/math/econ expert are completely different skills. My professors across the board were clearly technically brilliant but the topics sounded dull and I was often disconnected from what the theories meant in real life. Lets throw the fact that I was 1 of hundreds of students per class on top of that and you have a situation where going to class alone would not cut it.

So, it was all up to me to read the books, attend class if I wanted to, and do well on exams. If going to class and reading the book didn’t work, I’d have to go to office hours with professors to ask for help. If office hours didn’t work I might have to find supplementary material or reread a couple of chapters. My excuses didn’t matter. I could make them, but they’d fall on deaf ears. Nobody cared. The nice implication was that I could miss class for a week without letting anybody but myself down. The only thing that mattered was that I understood the topics and could show that understanding come midterms and finals. I’d say this is a super applicable skill for the workplace.

This might be a stretch, but my midterms and finals are a little like my quarterly deliverables in the office. I am most often measured by how well or if I manage to deliver my quarterly projects or milestones. Did I take a week off in the middle of the quarter to go to Tulum? Nobody in my tech offices have cared. What ultimately matters is whether or not deadlines and deliverables are generally made. It’s up to me to speak up, ask for help, voice confusion, and communicate delays.

I think it was Reed Hastings and the folks over at Netflix that said, “we’re a team, not a family.” In school I was measured by test scores and now I’m measured by impact. I historically had to do whatever I could within reason to deliver on my test scores and now I have to do whatever I can within reason to deliver on impact. Kinda the same.

4. College Helped Me Get Better At Writing

I have never casually sat down and decided to write 15 pages on some obscure topic by choice. This wasn’t abnormal on a quarterly basis in school. I write a ton for work. “1 pagers” are the norm when starting larger projects in tech. Surprise, they’re not 1 page. Depending on the complexity of the system you intend to build these documents can be 10+ pages long. Why should your organization spend millions on one software as a service provider or another? I hope you can convince several hundred engineers of your direction. And no, this generally isn’t handled in a 30 minute call.

Do you think there should be a major re-write of a codebase in another language? Should we migrate the application to a new framework or should the team migrate to a new database? You better be able to argue your rationale, defend your thesis, and iterate on your approach as engineers poke holes in your idea. I’ll elaborate on this last bit in the next bullet.

5. College Helped Open My Eyes to the Lives of Researchers and the Value of Feedback

College helped open my eyes to the life of researchers and the value of feedback. I remember reading about a scientist, I believe it was a physicist, who pursued a theory for around a decade. He eventually came across evidence that proved his theory wrong and happily stopped his decade long pursuit. He was in the pursuit of truth on the topic. Whether he was right or wrong was irrelivant. I recall an interview with the scientist where he seemed happy about the discovery albeit it contradicted his initial assertion.

Furthermore, researchers will publish their findings in journals to have colleagues from across the world try to replicate their experiments. If a scientist’s work isn’t replicable then arguably it’s bullshit. The hole poking process that researchers participate in when sharing their findings is fairly similar to the 1 pager process many companies use. The goal being that your argument is strengthened by having a horde of very intelligent people poke holes in your premise. While it might feel attack-y, whatever goal you’re trying to achieve is the target. These people are trying to help you achieve your goal.

Conclusion: My Education

First, the elephant in the room. Do I think a college degree is obligatory to get into software stuff or do data engineering? Absolutely not. There are several other ways to gain these skills that might even be much cheaper. I mean most of the material can be found online for free. There’s also the possibility that someone spends hundreds of thousands of dollars on an education and doesn’t learn a darned thing.

I don’t think college is obligatory to get into tech or engineering.

Again, I’ve met people without a degree that were miles ahead of me in their software engineering journey and were absolutely killing it.

But I generally do think it was a positive experience and gave me some skills that were applicable later in life. If you do have the opportunity to go to school, I’d do it. If you can’t, becoming an analyst or software engineer is still doable.