Looking for your first Developer Job?

It’s been a while since I’ve posted on Rails Mama, and I want to let my readers know about my new site, Dev Ready.

The new site is all about the path to becoming a professional web developer. I’ll be sharing tips on interviewing, job search, surviving coding bootcamp, and finding the best online resources for learning.

Check out my first posts (all related to the Junior Developer job search):

I would love to hear your feedback on the site. Good, bad, or neutral, all feedback is appreciated!

Join me at Dev Ready!

The Unlikely Role Model

When I first started blogging, I had a vague idea that real, live people might read my blog. Perhaps 3 or 4 people would type in a random URL, end up on my page, and spend a few minutes reading about Yak Shaving.

For the most part, though, I expected that my writings would float out into digital space, bouncing around in zero gravity with all the other unloved bits and bytes of the universe.

What I did not picture was that I would ever get the beautiful opportunity to be a role model for other Unlikely Developers.

When I say “Unlikely Developers”, I’m talking about people who don’t fit the mould: people who, by not fitting the stereotype, are constantly at risk of convincing themselves–or being convinced by others–that they are not cut out for this.

Writing has always been cathartic for me, but what has been even more cathartic is connecting with my readers.

Through my blog, I’ve met several people who were just beginning their journey–women, parents, low income and minority coders-in-the-making who are so passionate about learning to code, and so worthy of a spot in the tech world.

They’ve shared their joys with me as they get their first job or get accepted into their school of choice. They share their frustrations when they can’t get past a problem and wonder, “Am I kidding myself to think I could really be a developer?”

It is such an honor to be a part of these wonderful people’s lives, and to be the one to tell them, “That’s normal. I felt it too. You CAN be a great developer.”

Coding Bootcamps: A Fork in the Road for Tech Diversity

For years tech companies have lamented “The Pipeline Problem”: the shortage of female and other diverse candidates in the hiring pool.

The opportunity to change that dynamic may come from a surprising source: Coding Bootcamps.

Computer Science and other STEM majors consistently fail to attract female students. The reasons are complex, but 3 important factors are:

  1. The stereotypical profile of a Computer Science major does not meld easily with the average woman’s self-image. Young women recoil from Computer Science for the same reasons that men recoil from nursing. We simply cannot reconcile our self-image with the image we attach to that career.
  2. Computer Science programs involve intense competition between students. This feels very uncomfortable to women, who are taught to cooperate rather than to compete.
  3. Men get greater exposure to and encouragement in technology and math throughout childhood, meaning that female students arrive at CS101 already at a disadvantage. The teachers assume a certain level of knowledge from their students, and when a student does not have that base of knowledge on day one, she assumes she must be “less talented” or otherwise unsuited to the profession.

Examining the issue more closely, however, we see that girls are given less opportunities to explore computers. Subtle messages from parents, teachers, friends, and popular culture steer girls away from computer games, tech camp, and the joy of disassembling household electronics.

We may never know how much of the difference can be attributed to societal attitudes versus natural preferences, but ask any 3-year-old, and they can tell you what gender a construction worker or a nurse “should be”. The ideas about Software Developers evolve a bit later, but only because toddlers are not yet familiar with that career. Try asking a 10-year-old to draw a Software Developer. If you find one who draws a woman, $100 says her Mom’s a developer.

So, how do Coding Bootcamps factor into all of this?

Coding Bootcamps are in their infancy. There’s still time to mould them into the missing link for tech diversity. Mistakes were made at the inception of college-level Computer Science programs. Those mistakes can and should be remedied, but it will be an uphill battle. Coding Bootcamps have the opportunity to “do it right” from the beginning.

Another advantage for Coding Bootcamps it that their students are generally a few years older than college students. Those few extra years of maturity can make a world of difference. An 18-year-old college freshman still has a relatively unstable self-image and still feels the pressure to conform. A few years later, she will generally shed her desire to conform, accepting both the popular and unpopular facets of her personality.

