AMA with a Launch School Capstone Graduate

Sunny Beatteay studied the Launch School Core Curriculum from August 2016 to August 2017. He participated in the Capstone program from August 2017 to January 2018. During that time his team developed the Conclave project. After Capstone, he got a job at DigitalOcean in March 2018 and still works there.

For most of August and the beginning of September 2018, Sunny fielded questions from the Launch School community in an Ask Me Anything format.

Here is how the discussion was framed:

Ever had a burning question about Launch School from the perspective of a graduate but didn’t know how to ask? Curious to learn more about this enigmatic elite program known as Capstone? Want to know if you can get a job after Core Curriculum? Now is your chance to ask!”

The Questions that came in ranged to the following areas:

  • Launch School
  • Core curriculum vs Capstone
  • Capstone (program and project)
  • Is Launch School worth it even if I can’t do Capstone?
  • Study Habits
  • Day in the Life of an Engineer
  • What I do at work/What we’re building
Photo by Abhishek Desai on Unsplash

@CodyStair

  1. What were your study habits like? Specifically, how did you approach note taking, review, memorization, how many hours per day/week, etc.

I was studying full-time most of the time I was at Launch School so I probably put around 4–7 hrs per day. Maybe 25–40 hrs per week. Some weeks I put in more while others I relaxed more. I tried to keep an even pace that I could keep up. There were days where I would study a lot, get burned out, and then only study a couple hours over the next couple days. I tried to avoid that pattern as much as possible.

I would also break up my study periods with gym/walking breaks to keep my physical activity up. I was actually pretty fit when I studied LS haha.

In terms of note taking, nothing fancy. I would either take notes in the native Notes app for Mac or just with pen and paper. Note taking was very important though. I would rarely ever review my notes, but the act of writing notes helped me to understand concepts better. I would also try my best to work out solutions on my own before looking at answers. If I did need to look at solutions a lot, I would go back over the problems multiple times to make sure I understood the core ideas.

I wouldn’t say I used any novel hacks to study, just the tried and true methods that have been discussed before. Consistency was the biggest benefit, however. Showing up every day and going over concepts and problems multiple times helped the most.

2) If you had not gone on to do the Capstone, what would you have done? What kind of job do you think you could have acquired?

I considered not doing Capstone. I worked as a web development intern part way through the front-end course for a couple months. I hated it. It’s what ultimately convinced me to do Capstone because I didn’t want to end up in another job like that again.

Had I not done Capstone, I probably would’ve done what Capstone already offers, but at a slower pace. I would’ve tried to build a bigger portfolio project that really tested my skills and studied some computer science topics on my own using those free MIT courses.

Having done Capstone, I realize now it’s definitely not required to get a job. I had all the skills I needed from the Core Curriculum. At the same time, Capstone helped a lot with confidence in my own ability by forcing me to study and giving me a financial incentive not to slack off.

“The confidence I got from Capstone and the interview coaching helped me shoot for those top-tier jobs.”

Though I don’t think I could’ve gotten DigitalOcean without Capstone. The confidence I got from Capstone and the interview coaching helped me shoot for those top-tier jobs. I probably would’ve shot for a consultancy like ThoughtBot or Pivotal Labs as their interviews at a bit friendlier. Though I have bootcamp friends who have gotten jobs at companies like American Express, West Elm, and Home Depot. I would have shot for those types of places as well.

3) What would you do differently in LS if you had to go through it all over again?

If I were to go back through LS again, I would try to finish more of the advanced electives than I did. Having experience working on or building my own production applications would’ve helped me hit the ground running more at DigitalOcean as we use Rails a lot and integrate with many other APIs. It was a bit of a steep learning curve for me when I first started. We also use some ruby metaprogramming which I had no idea how to use.

Also, APIs are very common interview questions. The majority of my take home tests involved creating APIs or integrating with them. I struggled a bit on my first couple challenges because I didn’t practice working with APIs enough at LaunchSchool. I picked it up quickly, but it required stumbling a bit in high stakes settings, which isn’t the most fun.

Photo by William Stitt on Unsplash

@Jay-ArJamon

1) How long did it take you to complete the core curriculum and how many hours per week did you dedicate?

It took me around a year to complete the Core Curriculum. I started at the end of August 2016 and finished the front-end course around June/July 2017. I then started working on the advanced electives until August 2017, which is when I began Capstone.

I dedicated roughly 25–40 hours per week to dedicated study. That may not seem like a lot, but I would try to make my study sessions as intensive and focused as I could. Phone on silent, door shut, white-noise on Spotify kind of studying. I also used a Mac App called SelfControl to prevent me from being able to visit social media sites or distracting sites while I studied. (@CodyStair this also pertains to your first question as well).

I would try to study for chunks of 30–60 mins and have breaks in between. I would also go to the gym in the morning and afternoon to give myself a mental break.

“Phone on silent, door shut, white-noise on Spotify kind of studying.”

2) How competitive is the Capstone admission process and what did you to prepare?

At the time I applied, I don’t believe the Capstone process was necessarily very competitive. They didn’t tell me if people were rejected or not. I did have to submit a formal application though.

At this point in time, I don’t think there are so many people that get through the entire curriculum and all at the same time to make it extremely competitive. In my opinion, the reason for someone not being accepted into Capstone is because the LS staff don’t believe they are quite ready for the work load at that time, not because they don’t have enough spots. Though Chris or another TA could probably clarify that.

3) What is your day-to-day like now at work after completing the whole LS program?

