loading...

I used to be an engineer on the railroad, now I engineer software, Ask Me Anything!

theringleman profile image Sam Ringleman ・1 min read

Hi! I am Sam. I have had the dream of being in tech since I was little, but different life events happened and I didn't pursue my dream until what I consider late. I tried multiple times to learn to code and failed, I even dropped out of college while I was enrolled for CS.

I eventually went to work for BNSF (the big orange trains) as a conductor, and then became an engineer (the one who drives the train, not the same type of engineer). After 4 years, I got laid off. I decided while I was unemployed that it was time for a change. So I learned to code, and now three plus years later, I am an engineer with the R&D team at RE/MAX.

Train air gauge, railroad spike, pocket watch, BNSF award, and three locomotive reversers

I keep these in the window above my desk at home. They are there to remind me of where I came from. To remind me that complacency is not ok. To remind me to keep pushing forward every day. I have a motto and it is cliche, but if I can do it, so can you.

I want to be an advocate for others trying to break into our industry. I have been so blessed by this move, and I want nothing more than to see others reach the same goal. So please ask me anything, I would love to get to know you!

Posted on by:

theringleman profile

Sam Ringleman

@theringleman

Software Engineer && Husband && Father I suck at typing. I drink way too much coffee. I always love a good dad joke.

Discussion

markdown guide
 

Interesting! I've been on the other side of where you were. For a brief period of time, I was developing camera systems for locomotives. Then, I starting working on a toolkit to diagnose locomotive issues like failed fuel pumps.

What did your hours look like? And, did you get to do any sort of travel as a part of your job?

My understanding is that the railroad works on 6 and 12-hour shifts. Also, I imagine trains head into some pretty remote places.

 

Awesome questions thank you! I am so stoked to run into someone else who was part of the industry, it seems like most people are lifers.

Question for you, did you develop the inward facing cameras or were they the exterior ones?

As far as hours, we were on call 24/7 and we ran on a queue system. First in first out. So you never really knew when you were going to be called. We had a two hour call to get to work. Once you were at work they had you for 12 hours worth of work. You could get off early if you had a decent trip, I think I had one or two 5 hour trips but those were extremely rare. Once you hit your twelve hours, you were considered dead on the rails. We were not allowed to do anything after that. Federal law. However, they were not required to get us in a timely manner. I have had many 16 to 24 hour plus days.

I did get to travel to a lot of places, but once your seniority gets up there you typically get to stay at your home terminal. I was the youngest engineer in my entire seniority district for quite some time. They were able to force me all over the place. I one time got a call to head to Hastings Nebraska, which is about 8 hours from where I live. They gave 24 hours to get there... It was a mess.

But I have seen some of the most beautiful places I could never have imagined, from a perspective that most wont ever get the opportunity to see. It was good while it lasted.

 

Interesting! I've gotten to see the locomotive from so many different sides, but I haven't actually seen them in use (besides for testing). So, it's interesting to hear about them in the wild.

First off, those working conditions sound terrible (being on call, working 12+ hours, etc.)! That had to be rough on you and any family or friends you had. Did you have any issues balancing your life? How did you pass the time when on a loco?

As for me, I worked at GE Transportation pretty much right up until they were acquired by Wabtec. As a part of that job, I was on a rotational program where I was exposed to two roles before I ultimately quit and moved back into academia. And yeah, it does seem like most people are lifers. I grew up like 20 minutes from GE, and a lot of my friends' parents spent their careers there.

On my first rotation, I was assigned to the team that develops LocoCAM and LocoVISION, so both the exterior and interior camera systems. Most of the time, however, I was working on a video file validator for in-house testing purposes. That said, there was a brief period where I was working on some C++ concurrency code for LocoVISION, but I don't really remember the details.

After that, I moved into Remote Monitoring and Diagnostics where I ended up developing a locomotive diagnostic toolkit from the ground up. That's where I picked up Python and learned quite a bit about fuel pumps and cleaning EGR systems.

That is awesome, that is always something that I wanted to see. I wanted to go to see them while they were being manufactured.

As far as the working conditions, yes, it was awful. We had a saying at BNSF, "better not start a family". There was absolutely no work life balance, there were no friends, other than my wife and fellow railroaders. You could never make reliable plans unless you took time off, and that was always difficult to achieve. As far as passing time, I read a lot. We were not supposed to, in fact in our rule book it was expressly forbidden. You were supposed to keep your eyes on the rails at all times. Which is a very unrealistic expectation.