Coding bootcamps come in at just the right time–late enough to give the student a chance to experience the work world, but early enough to leave years for a fruitful career.

By the time women gain the maturity level and motivation to buck the ideals of popular culture and fight the uphill battle to claim their place in the tech industry, they have often assumed enough family and work responsibilities that the traditional CS degree–with all its forays into interesting but impractical subjects–is so time-consuming as to be impractical.

Coding bootcamps, with their narrow focus on practical skills, give students the chance to learn the critical fundamentals in a short sprint, and then fill in the gaps on their own time.

How can Coding Bootcamps take an active role in changing the dynamic?

  1. Explicitly state all prerequisite knowledge, along with how to obtain it. Never assume knowledge, no matter how basic you believe it to be.
  2. Give added support to diverse students. Recognize that they may have unique challenges, such as the need to balance outside responsibilities and school, gaps in foundational knowledge, impostor syndrome, or feelings of social isolation.
  3. Implement Social Rules: Stepping outside of your socially-ordained role is taxing on the ego. Micro-aggressions, whether intentional or unintentional, can have devastating impacts on diverse students. Hacker School has a very impressive student manual with social rules that I would love to see implemented in every Coding Bootcamp.
  4. Partner with companies that are looking to improve diversity. Large companies can pay for bootcamp training for employees who are looking to switch from a non-technical career into a developer role, or simply hold their jobs while they retrain.
  5. Give up on the ideal of the Natural Super Genius Developer. Natural talent? It’s a myth. Talent does have a genetic component, but genes are expressed differently based on environment. Deliberate practice is the key to mastery of any subject, and propagating the myth that some people are born with the ability to write beautiful code only discourages budding talent.

We are at a fork in the road, and now we must choose: Will we continue with the status quo, checking the box for “minimum diversity level attained” or will we recognize this unique opportunity, and address the systemic issues that sustain our homogenous technical culture?

What Coding Bootcamp Doesn’t Teach

When I was going through Coding Bootcamp, I wondered if I would really learn the skills I needed to be a software developer.

The answer is that coding bootcamp is only a small piece of the journey. Learning to code is a marathon, and attending coding bootcamp is like sprinting 500 yards to get to the gigantic water station. By attending coding bootcamp, you’re able to dump that refreshing, icy water on your head much sooner than the steady joggers, but the race doesn’t suddenly end. You still have endless miles ahead of you after you reach the water station.

Here’s a snapshot of what you learn in each phase of the marathon:

The Stretch (Learning Before Bootcamp):

  • HTML and CSS: The Building Blocks of Basic Websites. (see General Assembly’s Dash or Codecademy HTML & CSS)
  • Basic Programming Concepts: Exposure to loops, control flow, data types, etc. (see Codecademy Ruby or Learn Ruby the Hard Way)
  • Basic Command Line Skills: changing directories, moving files, etc. (see Learn CLI the Hard Way)

The Warmup Laps (may be before or during bootcamp, depending on school)

  • Object Oriented Programming concepts: Classes, objects, encapsulation, polymorphism, etc. (Lynda.com, $25/month)
  • Basic Database Concepts (SQL / Relational Databases)
  • Model View Controller
  • REST

The Sprint (during Coding Bootcamp)

  • how to solve problems with code
  • how to make websites with code
  • how to get data from other websites through web services
  • practice making and breaking a lot of stuff

The Water Station (reaching your first job, where you get paid to learn and have more resources)

  • Practice coding all day without sacrificing the ability to support yourself
  • Have constant access to experienced developers for help
  • Get company-provided resources: libraries of programming books, Lunch and Learns, etc.
  • Get a clear picture of what specific skills you need to learn

