Author Topic: Which Tech training for transition to FI?  (Read 1797 times)

fire100xz

  • 5 O'Clock Shadow
  • *
  • Posts: 36
Which Tech training for transition to FI?
« on: October 29, 2019, 09:16:35 AM »
MMM and many FIRE bloggers are software engineers or have other tech backgrounds.  This seems to give  a high income plus flexibility on where to work (from hime, from low cost location) and provide confidence in finding part time work in FIRE, if additional income ever becomes necessary.

I am looking at studying a programming language.

Are there tech skills that FIRE people recommend?  (Java vs Python vs HTML etc?)

mikedenver

  • 5 O'Clock Shadow
  • *
  • Posts: 5
  • Location: Central PA
Re: Which Tech training for transition to FI?
« Reply #1 on: October 29, 2019, 01:11:41 PM »
Hi there! I had wondered something similar in my post below, though I do have a little bit of advice to go on from my programmer friends at my current work. It seems fairly consistent that they were dubious of any of the various “boot camp” style training out there that promises to get you a job after 12 weeks or 6 months or whatever their term is. The consistent advice has been to dabble, find simple projects you need and solve them with a language you can wrap your head around. If you enjoy that language, start seeking out questions on Stack Overflow you can answer. As you get better at solving things in that language, you’ll be more competent in object-oriented programming in general. So far I’m still a novice in any proficiency test I’ve taken, but I definitely am finding lots of Github projects that are getting easier and easier to tailor to my needs. I’m curious what others here have to say though!

MrsPennyPincher

  • 5 O'Clock Shadow
  • *
  • Posts: 31
  • Location: USA
Re: Which Tech training for transition to FI?
« Reply #2 on: October 29, 2019, 07:26:07 PM »
Do you have background in a related field? If not I’d recommend formal training (getting a degree), rather than just trying to learn by yourself. It’s not that you won’t be able to learn, but you may have a hard time finding a job without experience or credentials. As far as programming languages, I’d say Java or Javascript - both are easy and popular

fire100xz

  • 5 O'Clock Shadow
  • *
  • Posts: 36
Re: Which Tech training for transition to FI?
« Reply #3 on: October 29, 2019, 11:22:15 PM »
I am looking at Codecademy and FreeCodeCamp, both look like free resource to start exploring the basics.

ctuser1

  • Handlebar Stache
  • *****
  • Posts: 1741
Re: Which Tech training for transition to FI?
« Reply #4 on: October 30, 2019, 06:54:50 AM »
Flexible working is not all that common even in tech. I get it in my current job. Never got it (except for, maybe, 1 in a month "need to take kids to doc" WFH) before in 1.5 decades of 3 different places. This is one of the reasons I am staying at my current job even though I can likely bump my pay by $50K/year immediately today if I jumped!! My wife is in tech - in the beginning stages of her career. She will probably not even get any job offers if she tried to negotiate for flexibility at this stage of her career.

Technology moves fast. Once you RE, your skills are likely to rust. So getting back when you want, in your terms, part time, will only work if you are some sort of an industry recognized expert. e.g. say you are the creator of a widely used open source product - then you can hop in and out as and when you want. But then, what is widely used today may fall out of favor tomorrow. I would know. I *had* been a creator of one such "in use - not widely, but enough" things that since fell out of favor.