The day-to-day varies a lot depending on the project that is currently being worked on, whether I’m “on call” or not, and whether there is a pressing deadline. However, a simplified version of my day would look like:

  • Arrive at work usually between 8:45–930am and briefly review what I did the day before. If I’m on call, I check to see if there are any new bug tickets that need to be addressed
  • I will code/work on any current tasks until our stand-up meeting, which is at 11:30am ETC.
  • DigitalOcean has catered lunch at noon everyday and then I usually go for a walk until 1pm.
  • For the rest of the day, I just work or go to any meetings that I have. For example, today I worked on integrating one of the apps that my team is building into the company’s internal support tool. That way, if customers ask our support engineers a question involving that product, they can look it up in the internal tool instead of having to come directly to us to ask questions.
  • Another fun example of a daily task I can show off is adding a feature to one of DigitalOcean’s open source tools a couple weeks back, which you can see here

I usually leave work around 5–6pm.

Photo by Helloquence on Unsplash

@arnoldsanders Great questions! It’ll give me a chance to show off a little haha.

1) What do you do currently at Digital Ocean?

I am a Software Engineer on the Storage team at DigitalOcean. I primarily work on the Spaces product. If you are familiar with AWS S3, Spaces is the S3 equivalent for DigitalOcean. If you are not familiar with S3, Spaces, or object storage in general, you can think of it as Dropbox.

Much like Dropbox, you can upload a file to a DigitalOcean Space and it will save it for you. Where it differs from Dropbox is that Spaces then provides you a URL address where you can see your file that you uploaded.

For example, https://tf-spaces.nyc3.digitaloceanspaces.com/vanta_awk.jpg is a URL to a picture that I have saved on one of my DigitalOcean Spaces. What this URL allows me to do is embed this picture into any websites or apps. So Spaces takes care of hosting static content for our users.

Another example is Launch School itself. Whenever you click on the “Download” button on a Launch School video, you are directed to an Amazon S3 URL. Launch School hosts their videos on Amazon S3.

“…Netflix stores movies about cities closer to those cities, as residents of those cities are the most likely people to watch them…”

So that’s the main product my team works on. Recently, I’ve been working on adding a CDN feature to Spaces. If you’re unfamiliar with CDNs, they’re essentially a way to serve static files faster by storing them on a server that is close to the end user. For example, Netflix stores movies about cities closer to those cities, as residents of those cities are the most likely people to watch them (e.g. Sleepless in Seattle would be cached in a server close to Seattle). This makes it faster to stream the video for the customer wanting to watch it. Sorry if I gave too many round-about examples. It’s hard to talk about the product I work on without explaining the context first.

Our CDN feature requires integrating with a third party service/API who handles the CDN caching for us. I’ve mainly been working on creating public API endpoints that our users can use, adding CDN support to our open source tools, and creating internal auditing tools to make sure the billing is accurate (so we don’t under/overcharge users).

2) And are you still using Ruby/JS in your new role?

I do use Ruby and JavaScript! Though more Ruby than JavaScript. I’ve only touched JavaScript a few times so far. A lot of our internal tools use Ruby, so that’s when I get to use Ruby. Pretty much all of our customer facing products use Go. I’ve had to learn Go while on the job, which has been difficult but fun. Go is a statically typed language, so that was a steep learning curve. I would say I 50% of my time is spent in Ruby while the other 50% in Go.

Though, in the first month that I worked at DigitalOcean, I had to write code in Ruby, Go, and JavaScript. It was quite the month.

Photo by Mimi Thian on Unsplash

@NickRowlands

1) How did you balance ‘just’ following the LS curriculum as it appeared versus digging into more peripheral side topics that came up along the way? (Guess I’m just talking about core, here.)

I think it’s important to stray off the path a bit and really dive into the rabbit holes that present themselves. That’s what Mastery Based Learning is all about and Launch School’s self-pacing allows for it. Students always ask if Launch School will start teaching React/Angular. Nothing is stopping you from learning it yourself once you understand JavaScript!

At the same time, you may not want to dive into every rabbit hole since you that may lead you to putting your studying on hold. I usually dove into topics that I either found personally interesting and/or challenging. I also waited until I finished a course before working on a side project or diving into a rabbit hole. The wait period after finishing an assessment made for a natural break point and allowed my mind to wonder.

I think it was after 130 that I made my first Ruby gem because I thought it would be a fun challenge to make my own Gem. It also lead to me writing about it on Medium.

I also made another Gem, Opening Act, sometime after 170 because I was using Sinatra a lot and realized there wasn’t a boilerplate builder like Rails has included.

Taking time to play around and work on side projects after courses also helps to solidify all the new information you just used and can also lead you to making some fun portfolio projects. You do yourself a disservice by diving straight into the next course without giving yourself time to play around and test out your new found skills. You may also surprise yourself. I thought making Ruby gems was only for professionals and advanced coders until I decided to just make one myself. It helped a lot with demystifying what Ruby gems where and that they weren’t anything special or advanced.

New students always ask if they will create a portfolio during Launch School, but that’s not necessarily its job. Launch School is giving us the tools so that we can create our own portfolios!

“Taking time to play around and work on side projects after courses also helps to solidify all the new information you just used and can also lead you to making some fun portfolio projects.”

2) Was there anything you wish you’d spent more time studying? Anything you think you spent too long on?

I wish I spent more time learning Rails. While many people say Rails is losing popularity, it was so groundbreaking when it came out that you see Rails influenced frameworks and libraries everywhere, such as Laravel and Ember. Learning the basics of how MVC frameworks work and what problem they solve helps with understanding new paradigms (such as React/Redux).

