It’s hard to believe, but exactly two years ago I took leave from my company to attend General Assembly’s Web Development Immersive (WDI) program. Previously, I had hopped around with different web-related roles, learning coding on my own and picking up on best practices along the way. Since I didn’t have a background in Computer Science, I really wanted to get a better foundation, thus I decided to attend a coding bootcamp.
What was Great about General Assembly
WDI was an amazing experience in many ways. I’d have a say that I really appreciated the following:
- Meeting a wonderful group of aspiring developers that came from all different backgrounds.
- Being a part of an amazing community, and feeling much more confident about my abilities as a coder.
- Having hands-on experience by building applications for labs, as well as creating four different projects (although I have to say I wasn’t proud of one of my projects, so it was more like having three different polished projects).
- Getting introduced to new frameworks like Angular JS and popular libraries like React JS.
- Having many “ah ha!” moments, where things would click and I realized that I had a much better understanding for different programming concepts and patterns.
- Getting the tools I needed to become a better learner.
- Feeling passionate again about technology and web development – prior to joining their program, I was feeling burned out at work. WDI helped motivate and inspire me again.
What Could Have Been Better
- I wasn’t thrilled with their Outcomes programming. I enjoyed the panels they had and an interview workshop, but overall I felt like too much time was spent away from working on projects while focusing on things like resumes and cover letters (which I felt like I already knew enough about). I’d say it would have been better if there was less mandatory Outcomes programming, with the option to participate in some of their activities.
- Technical interview prep would have been nice. We barely scratched the surface when it came to technical interviews, and I didn’t feel at all prepared for technical interviews once I started interviewing for developer jobs.
- Better communication about how difficult it is to land a dev job earlier in your career. It felt like they kept saying it was easy if you worked hard enough, which is a bit vague and not terribly helpful.
Overall, I thought General Assembly’s WDI was an amazing experience. I think it was an excellent idea that I went through their program, and I definitely don’t regret it. Was it perfect? No, but it helped me in just the right ways. I enjoyed the people I met and the community that I was a part of. I kept referring to it as being like camp for grownups. It was a lot of fun, was incredibly challenging at times, but was well worth it.
I had a chance to sit-in on a Scrum meeting at National Geographic, which was a pretty insightful experience. As someone who is coming from a background in working for nonprofits, it was great to get to see the planning phase that other companies go through.
Afterwards, we worked with Angular once more, although this time we combined our knowledge of Angular with API calls, putting together our first Angular CRUD application. It’s going to take a little while to get used to the format for Angular applications, with controllers and views, but I’m determined to ‘get it.’
We played around with Sinatra, which is a framework for quickly creating web applications in Ruby. Other ways include Rails, Express/Node.js, and Django. We reviewed how to set up routing, which tells the application what the URLs should be for different pages. You can also pass variables into the URLs for more dynamic URLs.
There’s different ways of working with data on the server, which include:
- GET – for ‘getting’ info (no data is changed)
- POST – for ‘creating’ new data (usually by submitting a form)
- PUT – for ‘updating’ existing data (usually by submitting a form)
- DELETE – for ‘deleting’ data
To create views in Sinatra, you let it know which pages you want to route to with erb files, which are files that include a mixture of HTML and Ruby code. You even can share variables in different views.
Later in the day we met with Outcomes where we had someone come in to speak to us about networking on Linkedin. We also worked on our brand statements and then did an exercise where everyone went around the room and said what the good qualities were of our different classmates. Here’s what everyone had to say about me:
- good eye for design
- picks up things quickly
- understands development
- ahead of the game
- quick learner
- quickly dissect a problem
- a leader
This week has been utterly exhausting! I started the day off tackling Hangman and was pretty proud of the progress I made. I was pretty ambitious and wanted to finish everything today, however, that’s somewhat ridiculous since I already completed one of the other projects for project one. Nevertheless, I did manage to get most the of logic coded. The main problem I ran into was figuring out how to get the masked word to show up, letter by letter, based on what the user guessed.
I’m excited to figure out drawing the frames of the Hangman as well, and figuring out the logic for how many guesses the user has until it’s a game over. Although I wasn’t able to complete the project today, I’m hoping to make some progress either tomorrow night or Friday. Interestingly enough, even though the day was filled with a lot of frustration, I was pretty proud of the small wins I achieved on my own, even when they were when I figured out what was wrong in the code and didn’t necessarily have an answer just yet.
Tomorrow we’re presenting our projects, so I plan to present my flash card application, and plan to also show off the canvas drawing element that I just got started with for Hangman.
This afternoon was a lot of fun since we met with the Outcomes team and had a career coach run a workshop with us where we did a couple of exercises to help us write our brand statement for who we are all about when it comes to being an employee. We broke off into groups where one of us pretended to be the interviewer, the other was the interviewee, and the third was the scribe who wrote down any words and phrases that described the qualities of the interviewee based on his/her responses to the interviewer. It was a fun exercise and I really enjoyed hearing more about my classmates’ stories.
The big takeaway was, when in doubt, console.log it! Or Google it…
In the afternoon we met with the Outcomes team who had a panel of GA graduates talk to us about their experience in the program. It sounds like there is definitely a struggle in the program – a lot of frustration when you’re beginning to learn complex problems – but ultimately, if you keep at it, things will click and make sense to you.
Today was yet another review day for me, yet I still had several fun takeaways, not to mention that they had a panel that spoke to us about the tech industry in the DC area. It was great hearing about useful Ruby Meetups like the ones in Silver Spring and Arlington. Also, I liked hearing about how it’s useful to take your previous, unrelated work experience and find a way to spin those skills into something that’s a great asset to your work as a web developer. The book, “The Passionate Programmer,” was also recommended which is something I’ve heard about before and now will definitely read.
With our CSS lesson, I learned a lot more about flexbox which is something I need to fiddle with more. Previously, I had heard of it but had never used it, simply because my work usually involved making sure older browsers could support my CSS styles. Flexbox is a fun way to create clean layouts and center elements. The lesson also reminded me that box sizing is a great thing to use since it makes it so I don’t have to worry about all the math and calculations involved with padding and margins.
Some helpful resources related to the CSS work included:
Today was the first day of class, and I was definitely feeling a bit nervous and giddy. I’ve never done something like this before, taking leave from my company just to delve head-on into learning something.
For the most part the day was filled with team building exercises and getting to know my classmates. The instructors reviewed the format of the course and how GA works. It was all the usual introductory type of day.
The coursework dealt with the command line interface (CLI) and a few of the commands that would really come in handy throughout the duration of the course. This included the following:
ls // list directory contents
cd // current directory
touch // create a file
mkdir // create a directory
cp // copy files
pwd // print working directory
I haven’t had a chance to really jump into navigating the terminal, so even though today was more of a review day for me, I still had a few take aways that will come in handy in the future.
It was a tough decision, but after toying at the idea of going through GA’s Web Development Immersive (WDI) program, I finally decided to take the leap and will begin the program at the end of June. The decision involved a lot of weighing the pros and cons.
- It can help me become a full-stack web developer. I’ve felt like I’ve been in a rut with my coding. I’ve worked for a handful of nonprofits over the years in a variety of web roles, and taught myself how to code with CSS and HTML, however I’ve felt stuck when it comes to moving into other areas of coding. WDI looks as though it can help give me more direction when it comes to advancing my skill set.
- Structured learning. I’ve attempted to teach myself programming via online courses like Code School or Free Code Camp. Although when it comes down to it, it’s difficult to take the concepts taught and actually apply them to making something. WDI will force me to start building things, with the help of instructors that I can pester with questions.
- Code reviews. At every organization I’ve worked for I’ve always been the only person who really does what I do. Which can be great in many regards, but at the same time, it makes it difficult to know if I’m ever coding things inefficiently. It will be super helpful having these reviews as I explore more advanced topics.
- Networking. This year I finally started going to tech meet-ups for groups like DC Women Who Code. I haven’t been the greatest at “getting out there” with networking, and GA’s events and programming for WDI sound like they’ll be perfect for this.
- Community. Everyone I’ve spoken to who has already gone through the program speaks highly of the GA community and the friends they’ve made there. I’m excited to begin the immersive course with like-minded individuals.
- Price. The price tag is a lot, although I was initially saving up for grad school which would have been far more. So when comparing GA to the alternative, of degree programs, it is much cheaper and not as much of a time commitment.
- Will it actually be useful? I did quite a bit of research on the program before enrolling, but there’s always the fear that it might not pay off in the end. From what I’ve heard, it sounds like you’ll get more out of it if you’re willing to really put in the time. And I’m definitely ready to put in the time.
Anyway, I decided to put together this blog as a way to track my progress and reflect on the program as I go through it. So stay tuned, there will be more to come.