Sorry for being the Debbie Downer :-(. The above is just based on my experience. Maybe things are different in the California tech scene, or where you are.

Coming back to your original question, I think you will do best to first figuring out what kind of programming you enjoy. Do you like building graphical user interfaces? The maybe front end technologies are better for you. Do you like writing beautiful code that is almost mathematical in precision? Well - go to some core languages like C#/Java/Python etc. Usually, for entry level jobs, people are looking for the right attitude and "I'm good at what I have done" more than specific tech skills.
« Last Edit: October 30, 2019, 06:59:49 AM by ctuser1 »

mikedenver

  • 5 O'Clock Shadow
  • *
  • Posts: 5
  • Location: Central PA
Re: Which Tech training for transition to FI?
« Reply #5 on: October 30, 2019, 07:50:11 AM »
You could also look at Microsoft Virtual Academy as well. Their Python course is an excellent introduction to programming in general. I found that for my personality I was having a hard time internalizing concepts working through the various CodeAcademy and FreeCodeCamp exercises, so I jumped into forcing myself to figure specific problems out with code. It works well for me, but obviously there are lots of options out there. The important thing to figure out is if it is something you would thrive doing.

I worked in customer service for 5 years before I got moved into the role I'm in now, just trying to learn more about the technologies we used in my free time. Depending on your current job, maybe you could brush up on some of the things your employer uses and start offering some help that would demonstrate your growing skills. To get hired outright, companies would need you to demonstrate skill and experience. Growing from within the company though is a great path too, if it's a possibility.

fire100xz

  • 5 O'Clock Shadow
  • *
  • Posts: 36
Re: Which Tech training for transition to FI?
« Reply #6 on: October 31, 2019, 07:14:31 AM »
I understand, tech is competitive!  Especially in roles that pay hundreds of thousands of dollars in NY / California.

I was thinking of something that can be done on a project basis for maybe $30k to $50k a year, from a low cost location.

Also, MMM seems to be able to generate a lot from his blog taking off.  Also, Mad Fientist shared his online credit card program covered his full annual cost of living after he went FIRE.  So I thought these tech type skills might be a good preparation for side gigs / FIRE activity plus potential for supplemantary income.

Most of my skills are really relevant in a large, complex organisation... and not very helpful in FIRE...


Will continue to explore over the coming weeks.

ctuser1

  • Handlebar Stache
  • *****
  • Posts: 1741
Re: Which Tech training for transition to FI?
« Reply #7 on: October 31, 2019, 10:30:39 AM »
fire100xz,

What is your primary aim? To be able to live anywhere so that you can drive the COL down? Flexibility? Lower stress? Or something else?

If it is just living in a low-COL area, then I am not sure if you already are, or have considered consulting. If you have any background in complex organizations, you could very well try to be a consultant for MBB/Big4. That gives you the ability to live anywhere there is a well-connected airport and travel M-Th for work.

I did it for a few years (primarily for the experience). It was fun. There was one colleague of mine who lived in the middle of mississippi, in the same firm where he grew up as a child, and just did the M-Th with us from an airport 30 miles away from his home!!

It will be high-stress work. But you will get all other kinds of flexibility!!

EricNYC

  • 5 O'Clock Shadow
  • *
  • Posts: 47
  • Age: 34
  • Location: New York City
    • My blog -- software engineering and various thoughts on life
Re: Which Tech training for transition to FI?
« Reply #8 on: November 02, 2019, 11:31:57 AM »
I'm a data scientist and I do pretty well for myself -- I'm involved with local meetup groups, have given talks, helped to organize conferences, etc.

It can pay well, and I enjoy it a lot, but I'd like to offer a realistic take on it.

  • It can take quite a while to find your first programming job if you're unlucky, can only manage to study part-time, or have some other constraint. I know a guy with a literature degree who got a fantastic gig after leaving his awful call center job, and I know a guy who left a quantitative Ph.D and is struggling to get any calls back.
  • Front-end web development moves really quickly, and you'll spend an inconvenient amount of time learning whatever the cool new tools are, even after you've got a decent resume. I love my job, but at the same time I also want to have time to spend with my friends and my girlfriend, keep my place habitable, stay fit, and just generally have a life outside the computer.
  • It trends on the younger side; I'm in my early thirties and I'd like to move to a bigger company in five years or so. I'd like to start a family and maintain a calmer 9-5 work/life balance around then, and I'd rather not compete with younger tech bros who are fine with working longer hours for less pay when I'm pushing 40 and have a kid or two. Downside to those bigger companies is they prefer hiring people with more traditional backgrounds; a bachelors or masters in CS, math, physics, or electrical engineering, etc.

If you're up for it, here are my recommendations on starting. These are more or less the steps I took to transition from my Excel jockey job straight out of college to a data science/software engineering career:

I would learn Python. The reasoning for this is that it's popular, used everywhere, and very readable. I would describe it as being the second best choice for anything, at absolute worst*. People I've taught have agreed that Python is easier to get started with and a little more understandable than Java. Java is a good language and has some stuff I really miss when I'm programming in Python, but WORK ON ONE LANGUAGE AT A TIME!. I've seen so many people try to learn 2 or 3 languages at once, or vacillate on whether they want to learn Python, Ruby, Java, or Go, and make no progress over a year. It takes at least a year, probably more like 2, to stat seeing the commonalities between different languages and pick up a new language quickly.

I taught myself Python many years ago with a freely-available online book called Think Python, but Learn Python the Hard Way is also good, though no longer free. People I trust have recommended Automate the Boring Stuff With Python to me too. There's also an official tutorial on Python.org, the official Python web site.

Also get involved with local tech meetups. Pretty much every city has some. It helps with networking, learning things you wouldn't know otherwise, and getting over the anxiety of doing something big and new, like a career change.

Throughout this whole process, don't be afraid to ask for help. People on Stack Overflow can be curmudgeony, but it's getting better. Reddit and Twitter are also good resources. You can PM me too. There's a huge index of Python talks on PyVideo (disclaimer: I'm friends with Paul Logston, the maintainer of PyVideo), and many of them are in different languages if English is not your first tongue. Not to mention YouTube.

