Josh Thompson     about     blog     projects

2021 Update: I endorse Turing a bit less strongly than I once did. It’s still best-of-breed, and I’ll do what I can to help you be successful. From a pedagogical perspective, there are some portions of the daily/weekly cadence that are very high-value, and some that are less so. Time and energy is a critical resource, and in some ways the program doesn’t protect the student’s reserves of these components as I might wish it did.

I attended in 2017. It’s a great fit for many people.

The program has evolved since 2017, so the experience I’m writing about below might not be the experience you’d have over the next year, especially because I attended pre-Covid, and thus was in-person.

I don’t speak for Turing, and have no formal association with the program, besides being an alum who wants to see Turing and all Turing students/alumni be as successful as possible.

Hi there! 👋

You might be curious about the Turing School of Software and Design, or software development in general.

Over the years, I’ve answered a lot of questions via email about Turing. In an effort to save you (and me!) some time, I’m going to start porting over broad chunks of email correspondence here.

Turing announced that they’re going remote for the rest of 2020, because Covid, and that anyone who starts remotely can finish remotely. If you don’t live in Denver, and are thinking about software development, this is a good time.

I strongly recommend the back-end program, and can almost guarantee that you’ll be successful in it, if you reach out to me before you start and we game-plan the strategy. I’ve personally helped dozens of Turing students be successful, and indirectly, multiples of that. This is my approach for how to be successful at Turing.

If you want to jump right in and see what kind of projects you’ll complete before Turing even starts head over to this directory of exercises.

I have vastly less experience with the front-end curriculum, so if you decide on Turing but do the front-end program, you’re mostly on your own. If something like Turing is a big risk to you, please do the back-end program. I will be able to provide much more help along the way.

More questions? I link to these below in various spots, but I would direct your attention to three resources:

FAQ/index #

Here’s questions I’ve received via email, and their answers.

I’ve just copy/pasted chunks of emails, so I pardon spots of confusion of lack of context. Please let me know if you have additional questions, or am confused by something written below. I’ll provide context if I can. Shoot me an email at joshthompson@hey.com

Could you elaborate on what your life looked like right after you finished Turing? #

This is what I wrote in June 2019. I’m no longer at Proofpoint, but this is still worth sharing

Right after I finished Turing, I was very tired. I was worn out by the end of the program, and looking forward to recovery time. My wife works, and has been very supportive of this project, so I was extremely fortunate that our financial situation was such that I didn’t feel enormous pressure to immediately get a job after Turing.

We had some travel planned for the East coast (friend’s weddings), and since some of my favorite climbing areas are on the East coast, we decided that I would string together some climbing trips while out there, while she was doing some work and personal travel. I spent a few weeks alternating between rock climbing and doing some low-level job hunt and programming practice stuff.

Partially because of my past sales experience, I felt comfortable on the job hunt. I’m good at email, and knew it was a matter of time. I wrote a gist which turned into this blog post, about this process.

It was three months, almost to the day, between when I finished Turing and started my first (and current) software dev job.

back to FAQ/index

What was your first job? Did you feel supported by your employer? #

from June 2019

I work on a Rails app that lets our customers send simulated phishing attacks to their employees. The bio on my LinkedIn sums it up, I think.

I don’t feel super supported by my employer. I think a lot about growing in my skillset, and while I am growing, i feel like my employer doesn’t care that much if I grow. (I wrote this about growth in my current role.) My sales and success background prepare me well to make the case for why my growth as a developer is a good thing for my employer, but… for a variety of reasons, that’s not happened.

back to FAQ/index

What sort of projects did you work on? #

from June 2019

Maintence on the application. it’s a complex codebase that has been under-maintained for the last few years. We now have a full team on it, and are helping it through some growing pains. (Ruby/Rails upgrades, from Rails 3.2 to 4.2, eventually to 5.2), bug fixes, feature adds, data migrations, etc.

Nothing super exciting on first blush, but to me, it’s all quite fascinating. I’ve learned about running migrations in production, and gotten my bug hunting skills a bit stronger.

back to FAQ/index

What was the interview process like? How did you find your first job out of Turing? What do you do now? #

from June 2019

I applied via a Turing grad who worked at this company, and I currently work with a few other Turing grads, so they all pretty much knew what I knew, and didn’t have any big questions on tech chops. As I mention in the job hunting post, I write a lot online, and that shows pretty accurately my current skill set.

So, phone interview with a manager, then a team interview via video call, then a phone call with CTO, then an offer, a few rounds of negotiation, and I signed. (They offered $70k, I negotiated $75k, I signed the offer. Currently at $96k, including bonus and stock options.)

back to FAQ/index

Whats your work schedule now? #

from June 2019

