Home Stretch

Enigma was a hard enough project. I was still not very comfortable turning my ideas into code. The whole week leading up to evaluations was stressful. Knowing I had to get passing grades for Enigma, Sales engine, and my final assessment just compounded my stress. I mean, 2.5-weeks to complete 2 big projects and be assessed… dude I’ve only been programming for 4 weeks!

Enigma was due on the following Monday. Most people in the class weren’t finished on Sunday night, and some were finished but still had a bunch of refactoring left. Thankfully we were given another day and I completely finished my project 15-min before my evaluation! Cutting it kinda close if you ask me. After a pat on the back we were christened with our next super fun seemingly impossible project, Sales Engine.

Honestly Sales Engine is no joke. For the newly minted developer it’s a monster of a project. Just reading the project spec may intimidate the best of us! Sales Engine is a data reporting tool. The data is merchant transactions, and it is plentiful. Six massive CSV files have to be parsed, over 12 classes have to been built, hundreds of methods have to be created, object relationships and responsibilities have to be established, and most difficult of all “Business Intelligence.” Biz intel includes calculating merchant revenue for successful transactions, determining most profitable merchant(s), determining the customer(s) that spends the most money at a specific merchant, determining what day the merchant was most profitable and on and on it goes until you get dizzy and want to vomit!

My first time tackling Sales Engine was a blur. I hardly understood how to complete the first section, Relationships. My partner was much better than me and took the reigns on pretty much the whole project. I didn’t want to hold her back because their was a time restraint and not passing sales engine meant we could potentially work on extensions(you really don’t want to know) over our break or just not advance to module 2.

The last week of the module I took my first final assessment. I failed, pretty epically in fact! The challenge was to implement an extension to a fairly simple Scrabble program. My accessor wasn’t really giving me too many clues and by the time I got comfortable with where I was heading we ran out of time. Can’t hate, I knew I had the skill to solve the problem I just approached it wrong. Turing gives you another opportunity to take the final assessment and if you don’t pass the second time you have an option to re-take the whole module.

After the first assessment I got to thinking. Am I ready to move on to module 2? Do I feel comfortable with my Ruby skills? What is the minimum? If I pass the assessment the second time do I deserve to move on to Module 2 when I can’t even complete half of Sales Engine by myself? Did I come here to just barely squeeze through the cracks and graduate as an average bottom of my class programmer? I thought about all this for the next few days leading up to my second assessment and decided regardless what happens I’m going to retake module 1. I felt very confident that if I retake the module I would improve tremendously and struggle less throughout the rest of the program. Interestingly I wasn’t the only one in my cohort who felt this way, 5 classmates chose to retake the module. That’s 25% of the class!

I told Jeff I’m contemplating re-taking the module and he asked me wether I even wanted to take the assessment again. I said Yes. I somehow had an A-Ha moment that last week and started to better grasp Enumerables, and I felt like if I’m going to re-take the whole module I prefer it to be by choice. I ended up passing with flying colors the second time around and felt good about myself. I knew I wasn’t completely hopeless. With a clear head I packed my bags that weekend for a week long surf trip to Nicaragua.

Hit The Ground Crawling

My first 6-week module at Turing began on February 9th. The week began all innocent as all first days of anything are. Team building, student introductions, and general discussion on how to learn at Turing and not burn yourself out, although that last one should have been emphasized a bit more. Everyone seemed exited and eager to learn. During the rest of the week we were slapped with small challenges like Fibber and gently patted with fundamental Ruby concepts. We learned about strings, integers, algorithms, arrays, hashes, and most importantly Testing. Can’t over emphasize the importance of Testing. We also learned the theory behind object orientated programming as opposed to functional programming. I wasn’t quiet overwhelmed at that point but I kinda got a glance of where things were headed.

I didn’t complete one challenge that week without someones help, super frustrating! Every Friday is kinda chill. We have guest speakers from all sorts of technology companies who come from small app-development consultancies like QuickLeft to bigger tech biz like Thoughtbot. There’s also ‘Lightning Talks!’ 5-min solo presentations usually reserved for module-2 and up peeps. Any topic of interest is fair-play. Some love em, some dread em, and some seem impartial. I personally think they’re a great idea. Becoming comfortable speaking in public kinda leads to a person becoming more comfortable with themselves. Speaking in front of your fellow students who you know and spend so many hours with is like speaking to your friends, so what better place to practice. Turing isn’t only a place to learn how to program, it’s a place to improve you’re communication skills. Plus one 15-min presentation heard by the right ears can land you the job of your dreams or open up many doors, nohf said.