Also, storing code on GitHub (version control; basically records the history of your code) is very useful, especially if you use multiple computers or similar. Many employers look to see if you have some level of activity on GitHub. I wouldn't worry about it too much, but having something on there is helpful.

Keeping a tech blog helps both with your own understanding and for potential employers. Just posting regularly helps. WordPress is fine, but if you're patient and willing to dive in, you can use GitHub Pages, which is free.

This post has gotten pretty long, but I have more to add if there's any interest. Should keep anyone starting from scratch busy for a month or two.

* outside of a couple really specialized things you are unlikely to be working on (like anything that needs to run in real-time, i.e. embedded systems).
« Last Edit: November 02, 2019, 11:54:41 AM by EricNYC »

fire100xz

  • 5 O'Clock Shadow
  • *
  • Posts: 36
Re: Which Tech training for transition to FI?
« Reply #9 on: November 07, 2019, 11:47:48 PM »
This is really helpful.  A big thank you, EricNYC!


I'm a data scientist and I do pretty well for myself -- I'm involved with local meetup groups, have given talks, helped to organize conferences, etc.

It can pay well, and I enjoy it a lot, but I'd like to offer a realistic take on it.

  • It can take quite a while to find your first programming job if you're unlucky, can only manage to study part-time, or have some other constraint. I know a guy with a literature degree who got a fantastic gig after leaving his awful call center job, and I know a guy who left a quantitative Ph.D and is struggling to get any calls back.
  • Front-end web development moves really quickly, and you'll spend an inconvenient amount of time learning whatever the cool new tools are, even after you've got a decent resume. I love my job, but at the same time I also want to have time to spend with my friends and my girlfriend, keep my place habitable, stay fit, and just generally have a life outside the computer.
  • It trends on the younger side; I'm in my early thirties and I'd like to move to a bigger company in five years or so. I'd like to start a family and maintain a calmer 9-5 work/life balance around then, and I'd rather not compete with younger tech bros who are fine with working longer hours for less pay when I'm pushing 40 and have a kid or two. Downside to those bigger companies is they prefer hiring people with more traditional backgrounds; a bachelors or masters in CS, math, physics, or electrical engineering, etc.

If you're up for it, here are my recommendations on starting. These are more or less the steps I took to transition from my Excel jockey job straight out of college to a data science/software engineering career:

I would learn Python. The reasoning for this is that it's popular, used everywhere, and very readable. I would describe it as being the second best choice for anything, at absolute worst*. People I've taught have agreed that Python is easier to get started with and a little more understandable than Java. Java is a good language and has some stuff I really miss when I'm programming in Python, but WORK ON ONE LANGUAGE AT A TIME!. I've seen so many people try to learn 2 or 3 languages at once, or vacillate on whether they want to learn Python, Ruby, Java, or Go, and make no progress over a year. It takes at least a year, probably more like 2, to stat seeing the commonalities between different languages and pick up a new language quickly.

I taught myself Python many years ago with a freely-available online book called Think Python, but Learn Python the Hard Way is also good, though no longer free. People I trust have recommended Automate the Boring Stuff With Python to me too. There's also an official tutorial on Python.org, the official Python web site.

Also get involved with local tech meetups. Pretty much every city has some. It helps with networking, learning things you wouldn't know otherwise, and getting over the anxiety of doing something big and new, like a career change.

Throughout this whole process, don't be afraid to ask for help. People on Stack Overflow can be curmudgeony, but it's getting better. Reddit and Twitter are also good resources. You can PM me too. There's a huge index of Python talks on PyVideo (disclaimer: I'm friends with Paul Logston, the maintainer of PyVideo), and many of them are in different languages if English is not your first tongue. Not to mention YouTube.

Also, storing code on GitHub (version control; basically records the history of your code) is very useful, especially if you use multiple computers or similar. Many employers look to see if you have some level of activity on GitHub. I wouldn't worry about it too much, but having something on there is helpful.

Keeping a tech blog helps both with your own understanding and for potential employers. Just posting regularly helps. WordPress is fine, but if you're patient and willing to dive in, you can use GitHub Pages, which is free.

This post has gotten pretty long, but I have more to add if there's any interest. Should keep anyone starting from scratch busy for a month or two.

* outside of a couple really specialized things you are unlikely to be working on (like anything that needs to run in real-time, i.e. embedded systems).