I work remotely, so there’s no commute. I start between 7 and 9:15 in the morning, and finish between 3p and 5:30-ish in the evening. I don’t work nearly as long or as hard as I have in some of the very manual labor-type jobs I’ve had.

I take an hour lunch, I run errands, sometimes I work from a coffee shop or while traveling.

back to FAQ/index

Where do you see yourself in 1 year, 2 years, 5 years? #

From June 2019

Less than 5 years, maybe working at Stripe when the time is right. 5 years, independent. solving expensive business problems for businesses across two week to 2 month engagements. Maybe problems related to sales teams and saas applications. I don’t know. I still have not plumbed the depths of what my sales background has to offer. I need more technical skills. (Or, it feels that way at least).

back to FAQ/index

Do you feel like there are still opportunities out there for people who come out of a coding bootcamp? #

From June 2019. I didn’t see Covid-19 in the cards!

Yes. As long as we don’t hit another global recession like 2008. If that happens, it could be harder to make everything work to finish Turing, and companies might not be hiring. But if 2008 happens again, it’s going to suck for everyone, not just developers-to-be.

I think people who can bring two business-useful skills and combine them are at a unique advantage. Sales + development, customer support + development, lots of other skills + development, are uniquely valuable.

back to FAQ/index

Did you have any coding experience before you started at Turing? #

Yes. Not a lot, but a little. I’d tried to do self-study for a while, but never got very far.

I’d worked through most of:

And about half of:

If you keep moving in the direction of Turing, I’d recommend doing the same. There’s no way to be over-prepared for the program, and the learnenough series is exceptional. Turing’s working on their “prework” curriculum, the stuff you’re asked to do before the program starts, and that’s getting better. (I’m not Turing staff, but I’ve been in education in some way or another for a long time, and am working on improving their curriculum as we speak).

I was certainly one of the more-prepared students going into Turing, and found mod 1 and mod 2 to be not too bad. I struggled in mod3 and mod 4. I expanded on this here: https://josh.works/turing-retrospective

back to FAQ/index

It sounds like you do a lot of backend stuff? Is that the program you did at Turing? Why BE vs FE? #

Yes, I did the backend program. I happened to know some ruby/rails developers from the company I worked at before Turing started. I’d kinda-sorta hoped I’d end up working at that company again when I graduated, so I went with the program that would let me learn the same tools.

I ended up with a different company, and… still love the backend. I believe that to deliver value that people will pay for, getting the the right data in an OK interface is more important than the wrong data in a beautiful interface.

So, backend tends to be more about data and moving it around. Both Turing programs are really good, and it does feel like there is more javascript/react/node jobs right now than ruby/rails, but… I hope to stick with ruby and rails for many years, and so many companies run ruby/rails, I think I’ll be employable for a long time. :)

and if I have to change stacks, I can do so.

back to FAQ/index

Do you think your situation (job arrangement, salary) and how quickly you got hired are unique to you or see that as being more common vs rare for Turing grads? #

I think I’ve got pretty standard outcomes. The one aberration was I 100% wanted to work remotely; I’d worked remotely for a long time before Turing, and didn’t want to stop, so I applied only to remote software development jobs.

It took me three months after turing to get my first job (this is normal) and I started at $75k (this is also normal.). So, I think I had an “average” outcome.

Turing reports their outcomes to the Counsel on Integrity in Results Reporting, and you can view the exact details on recently graduated cohorts in terms of graduation rates, time-to-hire, starting salary, and more.

back to FAQ/index

Compared to college how hard was Turing? I hear its brutal #

College was (for me) a joke. I never actually learned anything useful, I just retained enough to pass the test, and… carried onward. So, Turing is strange in that you have to learn how to learn things, and unlike normal academic situations, you have to retain what you learn.

Turing itself doesn’t even quite recognize the significance of this difference in attitude. At Turing, the instructors are not really teaching you things; they’re helping you learn things for yourself.

To be clear, I’m not criticizing Turing or their instructors. Just that the way the US teaches things in high school and college is laughably inefficient, so if Turing is doing it right, it’s by doing it differently than high school and college.

Anyway, with the right tools and approaches, you’ll do fine at Turing. To that end, I wrote this.

I make a few book recommendations (if you do Turing, read those books) and get you started on some drills. The students that have worked through this guide have said it’s been super helpful, and made a substantial difference in the difficulty of the program for them.

back to FAQ/index

Are you good at math? #

The question continues:

Unfortunately while growing up in [other country] I paid little attention to school and when I came by myself to US as an exchange student, math as a subject was brutal for me.

I barely got a C in Pre Clac (high school) and C- in Calc(college). I know math is not super important in software dev work but I wonder if it will more difficult for me because I am not so great at it.