I don’t think one can necessarily study too long on any given subject. After all, you’ll just become crazy good at that subject. With that said, I do think I spent the most time on the HTML/CSS simply because the assessments put a lot of emphasis on making everything pixel perfect. I think they have since made that standard more lax, which I think is good. After all, it’s much more important that students understand the CSS box model and how to make their layouts responsive than to spend 20 mins using a ruler to make sure the padding is 18 pixels and not 20 ;).

3) Most important piece of advice you’d give someone at the beginning of their learning-to-program journey? (Asking for a friend…)

Someone asked me that recently. It really depends what beginning stage they are at. If they are completely new and don’t even know if they want to do web development, then I would suggest using as many free resources and free trials as you can. No sense in paying for something that you aren’t sure about.

If the person knows for certain they want to be a web developer and are at the beginning stage of learning, then my advice is to commit 100%. When I started Launch School, I didn’t have a plan B. I didn’t have a job and didn’t have any other good skills to fall back on. The best job I ever had at the time was making $14/hr as a rehab tech at a physical therapy clinic with no room for advancement.

You don’t necessarily have to quit your job or anything, but commitment and consistency is a must. Studying on your own will be hard and there will be times you want to quit or cash in early for a crappy job. If that person isn’t 100% committed to learning to program then they will be strongly tempted to stop to do something easier.

This is assuming that person wants to make a career change and isn’t learning just for a side hobby.

4) Favorite Ruby method and why?!

Oh boy, so many to pick from. Especially since I’m learning Go and am missing a lot of the syntactic sugar that Ruby provides. My favorite would probably have to be & as in array.map(&:method_name). I guess technically that would also be .to_proc.

It just feels so good to me when I realize I can just use .find(&:method_name)instead of .find { |item| item.method_name }. Especially if it's a method I made myself. It makes me feel so clever, which I suppose isn't always the best thing for readability. But hey, it's Ruby, it's comes with territory ¯_(ツ)_/¯.

Photo by Harpal Singh on Unsplash

@JuliusZerwick

1) How did you talk about your Launch School experience to employers during the job hunt?

That’s a good question and something that came up often. I usually described it as an “Online school for web developers” or an “online school for learning web development”. I did the best I could to avoid the word “bootcamp” just due to the baggage. And if someone tried describing it as a “bootcamp” I would make a special effort to correct them and explain the self-pacing, required assessments for passing, and the fact that it took me over a year to finish. That would usually help them get the picture.

I would also describe Capstone as an “optional and intensive program” that focused on teaching CS fundamentals and building a non-trivial project on a remote team. Which would give me a nice segue to then redirect the conversation to my Capstone Project and the impressive stuff we built.

That’s a tip I would give to anyone from Launch School interviewing for jobs. If the interviewer ever tries to push you to talk about your education or experience in a way that puts you in a bad light, take ownership of the conversation and redirect it to emphasize your accomplishments instead of your credentials. Recruiters still have a lot to learn about interviewing Launch School grads, it’s on us to help them out ;).

“I would also describe Capstone as an “optional and intensive program” that focused on teaching CS fundamentals and building a non-trivial project on a remote team.”

2) What topics did you spend time on that were outside of the LS material and ended up being useful during your job hunt?

I think building some of my side projects, such as the Ruby gems, helped to beef up my portfolio a bit. I also learned to use ES6 syntax for JavaScript which was very helpful. Launch School only taught ES5 at the time but a lot of employers really emphasize ES6 use and knowing the latest syntax. So learning how Classes worked in JavaScript, arrow functions, and let and const were beneficial. While using ES6 on my take-home tests didn't necessarily help me, I think using only ES5 and not knowing ES6 might've hurt me a little.

3) Is there anything that you wish you could have done differently during your time in Capstone and the job hunt?

In terms of studying or preparation, I think I did a good job of that. Capstone definitely prepares you for the job hunt well. However, there are still aspects of Capstone that I could have done better.

If I could go back, I would be a much better team player during Capstone. When I was in Capstone, I knew I was nearing the end of my Launch School journey and a job was just over the horizon. Because of this, I let my ego get the best of me on certain occasions because I wanted to make sure I came out of Capstone in the best light as possible. This led me to try to push my team more than they needed to be pushed, given the already fast-paced environment of Capstone.

The reason I bring this up is that future Capstone students may encounter these same feelings of wanting to put yourself first before your team because they want to make themselves look good for the job hunt. But while programming may seem like a solo event, it is highly collaborative and you can’t do it on your own. This is true in any setting, whether it’s Capstone or your future job. Short term decisions made to benefit yourself will ultimately bite you in the future. For any students about to enroll into Capstone, I would definitely recommend the book Give & Take. It has helped me re-evaluate how I approach working in teams and how to help the team succeed.

4) How does your day-to-day at your job compare to your preparation & studies at Launch School? Were there any dramatic shifts that you went through that could be a nice heads up for us?

My job doesn’t involve a ton of web development, which was a huge shift for me. Even Chris was surprised I got the job at DigitalOcean since they focus more on infrastructure than web dev. I don’t use any of the front-end skills I learned at Launch School and focus much more on the backend. I use SQL on a daily basis and work with/build APIs a lot. Also building large scale apps as part of a team will be a new experience for a lot of people.

The other dramatic shift was learning DevOps. I’ve had to learn Docker, Kubernetes, CI/CD and building end-to-end systems from scratch. None of that I learned from Launch School. However, I’ve been able to pick it up quickly. Even my team lead and coworkers have remarked how quickly I was able to pick up Go and the other tools even though I had never touched them before.

That’s when I realized the true magic of Launch School wasn’t the programming skills but something much more important: problem solving.

My most recent task was to create a reoccurring job that audits one of our usage-aggregating services to make sure the data it sends to billing is accurate. It was written in Go, makes calls to a third party API, subscribes to a Kafka topic and pulls data from an internal microservice.