The Rest of the Marathon

  • Learn about design patterns (see Principles of Object Oriented Design in Ruby)
  • Learn about Data Structures (Lynda.com, $25/month)
  • Deepen your knowledge of every subject you studied: databases, Ruby, Rails, web services, command line
  • Learn the operating systems, text editors or IDEs, monitoring apps, deployment and hosting apps, and other tools your work uses. (God help you if you have to learn Vim as a newbie.)
  • Learn Agile best practices. Learn to scream and claw your face if your company uses Waterfall-style development.
  • Learn other languages that give you a new perspective on code: C++, Java, Assembly, and Lisp are frequently mentioned as brain-stretching languages.

The hardest part of the journey is the beginning. It’s like running without water.

Things get easier once you reach your first job. Coding becomes a built-in part of your day, rather than an extra task that must be squeezed into the crevices of your life. Yet, once you start your job, you find that just learning on the job is not enough.

There’s still so much to learn, so you lace up your running shoes and get back on the track. If you’re like me, and you love the feel of the road beneath your feet*, this will be a joy rather than a burden. You never reach the finish line, you just learn to love the race.


*You might get the impression from this post that I love to run. HA! I wish. I love running about as much as I love drinking Clorox.



Is Coding Bootcamp Right for You?

I often hear from aspiring developers who wonder if a Coding Bootcamp will teach them enough to get a job as a Junior Developer.

Although I got a great result from Coding Bootcamp, I have seen others who have graduated from coding bootcamp, only to remain stuck in their old jobs.

From what I’ve seen, the main differences between Coding Bootcamp graduates who get jobs quickly after graduation and graduates who go long periods of time without any leads are:

  1. The quality of their job search skills,
  2. Their level of motivation, and
  3. Persistence

There is so much demand for software developers that, with the level of skill gained at a Coding Bootcamp, it is absolutely possible to find a job.

That being said, it is NOT easy. Breaking into a new career never is. Job hunting in general never is. It takes a massive amount of effort to find a job, and entry-level jobs are often the hardest to find. Getting an entry level job means convincing someone that, although you don’t know enough to be immediately useful, you are worth investing the time and money required to train you to be useful.

As in other jobs, employers want to see that you’re passionate about what you do, you’re eager to learn, you learn quickly, and you have a personality that they can handle being cooped up in an office with.

Junior Developers need to demonstrate 2 additional traits:

  1. problem-solving ability
  2. foundational coding skills that can be built upon

So…does Coding Bootcamp teach you what you need to know to get a job?


Coding Bootcamp should give you enough foundational coding skills to meet the technical requirements of an entry-level position. My bootcamp also tried to address problem-solving skills and job search skills, but either one of those skills could consume an entire course on its own.

Yes, most Coding Bootcamps offer job search assistance, but it is just that: assistance. They cannot sit in the interview room and force you to make eye contact. They cannot save you if you become despondent and give up the first time you apply for a job and are not taken seriously. They cannot light a fire under your rosy little cheeks to make you chase a job like your life depends on it.

What they can do is help you get the technical skills you need.

But wait–can’t I get those for free, by working through online resources?

Yes. Yes, you can.

Then why should you go to Coding Bootcamp?

That’s a great question, and maybe you shouldn’t. You can save some big bucks by teaching yourself or by doing FreeCodeCamp.

The benefits of Coding Bootcamp over teaching oneself are:

  1. It’s faster. You will be sprinting for a few months, learning faster than you would ever naturally push yourself to learn. You will be fighting to keep up, and as a result, you will cram more information into your skull in a shorter period of time.
  2. Focus. You will have a period of time that is fully dedicated to learning to code. Having deadlines will keep you pushing forward on days when you otherwise would have prioritized other things. You will also have an excuse to tell your family and friends when they want to distract you from studying.
  3. Live Help. You have access to your teachers and other students, so you spend less time fighting problems and more time moving forward and learning.
  4. Resume Fodder. You will have concrete proof of skill that you can list on your resume, and this could be the difference between getting and not getting an interview.