I got Cs in math classes too; and language classes, and science classes. Same as you, I paid little attention, and never really got “behind” what the math classes were teaching.

Read A Mind for Numbers: How to Excel at Math and Science (Even If You Flunked Algebra). The author addresses this concern.

Ultimately, though, you’re correct - math is not important in software dev; I’ve not had to do anything more complex than basic addition in my current job.

I’d still recommend reading that book.

back to FAQ/index

Did you look at any other career options before decided on programming? #

I did a hybrid customer support/customer success/sales job. If I could have stuck with strict customer success, I may have stayed with it, but I kept getting pulled in the direction of sales, which I didn’t want. “What is customer success” you ask? I answer here and here

I also knew there was a near infinite direction of options I could go with programming. Freelance software engineers are much more common than freelance customer success people or freelance sales folks. I want to build more independence into my life, and picking up good technical chops would do that.

back to FAQ/index

You mentioned you wanted to work remotely, was your first job out of Turing remote? Was it hard to work remote as your first job? #

First job out of Turing was remote. I cover some of the challenges with this here: https://josh.works/growing-in-first-software-development-job

It came with challenges, and it comes with opportunities. I cannot know if the challenges would be different or entirely absent if I were in an office. I suspect the challenges reflect the company and the team, and are not endemic to remote work.

back to FAQ/index

There’s near endless depth and complexity in any direction. D3 is a data visualization library, and there are entire jobs for people to just work with D3. check out what people have built with d3:

https://github.com/d3/d3/wiki/Gallery

Front-end does imply something that the user sees and interacts with. So, from that perspective, yes, maybe all front-end is related to web development. Most backend is web-development in some capacity or another as well.

Mostly, if you get good at something once, you can do it again. If you build rare and valuable skills, you can do whatever you want. Read So Good They Can’t Ignore You: Why Skills Trump Passion in the Quest for Work You Love; the main thesis is building skill is the biggest predictor of job satisfaction.

In other words, front-end or back-end doesn’t matter. Getting good at something is what matters.

back to FAQ/index

It’s common to talk about the “end of ruby” and everyone is going to React, Elixir/Phoenix, somethingFancy.js.

I think it’s marketing, not reality.

CRUD apps are not exciting to blog about, but they run the world. I’m expecting to stick with Ruby/Rails for the long term, and once you know one language/framework, you’ve got an easy jumping off point to another language/framework.

For example, my team is about to start transitioning our front-end to Ember, which is a “hot” front-end language.

We’ve got workers written in Elixir, which are also “hot”. So, I could make a case for my proficiency in either, if I wanted a job using that language/framework.

Ruby and Python are extremely similar. You’ll use a bunch of different programming languages throughout your career, so it’s no big deal which one you learn first.

Plenty of Turing back-end grads get their first job in entirely different tech stacks. Employers want to see learning, adaptability, critical thinking, debugging skills, etc.


back to FAQ/index

An email to a recent college grad, self-identified as “directionless and unsatisfied” #

from February 2020

[Redacted] should consider the software development industry, as he’s trying to figure out what to work on.

I once thought that software developers worked in basements in cubicles, wearing pocket protectors, and never seeing the sun.

I was wrong.

I also once thought that if one was a software developer, this person would never exercise interpersonal skills, or any sort of writing/communication skills, and this person wouldn’t do much learning or teaching.

I was wrong on that count, too.

I could go on and on. Software development is:

  • rather well paid
  • very accommodating to flexible schedules and locations
  • intellectually engaging with lots of room for personal growth
  • as much about communicating with people as it is about writing code
  • learnable by nearly anyone, not just some mathematically-inclined nerds.
  • surprisingly easy to get into

I humbly propose you consider moving to Denver for 8 months or so and attend the Turing School. When you’re done, move back to [east coast home town] and get a job as a software developer.

Here’s a bunch of reviews from Turing students

It’s up-front expensive. Tuition is ~$20k, plus living expenses (Denver is a more expensive place to rent than most) plus the money you could have earned while working that time but didn’t because you were going to school.

I’ll direct you to some podcasts for further research:

I could on about the cost/benefits from a financial perspective, or how it’s a uniquely humanizing line of work, or how the industry is mentally engaging, or whatever, but I’ll end this already-too-long note here.

Happy to chat more, if you’re interested.

- Josh

PS any time I recommend Turing to someone, I am careful to emphasize the two largest risks I see:

  • National/international recession. If 2008 happened again, it would suck for everyone. If this happened while you’re in school, favorable outcomes would be much less likely.
  • You are unable to complete the program. Sometimes health issues or family situations crop up and force you to return home early. Sometimes you are unable to learn the material, and are not allowed to advance to the next module. You can repeat a mod once, but if you fail a second time, you’re dropped from the program. If you’re adequately prepared, across at least two dimensions, this is exceedingly unlikely to happen to you.