That probably sounds like jibberish to you. It did to me. But I was able to do it because I understood the fundamentals and how to problem solve. After I completed that task and got it working, I felt like someone in a hero movie when they just realize they have superpowers. I’m probably over-glorifying it a bit but it really made me realize that what we learn at Launch School doesn’t stop at web development. That is just the beginning — sky’s the limit. I don’t think many students will realize that until after they graduate.

“Even my team lead and coworkers have remarked how quickly I was able to pick up Go and the other tools even though I had never touched them before.”
Photo by Kenan Buhic on Unsplash

@BharatAgarwal

1) What kind of roles did you target? Did you look for back-end heavy jobs or full-stack roles?

I’m unsure whether you’re asking about my job hunt after Capstone or during the Core Curriculum, since I technically did both. To cover all my bases, I’ll answer for both.

Core Curriculum: Since I was finishing up the front-end course and also had previous experience with HTML/CSS/JS, I mainly targeted front-end roles. I did interview briefly for a full-stack role but it didn’t lead anywhere. My friend who is the one who ultimately referred me for the web dev intern position which only paid $15/hr. That may seem like a lot to people living in the cheaper areas, but for a web developer living in NYC, it’s peanuts.

After Capstone: At this point, I realized I didn’t particularly enjoy front-end work so I mainly shot for back-end or full-stack positions. I did briefly interview for a Senior Frontend Engineer position because they were offering a ton of money but didn’t like the company very much so I stopped the process part way through. The rest of my job interviews were for Backend or Full Stack positions.

“I realized I didn’t particularly enjoy front-end work so I mainly shot for back-end or full-stack positions.”

2) How willing were you to deviate from the LS curriculum to add more practical job-oriented knowledge — say learning RoR — during this time period? What was your experience like, regarding these tools, once you started the internship.

I didn’t learn a whole lot during my internship because it only lasted a couple months, thankfully. I learned some neat animations using JS and got to play around with HTML Canvas and Paper.js but didn’t do much else. To be honest, most of the time I had very little to do, so I would study Launch School during the work day when no one was looking.

In terms of deviating from the LS curriculum, I did learn React and Redux on my own after learning Backbone in the old 260 course. I was actually planning on making a Medium article comparing the Backbone’s object-oriented style vs. React’s functional programming style but never got around to it. Since Launch School already teaches Rails in the advanced courses, I didn’t try to learn that on my own.

In my opinion, unless you plan on building a portfolio project using a non-LS technology like React or Angular, it’s not very useful learning it for job hunt related reasons. 99% of the take home tests that companies give you are open-ended and can be completed faster using basic HTML/CSS/JS than some fancy framework you need to take hours to setup. Some companies may ask you to complete a take home test in a specific framework but it’s rare. It only happened to me once and I was so busy with other take-home tests that I ended up not doing it haha.

Long story short, if you want to learn an extra-curricular technology for fun or to try building a project with it, go ahead. If you only want to learn it so you can add it to your list of “Skills” on the Resume, it’s not really worth it. Good employers can see right through that.

Photo by 85Fifteen on Unsplash

@TomTu

1) What was your process for coming up with project ideas at the beginning of Capstone?

Just to preface this answer, Capstone changes from cohort to cohort. One cohort’s experience will be drastically different from the next. Take my answer with a grain of salt because there’s a very good chance they don’t do it this way anymore.

For example, we didn’t come up with project ideas for the Capstone project until half way through the program, not the beginning. And the process wasn’t necessarily anything fancy. My team and I brainstormed a bunch of ideas that we wrote down and divided up to research more. Most of the ideas came from things we were interested in and had had first hand experience with.

One idea I remember was creating some sort of search engine for data that the government makes publicly available. The person who came up with that idea had a particular interest in activism and open source data.

After researching the different ideas, we regrouped to see which ideas were feasible and remove any that weren’t. Rinse and repeat until you got a single idea. We got input from our Capstone instructor from time to time but it was ultimately up to us decide on an idea.

2) And if you and your team had multiple ideas, how did you guys decide on a collaborative text editor as the project?

We definitely had many ideas, as probably most Capstone groups too. It’s an exciting time to come up with a Capstone project! We ended up on a collaborative text editor because everyone in my team had a shared interest in collaborative tools. I was particularly found of the Twitch Plays series where people get together to play a game by inputing commands into a chat box.

Initial collaborative ideas included remaking Twitch Plays or a 1v1 collaborative coding game, but the we decided those ideas were too grandiose for the time we had. We iterated over a couple different collaborative tool ideas until we came on a text editor since there was already a ton of research on collaborative text editors and the scope wasn’t too big that we couldn’t finish it in the allotted time.

“We ended up on a collaborative text editor because everyone in my team had a shared interest in collaborative tools.”

3) Any advice on ways to come up with “good” projects to work on? I feel like having a good project idea is important, and that there is also pressure to come up with a good/worthy project to work on.

Build what you know or are interested in.

It’s similar to the advice that experienced investors give to novices: “invest in what you know”. There’s no need to make the next Google or invent what hasn’t been done. You just need a project that is going to challenge you and prove to an employer that you know what you’re doing. That’s the end goal, so try to make it as fun as you can.

You can also draw from your own experience and pain points. That’s why I built OpeningAct. I was tired of writing the same Sinatra boilerplate over and over again and wanted to automate it. It’s not quite Capstone worthy, but you get the picture.

You can also look at what has come before. If you compare newer Capstone projects to older ones, you can see examples of teams taking ideas from other projects and improving upon them.