Week-2 we were slapped with more challenging challenges, like Cryptographer. We also got to learn about the crown jewel of Ruby, Enumerables! By the time we got to building a Link-List the sides of my head, mainly the spots above the ears, began to gently pulsate in an achy kinda way. I was fairly overwhelmed. I understood all the tools but I didn’t understand how/when to use them. I was trying to use a wrench to drive a nail, tweezers to unscrew a bolt, and a screwdriver to paint a wall. Only when I started to really break problems down into tiny components did I start seeing glimpses of success.

Week-3 was the kick-off to our first serious project called Mastermind. If you’ve never played the game here’s the wiki. We had to create a REPL so a user could play from the command line. I used to really like the game until I was asked to write a program for it. With a whole 3-weeks of programming experience under my belt I got to work. After some time and some bit of swearing I quickly realized I had next to no chance of completing the project on time so I sought out help from classmates, mentors, and instructors. I barely completed the project.I had a fully working Mastermind app that I was super proud of. Did it have massive methods with paternalistic code? Maybe. Was some Classes taking on too much responsibility? Possibly.

All major projects are evaluated and scored. Scoring is based on an evaluation rubric. Below is an example of a Fundamental Ruby & Style section of the rubric, there’s usually 4+ sections like this.

  • 4: Application demonstrates excellent knowledge of Ruby syntax, style, and refactoring
  • 3: Application shows some effort toward organization but still has 6 or fewer long methods (> 8 lines) and needs some refactoring.
  • 2: Application runs but the code has many long methods (>8 lines) and needs significant refactoring
  • 1: Application generates syntax error or crashes during execution

Another very important section is Test Driven Development. If you get below a 3 in any one of these sections you basically failed the project and will probably have to complete another intermediate project before moving on to something more challenging…. Makes sense.

My project evaluator was big daddy Jeff and big daddy Jeff don’t play no games when evaluating projects. His intentions are very amicable but if you’re not handing in something that explicitly falls into 3+ parameters you’re going to fail! My Mastermind worked and was decently tested for. I thought I would pass but Jeff quickly shut that notion down. I was pretty upset after because I worked so hard building something I thought I wasn’t capable of building in 8-days.

All I remember about week-4 was the first backhand slap I received at Turing, Enigma.

Road To Turing

I first stumbled upon the Turing School during my first semester pursuing a degree in engineering. It was August 2014. I had moved to Denver not too long ago and was really looking for a career with problem solving at it’s core. I already had a degree and some experience in Finance but I felt like Engineering would stimulate me much more. A few weeks into the semester I started to recollect everything that was horrendously wrong with the formal education system! The list is obvious, long, and I’ll set it aside for another post. I will say this, you want to become a professional in any field? 95% of institutions will not fulfill you’re expectations, they will only set you back financially and intellectually.

Sitting in class being bombarded with theory based bull shit, I started surfing the web looking for some glitter of hope that would get me out of my potential 3+ year commitment to an uncertain future. I’ll never forget my first search query: ‘why college is bull shit?’ A few articles later I stumbled upon gSchool. 6-months of training to become a programmer and a guaranteed job making over $65K or your money back. The cost is roughly $19k. Excuse me? An absurdly high percentage of 4-year college graduates can’t even get hired for $40k! They graduate with a mortgage(college loan) on their heads. Thankfully my first degree in Finance was from a City College and cost me nearly nothing because I was a resident. I was stunned and didn’t really believe programs like this exist.

After diligent investigation I found another school called Turing. The founder of Turing was a guy named Jeff Casimir. Jeff is basically one of the godfathers of what today is deemed ‘code bootcamps.’ He worked for Teach For America, founded Hunger Academy and Jumpstart Labs, and organized the first gSchool program. He’s well respected not only as a great educator but a very good programmer.

