5 Things I Learned from Doing Group Programming Projects

When reading articles on the Internet, have you noticed that usually you can skip the first two paragraphs or so and you’ll be just fine? The fact is, the first two paragraphs are mostly just drivel designed to avoid the awkwardness (and reduced ad revenue) of getting to the point of your article right away.

If those two paragraphs weren’t there, I guess the article or blog post would feel a bit weird, but 99% of the time I find myself skimming right over that part of the page anyway. Especially with clickbait headlines, the “answer” to the question doesn’t present itself until a little farther down, and with experience it’s easy to make educated guesses as to where that answer is and just jump right there.

Scoping is hard

Before you start your project, you think things like “I can easily finish authentication, 16 models, 9 pages, and 3 API integrations in 3 days!” Then you learn that this is not the case. I feel like it’s going to take me several more projects before I’m good at accurately estimating how long things are going to take. I’m happy that instructors are going to help us with scoping our final projects, which are longer than anything we’ve done up to this point.

It’s a project, not a product

It’s easy to think that your project has to be an amazing business idea. It has to have a great domain name, you should think about how to market it, you have to consider how well it will scale, if it’s been done before, network effects, customer acquisition, etc. NO! Your project is a project, not a product. Unless you’re here in between semesters at business school (sorry, Paul) the point of doing a project is to show your proficiency in Rails, or React, or JavaScript, or Ruby — in other words, to showcase your skills as a developer. During our limited time here, it’s best to keep that technical focus. There’s nothing wrong with great business ideas, but I feel like they can wait until you have more time.

It does matter how it looks

With that said, the other side of the coin is that appearances ARE important. You can have an amazing back-end with some Einstein-level logic happening, but if your site looks like it’s from 1995, it’s just not going to be as impressive. There are a ton of CSS and other frameworks out there (Bootstrap, Materialize, Semantic) which make it REALLY easy to make your project look decent, fast. And it’s totally worth it to put in the time to implement one of them. In my experience, it actually makes a HUGE difference in how impressed people are with your project. If you take the time to make your project look great, people will appreciate all your hard work on the back-end logic. If you don’t, they won’t. It may sound harsh, but it’s the truth.

It makes it click

Over the past twelve weeks, we’ve become all too familiar with the Flatiron School process of Learning a New Thing:
1. Do a bunch of labs on Learn.co. Barely grasp the concepts. (#$%^& tests!!)
2. Listen to lectures. Seems easy.
3. Try to do it. Nope.. it’s hard.
4. Repeat steps 1–3 for two weeks.

But then when you get into Project mode, it all changes. Project mode is when you actually get a lot of practice doing the new thing. A lot of the time, it’s also when the new concept finally ‘clicks’ for me. By the end of my project, I actually feel confident using my new knowledge. I feel ready to take the code challenges. And I feel like I could do it all again and not make all the rookie mistakes.

You see your dark side

Project mode is when you can have some of your most challenging moments. I spent a LOT of time frustrated and stuck. I found out the hard way which parts of the New Thing I really understood, and which parts I didn’t. I found out the hard way how I can have little moments of tension with others in my group, and I always felt like I could have dealt with it a bit better. I found out that doing projects is a great way to get a sense of what your weaknesses are, as a programmer and as a person. This is stuff that labs and lectures just can’t give you. And though it’s difficult to deal with, the personal growth potential is one of the things that makes it worth it.