If you’re really out of ideas, you can ask fellow engineers or friends what sort of things they think would be cool. I’ve actually been thinking of new side-project ideas recently that future Capstone teams can feel free to steal:

  • A collaborative whiteboarding tool (there’s actually not a ton of great options out there for collaborative whiteboarding)
  • Highly available Checkout Cart as a Service (similar to what Amazon has with DynamoDB)
  • A general purpose and configurable web scraper tool (like Huginn)
Photo by Charles Deluvio 🇵🇭🇨🇦 on Unsplash

@NicholasKollinger

1) Were you married or in a serious relationship while going through Launch School? If so, do you have any specific advice on balancing the two?

Yes, I had just gotten engaged when I began Launch School and got married part way through studying. My biggest advice for people in a serious relationship is to get your significant other on board with your goals. That should be your main focus before you even begin Launch School. If you and your SO aren’t on the same page before you begin studying, it’s going to make it very difficult to balance them both.

That was one of my biggest mistakes when I first started doing Launch School. My wife was rather skeptical of me studying full time instead of going out to look for a job. I had changed careers multiple times in the period that we were dating and she knew I was rather flighty in my aspirations.

She knew I wanted to learn web development, but she wasn’t convinced that doing Launch School was the best choice. She was worried that I would change my mind part way through (can’t blame her for that) or that it was just going to take too long. She felt that if I was really committed to learning web development, I should do a bootcamp so that I could get a job faster. She made enough money to support us both while I studied, but she didn’t want to be the sole bread-winner for multiple years. However, I thought bootcamps were too expensive and didn’t want to add any more debt than what I already had, so I started doing Launch School anyway without fully convincing her it was the best choice.

That wasn’t a good idea, to say the least.

Whenever she heard about a bootcamp grad getting a decent job in only a couple months, she would bring up doing bootcamps again and I would somewhat lie to her saying “it’ll only be a couple more months, I’m almost done” even though I knew it wasn’t true. And once those couple months would pass, she would become anxious again since I didn’t seem much closer to finishing.

“My wife was rather skeptical of me studying full time instead of going out to look for a job. I had changed careers multiple times in the period that we were dating and she knew I was rather flighty in my aspirations.”

Luckily, with time, I was able to win her over. Any remaining doubts she had were completely erased when I began my job hunt and she saw the types of companies that wanted to interview me and the offers I was getting. However, that initial friction was 100% my fault and could’ve been avoided had I only spent time with her, in the beginning, to thoroughly explain why I believed Launch School was the best choice.

To make a very long story short, if you’re in a serious relationship, your first job before you begin studying Launch School is to make your significant other your champion supporter. It will make studying, especially when times become difficult or lonely, so much easier with them by your side and cheering you on.

2) What was your job search like? I know Launch School assists capstone graduates, are you able to elaborate on what that entailed?

Job searches are very singular experiences and vary dramatically from person to person. Where you live, how active the job market is, and the size of your network will all influence your job hunt experience. I was in a relatively new city and didn’t know anyone. I had to network like crazy in order to get referrals. Tech challenges also ran the gambit from relatively easy to pretty dang hard. I describe some of the tech challenges I faced in this Medium post.

Luckily, NYC is a very active city and my search only took about 2 months long. Some people from my Capstone group took even less time while others took longer. Instead of writing a detailed account about it here, I will direct you to a Medium post I wrote about my job search experience. That will probably have all the juicy details you’re looking for ;).

3) What is the best piece of advice and what is the worst piece of advice you were given during the learning process?

The best piece of advise I got was staying consistent and showing up every day to learn. It’s really the only way to learn if you want to master your craft. Knowledge accumulates bit by bit. Every professional and savant has become that way through relentless dedication and showing up every day to get just a little bit better. There aren’t in shortcuts to mastery.

This was such a good piece of advice that I actually wrote about it recently and how it’s helped me grow as an engineer. Sorry for all the redirecting to Medium, it just so happens that a lot of your questions correspond well to articles I’ve written haha.

The worst piece of advice I ever read about while I was learning was pretty much the opposite of the best advice. I read a blog post one time from a guy who was telling people to pretty much start looking for a job as soon as you get any skill whatsoever. He essentially said that it may take you 6 months to find a job, but on-the-job learning is the only way you really become an engineer. It was complete BS.

So many people want to become engineers and get well-paying jobs but don’t want to put the effort in. They want some sort of shortcut. I actually know someone who started Launch School roughly around the same time I did and we progressed around the same pace. However, that person decided to leave in order to do a bootcamp that promised faster results. I keep going and eventually enrolled into Capstone.

When I got my job at DigitalOcean, this person reached out to me asking for advice. They had been searching for a job for a while and were struggling a lot. I empathized them because I understand how hard it is to get rejected during the job search. On the other hand, my first thought when they asked for advice was, “you should’ve stayed at Launch School”.

The slow path to mastery is, in the long run, the fastest route to success.

“…my first thought when they asked for advice was, “you should’ve stayed at Launch School.”
Photo by Bonnie Kittle on Unsplash

@JonWaters

1) Are there other junior devs at DigitalOcean? If so, what ages are the junior devs?

No, DigitalOcean doesn’t have any engineers with the title of “Junior Developer”. We had summer interns recently, but I don’t really count that.

The closest thing we have to junior devs are IC1 engineers, which is the lowest rank for an engineer at DigitalOcean. For reference, I am an IC2. IC stands for individual contributor. However, the IC1 engineers I know at DigitalOcean actually have multiple years of work experience. More than myself, so I wouldn’t consider them juniors. One IC1 I know is an open source contributor to Kubernetes, which isn’t a small feat.