If you are highly motivated and have time to spare, Coding Bootcamp might not be the best option for you. You can learn the technical skills through FreeCodeCamp and other online resources, and attend meet-ups to get live help and make connections. The job search might take a little bit longer, but you will eventually find something.

The path to the finish line will be faster and easier with a Coding Bootcamp, but it’s not the only option. Whether or not it’s worth the price tag will depend on you: your personality, your timeline, and your finances.

Back in Coding Bootcamp

I’m going back through coding bootcamp. Well…kind of.

I’ve been wanting to improve my Javascript skills, since my original experience learning Javascript was…how to describe this…like having a pie thrown in my face.

My first experience with Javascript was around week 6 of coding bootcamp. I was just starting to understand the basics of Rails when–SPLAT!–Javascript! and then SPLAT!–Jquery. I ducked in time to dodge AngularJS.

It was a poorly-timed introduction, so I ended up initially hating Javascript. I mean, come on…does any language really need that many parenthesis? And don’t get me started on semicolons. (And yes, I have heard of LISP but I will continue to complain about Javascript’s parenthesis until I learn LISP, which I am penciling into my calendar for “never”.)

Javascript and I got off to a bad start, but I’m not one to hold grudges. Javascript, I forgive you for the pies, and I will try to accept you, semicolons and all.

I have decided to start again from scratch, as if I had never seen a line of Javascript code in my life.

Besides wanting to relearn Javascript, I had also become very curious about FreeCodeCamp. I wondered:

Does Free = low quality?

Could you really get an education equivalent to a full-time bootcamp from an online course?

How does one go about making a coding bootcamp free, when every other one charges Harvard tuition?

That curiosity brought me to sign up for FreeCodeCamp, and so far I am very impressed!

I hadn’t expected to learn anything in the first few lessons, since I already knew HTML and CSS quite well. To my surprise, they were much more than a great refresher.

For starters, HTML5 and CSS3 have a lot of major changes. Come to find out, I had not picked up on all of the important ones, despite reading an entire book on it.

Much more important than the additional practice and a deeper dive into the syntax changes, was the quality of the exercises.

I should mention that FreeCodeCamp did not create the exercises. They are simply a curator, serving up the best free resources on the internet, saving you the time of figuring out which resources are worthwhile.

The exercise that impressed me most was an exercise in General Assembly’s Dash program, which teaches you to make an animated robot using only HTML and CSS.

It’s an incredibly creative use of the tools–I never would have imagined that such a thing could be created without Javascript or pre-made images. The exercise really broadened my idea of how I could use HTML and CSS.

FreeCodeCamp has me hooked. It appears that I am once again in Coding Bootcamp.

2014: The Year of the Giant Leap

Dear 2014,

I am mourning your passing, even as I celebrate the bounties you have delivered.

You will always be remembered as the year I took a giant leap of faith, hung suspended over an icy, shark-infested ocean for 4 months, and then landed smoothly with a fluttering of feathers on a soft, cushy mattress at the bottom of a mountain of ever-softer, ever-cushier mattresses, beaconing me to climb.

I started 2014 on a mid-level deck of a boat that was slowly taking on water: a career in retail banking management, where the lowest level employees were being shed in favor of the technology that would replace them.

All the other sailors on my deck kept their eyes fixed on the stairs, fully focused on climbing up. We could all see the levels flooding below us–the positions below us being cut. And yet, the waters were rising slowly…too slowly to be of concern.

They all recognized the truth of my words when I said, “Our jobs will not exist in 10 years,” but it seemed a far-off problem. We could not feel the icy water on our feet.

I started looking for a new boat, but I did not jump at the first I saw. I waited until I found not just any healthy boat, but one that was sailing in the direction I would like to take my life. That boat was software development.

I had found my boat, but we were separated by dark, murky oceans. To reach the new boat, I would have to abandon the old.

Jumping from a deck with icy water crawling across your toes is easy–there is no other choice. Jumping while your feet are still dry–that is much harder.