Questions from a freelance digital marketer who got laid off with coronavirus #

from February 2020

Digital Marketer:

Some questions for you:

  • How’d you decide to get into this line of work, and what exactly were you doing before Turing? Something more sales than advertising in marketing, it seems?
  • Any reasons you still shy away from front-end? Is it the design aspect of it?
  • How does Patrick Mackenzie’s writing relate to you?
  • How do you see your career developing 5-10 years down the line?

Me:

Hi [redacted],

I’m tempted to apologize for my delayed response, but I always recommend other people to not do just that, per this quite relevant article.

Sorry to hear about the layoff. Coupled with the loss of your ability to do massage work, that’s a hard hit. I love that you’re thinking about how to use this to your advantage, though, instead of throwing your hands up in despair!

You said:

I’m coming to realize I don’t have to compromise my values, but use my values to guide my work and find those to work with whose values align with mine.

100% agree. My only comment is your first software development job is the 2nd half of your career transition to tech; Turing is the first half. Once you’re done at your first software job, you’ve got the skills and experience to write your own ticket. I recommend this book for more on the exact mechanisms by which this would work.

I just finished my first software dev job. I loved my team, didn’t care much at all for the product or company vision. I enjoyed what I did, and now I get to go really get a cool gig.

I think your skills that you’ve built until now would compliment nicely the skills you’d build at Turing. And they’re rare and valuable skills. I started my first job at $75k/yr, and with bonus, my last year I made $98k. I’m still a newbie in the field, and this is way more money than I’ve ever made in my life. You could go into sales, or marketing, today, but it would likely be a while before you make that kind of money, and it would be less certain.

However, as a developer, if you want to go work with a sales team or work with a marketing team, your efforts will make the entire team more efficient. They’ll sing your praises forever, and you’ll have more fun doing it too. :)

you asked:

How’d you decide to get into this line of work, and what exactly were you doing before Turing? Something more sales than advertising in marketing, it seems?

Correct. I did inbound sales for B2B SaaS app by the name of Litmus. I was the founding member of their “customer success” team, which grew to do a lot of different things related to proactive outreach to current customers.

At times, the projects at hand would have me working closely with our marketing team to help craft email campaigns to our customers, and to make sure the emails had the right “voice”.

I also got to see what the dev team did now and again, found it fascinating, and wanted to do more of it. Eventually, I was ready to leave Litmus, right as my wife and I were moving to Denver. I listened to this interview with the founder of Turing while driving to Denver, decided I wanted to pull the trigger.

I knew I could understand and talk “the business”, as well as sales and marketing, and kept hearing how rare that was for software developers, and figured I wanted to be that rare and valuable person.

Any reasons you still shy away from front-end? Is it the design aspect of it?

Nothing quite like that - I just don’t know HTML/CSS/Javascript very well, yet. So compared to how comfortable I feel rooting around the backend of a web application, front-end things less comfortable to me. I like to feel good at things, and I don’t feel good at front-end technologies.

I plan on fixing this soon, actually. Friday was my last day at my first job out of Turing (mostly back-end work for a Ruby/rails app on a small team for Proofpoint, Inc. two-and-a-half years there.) and I’m taking a few weeks to work on projects before jumping back into the job hunt.

I’m starting here for my javascript learning: https://beginnerjavascript.com/

It’s purely that I don’t feel proficient with HTML/CSS/Javascript.

How does Patrick Mackenzie’s writing relate to you?

This is a great question. He’s an extremely unassuming guy. He’d self-identify as nerdy and unskilled in social situations.

But he writes with breathtaking clarity.

I’ve already linked you to some of his stuff, but these two articles that I read years and years ago are a large part of why I wanted to get into software development. Both talk about understanding that you deliver business value as a software developer, and they talk as if this is a bold proposition.

https://www.kalzumeus.com/2012/01/23/salary-negotiation/ https://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/

I cannot see the work that I do in any terms but delivering value to a company, in conjunction with the other functions of a business, so I figured there might be some opportunity for me to capitalize on this comfort with the rest of “the business”.

How do you see your career developing 5-10 years down the line?

Good question. I’d like to have carved out a little spot for myself as “one who solves hard and expensive business problems. Sometimes uses code to do so.”

Maybe something like this or this. Short-to-medium-term gigs where I come in, fix/build something that I’m uniquely good at, and then head out.

I’m excited to see what the next few weeks/months have in store for me.

I cannot see five years into the future, let alone 10, so I cannot hazard a guess, but I’m comfortable that I’ll still be making good money, even as more and more people enter the software development industry. There’s a laughably large amount of work to be done that isn’t being done because there’s not enough skilled developers to do it.


Job hunting and Remote Work #