The IC1 engineers do tend to be younger. Probably early to mid twenties.

2) If you had to devise your own Capstone, what would it consist of? Do you have any learning resources and portfolio project ideas you can share?

I honestly think my experience in Capstone was pretty ideal. I wouldn’t change too much. They did teach us some libraries and frameworks that I didn’t find too useful during my job hunt, however some of my other Capstone mates use those libraries a lot. The instructors of Launch School have been iterating on the Capstone program for over a year and it’s still improving. I’m not really sure I could come up with a better idea off the top of my head.

My own Capstone program would need to involve teaching the the students algorithms, data structures, design architecture, and have the students build an impressive portfolio project. It really is what employers look for, for better or worse. How to teach those subjects in a compressed time period with success is where the money lies. If I knew how to teach those subjects better than Launch School, I would’ve already created my own program and would be raking in the money haha.

“The instructors of Launch School have been iterating on the Capstone program for over a year and it’s still improving.”

In terms of exterior learning resources, I like Udemy and Treehouse for learning specific topics to a surface level competency. I also do have some portfolio ideas I could share. I’ve been thinking recently of new side projects I would like to try that future Capstone student are free to steal:

  • A collaborative whiteboarding tool (there’s actually not a ton of great options out there for collaborative whiteboarding)
  • Highly available Checkout Cart as a Service (similar to what Amazon has with DynamoDB)
  • A general purpose and configurable web scraper tool (like Huginn)

3) Do you have a college degree? If not, was not having a degree ever a hindrance to your job search? What was it like relocating to New York? Did you move from another large city?

Yes I have a college degree. I have a bachelors degree in Oceanography. I’ve heard different stories about not having a college degree. One engineer I know told me not having a college degree was really hard for him and it took a long time to find his first job. However, he also went to a bootcamp and his portfolio project wasn’t necessarily the most impressive. He even admits to that.

On the other hand, one recent Capstone grad I know got a good job very quickly without a college degree. He didn’t seem to have much trouble getting interviews despite his lack of a college degree. So I’m inclined to believe that not having a college degree is not a hindrance, but rather not having an impressive portfolio.

Moving to New York City was definitely a big change. I moved from Seattle, which is also a decently sized city, but nothing like New York. I definitely had to get used to sheer number of people and that fact that there are always people on the street no matter the time of night. It’s also much faster paced than any other city I’ve ever lived in.

“Moving to New York City was definitely a big change.”

However, the amount of opportunity here is crazy. Companies are hungry for great talent. Excellent engineers can get interviews in a matter of hours or days when they start looking. I’ve seen it happen. Heck, my wife is looking for a new product design job and she’s already gotten close to 10 referrals in a matter of days thanks to connections and friends she’s made in the industry. It’s hard to find those types of connections and opportunities in other cities, except for maybe San Francisco.

Photo by rawpixel on Unsplash

@HamiduNuhu

1) Would it be possible to find a job, get up to speed with creating a solid, lasting career? Assuming it would be next to impossible to join the capstone course. Is Launch School worth it even if I can’t do Capstone?

Yes, without a doubt. There’s a lot I want to say about this topic so I’ll try not to ramble too much.

Capstone was by far the best thing that has happened to me in regards to launching my web development career. But it isn’t a requirement. Manypeople have gotten jobs without Capstone. (Each word in that last sentence is an individual link).

In terms of building a solid, lasting career, that’s Launch School’s bread and butter. Capstone isn’t meant to help students build a lasting career. It can’t, it’s only 3 months long.

The sole purpose of Capstone is to give students the coaching and training needed to compete with CS grads for top-tier companies. Everything we learned in Capstone had the singular purpose of helping us get the best job we could. However, that means that once a Capstone grad finds a job, their Capstone coaching is over and now they need to figure out how to actually be a software engineer. That’s where the Launch School training comes in.

“The sole purpose of Capstone is to give students the coaching and training needed to compete with CS grads for top-tier companies.”

There were so many new technologies, languages, and libraries that I had to learn when I started at DigitalOcean. I didn’t know how statically typed languages worked or how to create my own CI/CD pipelines. However, thanks to the fundamentals and problem-solving skills I learned at Launch School, I was able to pick them up quickly. Even my managers and teammates have remarked how quickly I’ve gotten up to speed. I even got an official accommodation from my PM for helping build new support features that they hadn’t planned on completing until the next business quarter.

If you want to work for the highest tier companies, then Capstone will help you achieve that. That probably sounds really amazing to those of you reading this. “I want to work for a Google or an AirBNB” you may say. There are drawbacks, however. Capstone ain’t free. It’s also intense and requires 100% commitment. Something not everyone can give due to other obligations.

You don’t need to work for a Google type company to launch or build a meaningful career. Far from it. I decided to do Capstone because it fit with my career aspirations and because I couldn’t pass up the chance to learn from industry veterans. Had I not done Capstone, I know I still would have found a great company regardless. It may have taken a bit longer, but looking back now, I had more than enough ability to find a meaningful job that would have launched my career.

For those of you who can’t do Capstone or don’t want to, Launch School is still 100% worth completing. However, you will need to do your own type of Capstone program once you finish the Core Curriculum. Building a non-trivial project will help separate yourself from candidates who have Reddit or Twitter clones in their portfolio. Employers also like seeing candidates with production quality projects since it tells them that you know how to build scalable and robust software. Learning basic data structures and algorithms will also be helpful since many technical challenges involve them.

Everything I mentioned in the previous paragraph is possible without Capstone. Capstone just makes it easier.

Photo by Annie Spratt on Unsplash

@KhaledElagamy