To reach my new boat, I had to pass on an imminent promotion, sacrifice 4 months income, and work every day to the point of exhaustion, with no guarantee of return on investment.

My brain screamed, “What if I fall? I’ll be immersed in icy water from my toes to my inner ears, and then there might be SHARKS. Can’t we just stay here? I know the water’s rising, but my feet are warm and dry.”

2014, we took a leap of faith together. We made it to the other boat, and it’s everything we hoped it would be.

Tomorrow I leave you for another year, but you will never leave me. You have forever shaped my destiny.

Farewell, 2014.

The Interview Coding Challenge

As part of the “Get a job as a programmer” ordeal, you are required to walk the catwalk in your skimpies. Well…not really, but you are required to complete a coding challenge, which feels pretty much the same.

This torture tactic generally takes one of two forms:

1. Screen Share, a.k.a Virtual Peeping Tom: The interviewer uses a screen sharing program to watch you complete a coding challenge. You are uncomfortably aware of their presence, but Thank God you at least have access to documentation and text highlighting. You still feel dirty even after uninstalling the Screen share program, restoring your system to the factory image, and taking several showers.

2. Whiteboard (not to be confused with Waterboarding): You use a dry erase board to complete a coding challenge with no access to documentation, and without the comforting feel of your beloved keyboard. I have not had to experience this, or if I have, I am currently repressing the memory and would appreciate it if you steer clear of possible trigger words, such as “FizzBuzz” or “dry erase marker”.

Okay, so I’m being a bit melodramatic. In actuality, the interview coding challenge was not nearly as horrific as I had imagined. The night terrors ended after a few weeks, and my husband tells me the I’ve stopped mumbling in my sleep.

“Recursion. Don’t eat me. You can have the Rspec. Arrays and polymorphism. Hide the children.”

Because the goal of a coding challenge is to see how a developer thinks, the interviewer is supposed to be quiet while the programmer is supposed to talk out loud about what they are thinking.

It’s kind of like practicing a speech in the mirror, only it’s a double-sided mirror, and the person on the other side gets to decide if you get a job. And you’re in your underwear.

I have been told the underwear part is optional, but being inappropriately dressed makes me feel more like a developer. Flannel pajama pants and a stained Metallica t-shirt also do the trick.

Throughout the entire coding exercise, I was distracted by thoughts like, “Wow, Julie. You are totally bombing this” and “Oh my God, did you really just say that out loud?” and “I’m sure he has interviewed pumpkins with a more intelligent approach to this problem.”

After enduring about 15 minutes of awkward one-sided conversation, I solved the problem. Or at least, I thought I had, but I wasn’t really sure because I had no way of checking my answer, and apparently the interviewer hadn’t worried about being able to check it either.

The whole point, apparently, was to prove that I could talk to myself while faking confidence.

After I finished, the first thing he said to me was, “Well, clearly you have skill.”

My immediate thought was “I do?” followed by “Oh, yeah…of course I do. I should pretend I knew that.”

My Thanksgiving Grace List

This year, if I get picked to say Grace, we’re going to end up eating cold turkey. There are just too many people to thank.

In order to make it through a full-time, 60-80 hour/week coding bootcamp and find a new career as a Junior Developer while also raising 2 young children, I needed A LOT of help.

Luckily for me, I got a lot of help from a lot of people.

While I couldn’t possibly thank every person who has helped me, I do want to thank a few people who have been extraordinarily generous.

In no particular order (other than my husband obviously coming first):

My Husband Donnie: For agreeing to ride this crazy roller coaster with me. For hanging on by his nails when it turned us upside-down and the seatbelts broke. For keeping one arm around the kids as he hung upside-down, by his nails, with no seatbelt on a looping roller coaster…and still looking back to see if I was okay.

Bill G: For listening and encouraging me when I was on the brink of insanity. For laughing when I was laughing, and lending a sympathetic ear when I was not.