What you said about the lifers amazes me. I expected that from the Unionized side of the rail workers. We had excellent pay and benefits, as well as the best pension in the country. I didn't know that people stayed that long building them, but I assume it is similar.

I bet that was an interesting bit of software. I know the crews and unions were fighting those inward facing cameras like crazy. Total lack of privacy. (I am in no way blaming you lol).

I always wanted to get into the software for the trains, towards the end of my tenure there, they rolled out Positive Train Control. Those computers can drive the train better than a 30 year vet. It is amazing! I bet that was a cool job!

Yeah, so for a long time GE was really good to its employees. In fact, when I told my dad I got a job there, he was really excited. Of course, they've since had their issues (similar to Boeing), so the benefits aren't as good anymore. To make matters worse, a lot of people have been laid off.

As for the cameras, I heard a lot about the frustrations from both sides. From my understanding, the camera systems were another instance of federal regulation, or at least companies like BNSF wanted them. I think they wanted someone to blame any time there were issues (agree, total lack of privacy). To make matters worse, those systems were configured for up to 6 cameras. Though, I don't think a single loco has more than 4 today.

On a positive note, I think the cameras—at least the front facing ones—are now being used as a part of the control system. Before I left, they were working on broken rail detection through computer vision, so that's cool!

As for other cool tech, I know that GE was developing a lot of semi-autopilot features like Positive Train Control. Of course, most of the features were only designed to benefit the companies, not necessarily their employees. For instance, I believe there's a product called Trip Optimizer which optimizes for fuel consumption.

At any rate, it was fun chatting with you! Just gave you a follow. I'd be interesting in seeing you convert some of these discussions into an article.

That makes me sad to hear about GM. I had heard on NPR quite some time ago that they were selling their locomotive division. That shocked me to be honest. Warren Buffet was pouring a lot of money into the locomotives, for many obvious reasons.

I cannot completely confirm that BNSF specifically wanted them for someone to blame. What I can tell you was the culture that the railroads put in place is a very strong "Us vs Them". I agree very strongly with you in that assumption.

You totally blew my mind on the broken rail system. This is something that the company never informed the crews about. That sounds like amazing tech!

I was forced to use the trip optimizer for quite some time. And to be honest, like I said in my reply earlier, those trains can drive themselves better than an experienced engineer. It is an amazing feat of engineering. The crews are scared by it for obvious reasons, but not only is it going to save fuel, it is going to save lives.

Thank you so much for taking your time to chat with me, I have greatly enjoyed this conversation. I hope to have more soon! And that sounds good, I appreciate the endorsement of my writing. I am actively trying to improve my skillset so I will do just that.

 

This gives me instant motivation, I was a creative designer because of my special love for designs and aesthetics but as a CS graduate, plus the challenge I faced for 3 years as a designer in a country that give little regard for designers, I finally decided to get into coding and become a Fullstack developer, so far I'm learning and enjoying it, both tough and fun but I've gone too far to back out now.

 

Wow! You have an awesome story! I think that you will also have a great leg up with so many years of design experience. I have personal friends who made the transition, and they are excellent devs. Having the technical side, plus the creative design eye are going to get you far!

 
 

Hi Sam, thanks for sharing. As someone looking to jump industries, what sequencing of learning code languages would you recommend in order to get a foot in the industry. Simply put, what languages do you think provide the most bang for the buck when initially starting out and looking for coding/engineering work.

 

Hey Jonathon, you are welcome! Thanks for your question, I appreciate you taking the time to reach out! I think that you have a very highly debated question amongst people in tech. My answer is simple, find something that you personally find appealing. Do you like front end? Then chase after Javascript. Are you more interested in building out the functionality in the back end? Then go with a strong server side language.

But if I were to give you my personal guidance, I would say learn a good Object Oriented language first. I would go with something easy to learn like Ruby or Python then extend from there. Python is one of the fastest growing languages for many different reasons.

After you get a good grasp on the basics of coding, syntax, loops, conditionals, methods, etc. Then the most important part is focusing on engineering concepts. Learn about the MVC (model view controller) pattern. Get comfortable in a good framework, full stack is fine, then learn a good front end framework. The best part about going that approach, is your skills are transferable across any language/tech stack. I learned Ruby first, then Ruby on Rails, then Angular JS. Now I work in PHP, Laravel, and VueJs. Completely different languages but again the concepts are all the same.