1) You said you did not like the front end jobs based on your interning experience. Could you elaborate? What didn’t you like about front end that you refused a high paying position? Why choose back end positions?

It wasn’t that my internship turned me off of front-end positions, I just really didn’t enjoy the front-end work I did at the internship. It was monotonous and not challenging.

Front-end definitely has tough challenges to solve, but not the types of problems I enjoy. I don’t particularly enjoy working on user interfaces, creating web pages and/or dealing with browser issues. I prefer challenges that come from scaling large back-end systems.

“Front-end definitely has tough challenges to solve, but not the types of problems I enjoy.”

I was looking at the tickets that our front-end team is working on and one of them was “Dropdown on Product page is blank on Firefox”. I cringed when I saw that ticket because I had to deal with that sort of stuff on our Capstone project. It was not fun at all and not the sort of bugs I want to deal with.

2) In the job hunting position, how did LS help you? Did they recommend companies or roles in companies? Did LS have referrals for you or as you mentioned in your blog you had to meet engineers and build your own networking?

Like I’ve mentioned before, Capstone changes a lot with each cohort so describing the exact process I went through probably won’t be helpful.

During my job search, they helped me with encouragement/support, offer negotiation advice, and interview coaching. I did my own networking. I did get some referrals from previous Capstone grads and I did get one referral from an LS instructor, but that was only because that person happened to know someone at the company I was applying to.

That was one complaint my wife made while I was job searching, that LS didn’t provide me with more networking support. I have a couple thoughts on that.

  • Capstone/Launch School is still new and it’s network will grow with time, so they may be able to provide more network support later on.
  • Even if LS did have a huge network, I would only use it as a last resort.

Networking is such a crucial skill. Building my own network will pay huge dividends in the future. Had I used LS as a crutch, I would’ve been doing myself a big disservice. That’s one big issue I see with bootcamps. Bootcamp grads with jobs refer their bootcamp friends. Because of this chaining, you end up with companies that have a large number of very inexperienced engineers working on their products.

Many bootcamp grads are hoping for mentorship when they get a new job, but senior engineers can’t mentor 5 people at once. The new hire ends up learning from someone with only a couple months more experience than them.

Blind leading the blind.

I would gladly refer and hire a Capstone grad, but I wouldn’t be a good mentor for them. They would be better off learning from someone else in the company with much more experience or networking to find another company where the ratio of inexperienced to experienced engineers is as close to 1-to-1 or better as possible.

In the end, I am very happy with the support and coaching I got from Capstone. I don’t necessarily believe more networking support and referrals will help their grads in the long run.

3) You said you lived in Seattle, why did you choose NYC over San Francisco which was closer? Was it because of DigitalOcean or the market in general in NYC?

I moved to the east coast before I even started studying at Launch School. DigitalOcean, nor LS, nor my job search were involved in the decision.

My wife had been living with me for a year in Seattle and didn’t enjoy the weather or her job. She’s originally from NYC and wanted to move back. She also knew there would be better job opportunities for designers in NYC than in Seattle.

We didn’t move to SF because my wife had lived in SF for a while before moving in with me in Seattle. She didn’t like SF whatsoever and didn’t want to live there.

I was okay with moving to NYC because I was born there and always wanted to live there. I also wanted a fresh start since I was changing careers and this was the perfect chance for that.

4) How did you decide to apply for DigitalOcean? This question is related to choosing a big company vs a startup and which route to follow, lets say that one day I would like to have my own consulting company where i want to “fix” other companies bad websites or apps or services, what should be the long term plan? What kind of positions i should be looking for and experiences I need to gain? Therefore what is your 10 years plan?

I chose to apply to DigitalOcean because I really liked the type of work they were doing and I was really interested in Cloud architecture. I’ve also been to their office before and liked their space a lot.

I wanted to go with a bigger startup that was experiencing a lot of growth but could also offer good mentorship from other experienced engineers. They also gave me the best offer and didn’t try to play any mind games with me while I was interviewing, but I respected them the most out of all the companies I applied to.

In terms of which company you should apply for an experience you should get, that’s really going to be up to you. I definitely don’t want to make that decision for anyone. The best advice I can give is to think about where you want to end up in your career or what you want to learn and achieve and pick positions/companies that get you closer to that goal.

If you want to create a consulting company that fixes websites and apps, then you might want to consider working for a consultancy and learning the ins and outs of the industry. Running and working at a consultancy is drastically different than running or working at a tech startup. So if a consultancy is your end goal, makes steps that advance you towards it.

I probably want to try joining an early stage startup or creating my own eventually, but not for a while. So I wanted a fast growing company so that I could learn quickly and get thrown into the fire, so to speak. I want to have a lot of responsibility while also being able to learn best practices.

“Running and working at a consultancy is drastically different than running or working at a tech startup.”

After DigitalOcean, I may want to work at a big tech company like Google for a while, especially if I start a family and want the stability. Plus, working at a huge company will teach me how to work on large distributed systems and how to large-scale systems operate.

Finally, with those big-name companies on my resume and a good foot in the industry, I may want to venture out on my own or join an early stage startup as a high-level tech manager. That way I can make high-level technical decisions that can help the company scale and grow based on my experience working in larger companies.

That’s my ultimate 10 year plan, but I’m sure a lot of those details will change with time.

5) How did you decide which recruiters were legit and which were not? Did you tell them the name of company that gave you an offer and the amount of that offer when you were approaching them and negotiating? Did you negotiate your current offer with DigitalOcean? How long and how many interviews did it take till you get an offer from the company lets say DigitalOcean?

Ironically enough, but when I’m looking for a job, I don’t like using recruiters. I try to avoid them as much as possible simply because I feel I can do a better job finding a job myself. The only recruiters I dealt with were the ones who worked for the companies I was applying to and I only talked with them on the initial phone screen and negotiations.