So these were the two top schools in Denver that develop programmers. I continued my due diligence. Both programs had similar curriculums. gSchool: 6-months non-stop intensive program for ~$20k with job guarantee or money back. Turing: 7-months broken down into four 6-week modules with one week break in between modules for ~17k with job guarantee or money back. Both programs had reputable instructors and positive reviews. The difference is Turing is a non-profit organization and doesn’t have investors to answer to. But more importantly Turing has Jeff Casimir anyone interested should due some due diligence on this charismatic code buddha. The culture he’s created at Turing is wonderful, and the staff he’s assembled reflect Jeff’s lifetime of teaching experience.

The application process for both schools is fairly rigorous. I didn’t bother applying to gSchool because I set my sights on Turing and focused all my energy. Turing requires a 5-min video submission along with a technical writing sample and an online logic quiz. If they like what you’ve submitted you receive an invite to interview. At the interview they’ll ask some basic culture fit questions to gauge wether you’re going to play nice in groups, programming is super collaborative and these days you’re rarely going to be working solo on a project. After 15-min of chit-chat you’ll be asked to complete a logic game and encouraged to think out loud, they want to hear how you think and communicate your thoughts.

I can’t stress how important it is to be well prepared for the logic side of things. If there’s one metric that can potentially gauge wether someone can become a decent programmer it is logic puzzles. Turing uses LSAT logic games to determine eligibility. Before applying I spent roughly 2-3 hours a day practicing timed problems on Varsity Tutors. Don’t be discouraged if you suck in the beginning. I sucked royally! Initially I was struggling to correctly solve 50% of the yellow(easiest) sample tests within an hour!! The average person supposedly solved more right in 30-min…. I thought I was might potentially be brain dead. but It wasn’t because I was dumb, I just never had to think that way. I never encountered such brain sorcery! Initially I felt like maybe I wasn’t cut out to program, maybe my brain wasn’t wired that way, maybe my innate skill sets are more artsy. But something kept pulling me in that direction and I improved my scores dramatically every few days until the point I felt like I was ready to submit the online application. Thankfully Turing looks at aptitude and the ability the learn, not wether you have any programming experience. My going from barely solving half of the easiest 2-sets of 5-problem logic games tests in an hour to correctly solving 100% of the intermediate-advanced in 35-min was enough proof that I could be taught to program.

I submitted my application on Sunday, heard back the following day, and was asked to come in for the face to face. Of course  I was nervous but I felt like my preparation was adequate and my intention was genuine. I spent the last 7-weeks practicing logic games on a daily basis and learning HTML and CSS. I even built a static web-site while still attending engineering classes and taking exams. I knew that I belonged at Turing and every week leading up to applying my conviction became more solid. I even had a back-up plan if not accepted. I would show up every-day and try to persuade the staff in any way I could, even if my persistence became annoying. My attitude was that I belonged at Turing they just didn’t know it yet. Thankfully I didn’t have to stalk anyone. I aced the logic game at the interview and was accepted on the spot. If i could only convey in words what I felt for the rest of that day! And what I still feel 4-months since :~)


My name is Dmitry! I was born in Ukraine, grew up in the states, played professional basketball in Europe, and have a degree in Finance. I currently live in Denver. I recently moved here from NYC, where I spent a significant chunk of my life. A year ago I couldn’t imagine moving to the mid-west, let alone pursuing a career in web-development. I originally came to Denver to pursue a degree in engineering but shortly after(first-semester) stumbled upon this niche web-dev program. I took some time to investigate and everything I uncovered turned out to be so positive and inline with what I wanted to do with my life.

I’m attending The Turing School of Software. The curriculum is composed of 4-six week modules with 1-week break in between modules, 7-months total. I dare not call it a “code bootcamp” cuz some of the fine folks at Turing wouldn’t appreciate such slander. Did I mention my background in technology is nil? Every week is a challenging adventure full of success, frustration, disappointment, joy, helplessness, and most importantly mind expansion! The instructors are not only great educators but overall good people. As for my fellow students, I couldn’t ask for a more diverse down to earth bunch. I hope to maintain relationships with both after I graduate.

To be honest, this blog is a much needed requirement. I took ownership of this domain at least 4-months ago but never actually customized or posted anything. The days of procrastination are over I tell you! I don’t have a concrete mandate for the content just yet, but I figure I should start out by blogging about the road to becoming a software engineer and my experience at the Turing School. When I first started researching this awesome gem of a program there really wasn’t too much information out there except what the school itself published. Granted, the program has only existed for less than a year. I was still surprised to not find any current student blogs. I hope my experience will be valuable to others who are considering this wonderfully challenging path.