My Dad: For making this financially possible, and for believing I could do this.

Robert G: For explaining things without being condescending, even when the question was as lame as, “How do you double click on a Mac?”

Saron: For creating CodeNewbie, which gave me a place to find support and meet other people who don’t fit the classic programmer mould.

Johnson and Tammy (My Managers): For approving a leave of absence, even when it wasn’t in their best interest, just to give me a safety net.

Ben B: For putting me in touch with several other Senior Developers and telling me everything he could think of to help me improve my skills and break into the field.

Everyone from Rails Girls: For taking up the cause of getting more women into programming, and creating a meetup where I could learn and connect without the suffocating competitiveness I’ve experience at other meetups.

My Brother: For repeatedly telling me “You’re good enough. You’re smart enough. I have no doubt you can do this.” and for introducing me to Ben.

There are loads of other people who have helped me, in big ways and in small. If I didn’t put you on the list, it doesn’t mean I’m not grateful. It just means my list was very long this year.

Happy Thanksgiving!

Getting Started in Web Development: FAQ For the Absolute Newbie

Not too long ago I decided I wanted to learn to code, and was trying to figure out where to start. I still have a lot to learn, but I’m far enough along to offer some advice to the people who are just beginning their journey.

Here are a few common questions I hear from people wanting to get started in web development, along with my answers.

1. How Do I Get Started?

Start by taking Codecademy’s HTML & CSS course. Then take their Ruby course. This will help you figure out what type of programming you are interested in.

2. How Do I Choose A Focus?

–> What did you enjoy more: moving elements around on the page and seeing the result with HTML & CSS, or working with programming concepts like loops, hashes, and arrays in Ruby?

–> Do you prefer visual things like drawing or design, or do you prefer abstract things like logic problems, puzzles and math?

If you are visual or preferred the HTML & CSS course, you may be interested in Front End Development. This means being the person who develops the part of a website that a user sees.

If you are an abstract thinker or preferred the Ruby course, you might be interested in Back End Development. This means working on the hidden logic that makes complex web applications work. This can be done in many programming languages, such as Ruby or Python.

3. What’s The Next Step?

Codecademy courses give you a good overview of the language, but they don’t give you exposure to some of the tools you will need to know, such as text editors, the command line, and coding documentation. The next step is to do a tutorial that will let you make real, functioning code using the tools that professional developers use.

Front End (HTML & CSS): HTML Dog has some excellent tutorials. Use those as a reference, and build a few websites on your own. Once you feel comfortable with HTML and CSS, try learning Javascript.

Back End (Ruby): Learn Ruby The Hard Way will introduce you to the tools you need, and teach you how to use documentation to solve coding problems. Once you feel comfortable in Ruby, try Hartl’s Rails Tutorial, which will teach you the basics of the Ruby on Rails framework. Ruby on Rails lets you use your Ruby skills to build complex websites.

4. Should I go to a Coding Bootcamp?

That depends: Can you invest the time and money to do so?

If the answer is yes, then a good coding bootcamp is worth the investment. It will keep you on track and give you the opportunity to be surrounded by mentors and other students that can be a great resource for you.

If the answer is no, don’t let that discourage you. It is 100% possible to teach yourself everything you would learn in a bootcamp. You will, however, need to find a mentor (or, preferably, several) who can help you get past roadblocks and figure out where to focus your attention.

5. How can I Find Help From Real, Live Humans?

The Best Places to Get Help:

  • CodeNewbie Weekly twitter chat, podcasts and discussion board (FREE!)
  • CodeMentor Paid individual mentoring.
  • Local Meetups: You may have to try several before you find one that welcomes and encourages newbies. Read the descriptions on http://www.meetup.com, and see how the attendees describe themselves. Look for meetups with a good mix of experience levels.
  • Exercism Work on practice problems and get feedback on your code from other developers. (FREE!)

Have more questions that I haven’t answered? Leave a comment and I’ll do my best to answer.