I did try to negotiate all the offers I received, DigitalOcean included. Having other existing offers definitely helped with leveraging my negotiations.

Each interview process is different but most follow the standard Recruiter Screen -> Tech Screen -> Onsite -> Offer formula. Some companies have fewer steps while others have more.

I was lucky enough to skip the tech screen for DigitalOcean and skip directly to the Onsite because they liked me a lot, I had other offers, and they needed the position to get filled quickly. I got an offer from DigitalOcean within a week of my first Recruiter screen. That is very rare. Most of my other interviews took multiple weeks to get to the offer.

6) And Last one is for your wife, as mine is interested in similar career, what is her advice on best learning path for UX and product designer related position ? Right now my wife is learning UX from Adobe online course, she does not have graphic design degree or experience, but interested in this field and i don’t know a similar to LaunchSchool program for UX/UI or product design/manager.

Since this AMA is meant for Launch School students and web development, I want to keep the questions on that topic. I’d be more than happy to discuss this question with you on Slack but it wouldn’t be relevant to discuss it here. I hope you understand :).

Photo by J. Kelly Brito on Unsplash

@ZacKlammer

1) Did you consider remote work? Ideally not something like a string of Upwork or Fiverr jobs, but a long term project or position with a company. Do you see much possibilities for someone in my situation (never worked as a developer) to find success in searching for a fulfilling and remote career?

I wouldn’t say I necessarily sought remote work, but I did interview at companies who offer remote work. DigitalOcean, my current company, is over 50% remote. I could work remotely if I so chose to, but I prefer to work onsite in their New York office. Though it is nice to work from home whenever I want.

I also interviewed for a remote position at GitHub, which is also over 50% remote workers. I turned them down once I got the offer from DigitalOcean, but there’s a good chance I would have taken an offer from them had DO rejected me.

“I could work remotely if I so chose to, but I prefer to work onsite in their New York office.”

With that said, remote positions are more competitive as there are fewer of them and many engineers seek them. I can’t promise anything, but I definitely think there is a very good chance for Launch School graduates to find remote work once they finish the Core Curriculum or Capstone. I know two Capstone grads who found 100% remote positions. Being remote friendly is a huge perk that more and more companies are realizing they can use to lure in great talent.

If remote work is what you are seeking after completing Launch School, I would strongly suggest creating an impressive portfolio. You will need to stand out from other strong candidates. Having non-trivial and robust projects on your GitHub will help make employers notice you. As well as writing on Medium and giving Meetup talks. Showcasing your knowledge will make up for your lack of job experience.

Photo by Green Chameleon on Unsplash

@Shahzinsajid

1) Hi, one question I’d like to ask does your job demands a lot of Data Structures and algorithms? Also any pre-requisites for math topics? I’m just curious to know if someone needs a good understanding of math-related topics to get a top job because my math skills are horrible.

Yes, I do use data structures and algorithms in my current role. They aren’t the same sort of algorithms you might see in technical interviews, but algorithms nonetheless.

I spend a lot of my day using Go, which is a pretty low-level language. It doesn’t have a lot of convenient built-in methods like Ruby. Many of the methods I took for granted in Ruby, such as map, reduce and filter, have to be created from scratch in Go. Go also lacks basic data structures, such as Sets, so those need to be implemented manually if I need one.

To give an example of a task that involves DS and algorithms, I’ve recently been working on a script that tests, analyzes, and compares response times from different API endpoints. This involves using data structures (mainly arrays nested inside of objects) to store and manipulate data. I also use concurrency and multi-threading (a.k.a an algorithm) to complete this script in the shortest time possible as it is meant to be run often.

In terms of math, that’s not a prerequisite unless you plan on doing statistics, data analysis, or very low-level programming. Basic math is all that’s needed for the vast majority of web development roles. As long as you know how to add, subtract, multiply, and divide numbers, you’re set :).

“Basic math is all that’s needed for the vast majority of web development roles.”
Photo by Fabian Grohs on Unsplash

@JamalNasserMZ

My question: will it be too late for me to start LS assuming I finish the Core in 10 months? Based on what kind of people you work with, and your job search experience do you feel companies mind recruiting older “new” developers from non-traditional backgrounds?

It’s never too late to learn to program :)

I probably can’t give you the best answer in regards to the job search as I’m not in that position nor am I involved in interviewing at my company. With that said, there are definitely plenty of engineers at DigitalOcean who are in their 40s. They may not be “new”, though I can’t be 100% certain since half of DigitalOcean works from home so there are many engineers I’ve never met.

My best answer is that it’s never too late to learn to program if you really want to learn it. I’ve read plenty of stories about not-so-young people learning to code and changing careers such as this one.

While I can’t say that age doesn’t play a factor in the job search, I don’t believe it will be a determining factor. It may be viewed as a strike against you by some recruiters, but strikes can be easily overcome. From my personal experience, the majority of the interview process is done over the phone and not in person.

“Pessimists may be right 9 out of 10 times, but it’s optimists that change the world…”

Face-to-face meetings don’t occur until the onsite interview. By that time, the company considers you a serious candidate. As long as you can show the company that you would be a valuable asset and that you fit on the team, I don’t see any reason why they wouldn’t extend an offer. They would be extremely foolish to rule you out simply based on age. Some companies might, but they would be exceptions.

My advice would be that if you truly want to learn web development and software engineering, just do it. Pessimists may be right 9 out of 10 times, but it’s optimists that change the world :).


Launch School is The Slow Path for Studious Beginners to a Career in Software Development.