Once you get a good grasp on that and can build, then you are completely hire-able.

One other small thing to note, don't get stuck in tutorial hell. They are good for a while, but once you get some basics down, just start building. You will learn soooooo much when you build something you are interested in. It might not be the most amazing thing at first, but it is your own problems you are solving.

Please feel free to follow up or hit me up in chat if you have any questions. I have a lot of resources that I would be more than happy to share!

 

You seem to be on the right track (pun tended).

What was the most interesting thing about driving a train?

 

Hahaha I love it!

As far as the most interesting part, for me was controlling your slack.

There is a certain amount of room between couplers on cars. This is extremely minor between two cars. But when you have 120 cars on your train the effect is insane. If you don't brake right, or say you brake in the wrong spot, like in the middle of a hill, you can very easily break your train in two. Meaning a coupler broke most of the time.

This in turn means you need to learn how to utilizes your brakes properly. There are three different braking systems on a train. And each one is there for a different reason, the trains slack responds differently based on each one of these systems.

It is a feeling that people cannot imaging going downhill on a fully loaded train. You will honestly feel the rear end of the train come over the hill and shove you. Sometimes if you are not careful, really really hard. I have ridden with others and had my face slammed into the windshield on a couple occasions. Those are not fun trips, because the engineer is not paying attention.

 

🔥That is interesting.

"What was your worst engineering mistake?"

"I broke a 120 car train in two".

You will slam your own head into the glass in tech at least.

Oh yeah... I have.

And it has been entirely because of my own stupidity... lol

 

This has be the coolest job transition I've seen on here so far!

When you were a railroad engineer what did your typical day look like? Would you travel a long distance on the train or do engineers have zones where they drive it so far, then let someone else take the train?

 

Oh thank you so much!

So typical day is pay attention to the phone constantly. When called head in to work. Get the paperwork, and hop on the train and take it to its destination or switch cars in the yard. The hours were 24/7 on call. Brutal.

You have your home terminal, depending on if you can hold it due to seniority. As a younger engineer or conductor, you typically worked the extra board so you would go on any route that left the home terminal. If your seniority is low, it is very common to be bumped out of a terminal and you would have to go elsewhere that you can hold.

I was in Denver, small towns throughout CO, Lincoln, Kansas, Wyoming. All over the midwest.

But you hop on your train, take it to your destination, go to a hotel. Wait for the next call, hop back on a train and go home. Repeat for 40 years and you have a good retirement.

I got bored to fast, and tired of getting laid off. I am soooooo happy I made the switch!

 

Thanks for the insight. That's really interesting. Being a conductor always seemed to me like a dream job but I guess the reality is that it is a very tough job.

Definitely a cool item to have on your resume though!

Awesome work on making the transition!

 

What’s the most surprising thing about life in code?

 

The passion of the people that I work with. When I was learning to code I knew I loved it. Then I got my first job, and realized very quickly that I worked with some of the most brilliant people. I had to keep up, and it was intimidating. It still is intimidating. I love it though because instead of being surrounded by people constantly complaining about their job. I get to hear and take part of conversations about solving very difficult things. Designing complex systems, coming up with elegant solutions to strange problems. The people blow me away every day and I love it.

 

What do you find in common between these two professions?

 

Oh this is a good question! Ill be honest, I read it earlier and I was stumped. I think I got it though...

Being able to intensely concentrate for extended periods of time. There are some major differences, and I will say that programming is a million times less stressful. But the need concentrate is the link.

The big difference between the two, if I was not focusing at key times on the railroad, I could have very easily killed someone. I lost friends on that job do to people not paying attention. Say we were switching cars in the yards, if you are not paying attention to the people on the ground, and listening to the radio, or watching their hand signals, you could throw them off the back of a car or couple them between two cars. Sorry for getting morbid, but this is a very real thing on the railroad. I took my job extremely serious because I wanted the person I was working with to go home to their family. And thankfully because of that mindset, we always went home, in tact.

In code as I am sure you are aware, we have long sessions of problem solving, bug fixing, and systems design. There is nothing more frustrating then getting knocked out of the zone. While the two are different forms of concentration, I think that is the link.

Oh and one more thing, team work. You have to be a good team player in both industries.

 
 

-- Dad, are you a conductor?
-- Yes!
-- Doesn't it hurt when the current flows through?

(since you seem open to jokes)

 

I wish that I could add more hearts than just one to this!