I teach web development in college and have done so for 10+ years to 500+ students. AMA!

goodbytes on August 20, 2018

markdown guide
 

What are some of the most common hurdles you see newer students facing?

 

Off the top of my head:

  • putting in the hours required to master something, instead of just attending class
  • debugging instead of looking at a blank browser screen
  • showing perseverance when being stuck
  • planning work ahead of time
  • going the extra mile, doing more than what is asked for
  • searching for solutions instead of asking for them
  • OOP in their very first semester 😆
 

How long has web dev been a topic at your college? Is it part of CS or a course for any student?

 

Hi Ben! We started teaching web development some 11-12 years ago. I joined the team 11 years ago, when I was 24 and when web developers were mostly self-taught. There simply weren't too many college programs that focused on creating digital products or they were only just starting out.

Over here (in Belgium/Europe) there's a distinction between university (CS being 4-5 years) and college programs which are called professional bachelor degrees and take up 3 years. I figure this is pretty much the same in the US/Canada? Students who study with us do so for three years and they are submerged and trained in a mixture of design-development-business skills.

Most students go through the whole program, but we do allow other students to sign up for individual courses as well. Most often, the latter are students who already work in e.g. architecture, interior design, IT, marketing, ... and have warm feelings towards learning how to design and create digital products. The oldest student I had in class was around 55-60 but most of them are 18-25.

 

Over here (in Belgium/Europe) there's a distinction between university (CS being 4-5 years) and college programs which are called professional bachelor degrees and take up 3 years.

Cool, yeah, we have the same concepts but college and university are pretty interchangeable. And "junior college" or "community college" refers to the latter.

It's all a matter of finding ways to con kids out of 45k per year over here. I'm sure that must have played a role in muddying the distinction.

Do folks typically find work after graduating or do they move onto other education?

Yeah the 45K a year is somewhat over the top isn't it? Here, education is subsidized and costs around 1K or less a year. That's probably also one of the reasons why students don't feel rushed to complete their studies in three years. I wonder if charging 45K a year has an effect on student motivation ;).

Many of our students have a job or job offer before they graduate, often as a result of their internship. There's a lot of demand for young graduates who can do a proper job. I would say that +90% has a job within three months after graduating.

Only a handful choose to continue their education after graduation.

 

With things like wordpress and other site generators, where do you see web development going in the future. What do you think would happen to web dev jobs?

 

Hi Syed, that's a great question that I get a lot from ... parents! 😀

On open campus days, parents (yes, that's a trend!) often join their 18 year old son or daughter and ask me about job opportunities in the web development space. I always say that there's a clear shortage for good developers and designers out there and that's unlikely to change in the first few years. I try to make clear from the beginning that a college degree won't turn anyone into a good designer or developer, intrinsic motivation and the drive to learn and build stuff outside of school is equally important.

I personally think that web development jobs aren't going anywhere anytime soon. Tools like Squarespace or Thegrid.io or any of the countless site generators out there have their place but it's not like they're going to make you a decent saas app. Also, if you think about who's creating and maintaining these tools, it's web developers like you and me.

Having said that, I wouldn't make it my focus these days to create simple websites for the small mom & pop stores around the corner because that niche is being served partly by the do-it-yourself-site-builders out there. On the other hand, users are getting used to more complex and feature rich experiences online and someone needs to build those applications. Static site generators won't cut it for more custom or complex requirements.

It's my personal belief that web development is getting more accessible on one hand, but on the other hand it's also increasing in complexity. That's a cycle that will continue to repeat itself. As long as you're ahead of that curve you'll be totally fine. Being able to code and create user friendly solutions goes a long way. Even if your focus today is the browser or a smartphone screen, transitioning to another medium like AR/VR, iOT, ... isn't that far of from web dev of course depending how you look at things.

Mental note to self: revisit this post in five years and see where we're at!

 
 

I need advices for explaining web dev (front-end especially) to people who don't know a thing about IT, like my grandmother. And I am very bad pedagogue... Could you help me ?

 

Hi Estelle, that's a broad question. Who will you be teaching and what would be the goals of your lessons? When you say front-end, do you want to teach them the basics of HTML?

It might be useful to start with the basics of IT first, like using a computer, mouse keyboard and a filesystem before taking on more complex tasks such as teaching someone front-end development.

I sometimes find that even my junior students (+- 18 years old and digital natives) lack basic computer skills to get started quickly in class.

 

It is especially to explain my job to my family. They don't know how internet works, but they knows how you use a computer. I try to explain to my grandmother a very small aspect of my work by making her do some HTML (like writing her name, put colors, font-size..), but when I have to explain it theoretically...omg, it's so complicated for me !!! =D

It is surprising that you have some students who don't have correct computer skills! Does it happen a lot ?

Wow, what a modern grandmother :). I would just focus on the creation of the web page, like you are doing right now. She'll understand what it means to be writing some code that way to produce an outcome.

My students do have computer skills, but in my opinion they could be a lot more thorough. Computer literacy seems more focused on installing and using apps these days than it is about the underlaying operating systems. Once go down the rabbit hole that is web development, it doesn't hurt to know a thing or two about the filesystem you are working with if you know what I mean :)

 

As a developer and introvert, how do I get into teaching? I enjoy doing it but could be way better at it.

 

Hi! If you say that you love teaching, my guess is you've already tried it before with smaller or maybe even larger groups of people?

I guess it depends on what kind of teaching you'd like to practice. You could teach through video courses, blog posts or by standing in front of a classroom or workshop. A great way to practice would be to attend meetups and teach others what you learned.

I recall my first lessons in an auditorium with around 160 students who were not much younger than I was. The hour before that first lesson, on the train, I was thinking about just going home and forget about the idea to get into teaching because I was really nervous. The lesson went great, I had a lot of fun and the student feedback I got after that lesson was really positive. From then on, I guess I was hooked.

If I were you, I'd give it a try in a smaller group or meetup and you will quickly notice there isn't much to be afraid of. You won't die. You won't be yelled at. You might sweat a little, but that's probably the worst that will happen ;). I've seen many introverted students open up after having to pitch their ideas on stage in school. It just takes practice and a little bit of courage to get on stage or in front of a class the first time. After that, things tend to normalise rather quickly.

To be honest, I should add that I'm still a bit nervous every september when a totally new generation of students enters my classes. To me, those nerves tell me that I still care a lot about teaching and that I'll be fired up when the new semester kick in.

Give it a try and let me know how things went for you!

 

I've always mentored/tutored in a small capacity so, I think you're right, I think I'd be more comfortable in a smaller setting (4-10 ppl) as opposed to full classrooms or lecture halls. Thanks for sharing your experience.

I prefer smaller groups as well, 15 to 20 would be idea for me. Most of my practical/dev classes tend to be on the bigger side with 30-40 students, which is a bit much at times, especially because we only have X-amount of hours available each week to teach and give feedback.

Just roll with what you like most. I would prefer making a big impact on 5 highly interested students over teaching 50 half-motivated students any day.

 

You said the program has been around for 11-12 years, at what point did version control get introduced?

 

Oh wow, I can't remember for sure but I introduced git and github in the curriculum around 2010-2011 or so I would guess. Before that I was using subversion in a startup and showed students the process of how we managed our source code in a team. We didn't actually use SVN in class but rather started with version control once git/github became popular.

 

I had a feeling that Git and GitHub made teaching and using VCS more common at universities.

 

What are the must learn topics missing in modern web dev courses???

 

Hi Aswath! I'm not sure what courses to compare with.

I'm not sure I understand your question but when I compare studying in college with us or going through an online web dev course, the most important difference is being around like-minded thinkers for better and for worse.

Online web dev courses are fine and I believe there's great value in them (I just released one on Docker for example), but when you are just starting out and have no idea where to start, it's not a bad thing to be surrounded by a guiding hand and other students who are going through the same ordeal that can be web development :).

If you ask me, a good web dev course starts with the absolute basics and focuses on creating lots of stuff. There's no replacement for putting in the work in order to become a good designer or developer. No course can teach you that, it just takes time and a lot of failed attempts to become good at your craft.

 

How do you choose what new technologies you should start teaching, or do you only go over the fundamentals in depth?

 

Hi Ross! Please also check the answer I gave @Basile B. above which sums up the way we keep our curriculum up to date.

We have a lot of freedom to introduce new tech, but as you can imagine a college environment is not the most flexible workplace to be in. It takes time to implement big changes and we can't just become a totally different college degree overnight. Once students are enrolled, we have an obligation to let them complete that program.

I think we go pretty in depth in most of our classes, but sometimes time is limited and you have to work with what you've got in those three years. Three years may seem like a lot of time, but e.g. the last semester is completely dedicated to internships or working in our own internal agency for clients. When you realise that we start from scratch teaching people with mixed skills (some have built websites before, others have never seen a letter of HTML before) it takes a lot of time to build up those skills to where they need to be. Sometimes we can't go as in depth as we'd like to, it's about finding the right balance.

What's difficult is deciding what to teach and what not. For example, when we decide to create a course on AR/VR, there's other stuff we need to let go. Should we jump on whatever is hot right now, or focus more on core skills and let them figure that hip stuff out on the job? It's a constant struggle 😃

 

What are the easiest and most difficult lessons to get across to your students?

 

Hi Dian! I've noticed that what's difficult to one person can be really straightforward to the other and vice versa. We tend to focus on a mixture of design and coding and the classical mantra of left-brain vs. right-brain thinking seems to apply to many of our students.

Some are really good at coding, while others are natural born designers. The so called unicorns that excel at both disciplines are in the minority.

For students just getting started with web design and development, HTML, CSS and JS opens up a whole world of creativity to them. Every semester, one of my students will tell me how eye-opening these technologies were to them as they empower them to start creating stuff, anything really. For me, seeing that initial response to web development is a motivation to keep on teaching.

Things tend to get more complicated once we introduce nodejs, mongodb, web sockets, classes, ... and everything else that's not 1-on-1 replicable but requires their own insight and perseverance to solve the problems we or our real world clients throw at them. Looking for solutions and not giving up when something's not working out of the box - key characteristics of good developers if you ask me - are the most difficult things to teach and get out of students. At least, that's my experience.

 

Considering how things move fast, raise and decay, in this domain, are you not afraid to teach the wrong techs ?

 

Hey Basile! Great question, that's something that's always on our mind. We do have several mechanisms in place to make sure we are teaching the best skills we can when introducing newcomers to this space.

We work as much as we can with people who have relevant real-world skills or have companies in our industry. Many of my colleagues own businesses in our space or are e.g. consultants who actively work in the web development industry. For me personally, working as a freelancer helps me to keep my skills up to date and to be honest, personal development is something that's high on my priority list.

We also have regular meetings with companies that we would consider to be industry leaders over here in order to continuously fine-tune our curriculum. Sometimes we'll consider organising courses together with e.g. Google or other industry giants, but we've seen mixed results with that.

It's often about finding a balance between teaching more general concepts and languages versus using the latest and hottest new tech. We tend to focus on a healthy mixture of both. A good example would be the JS space, where we definitely value a good understanding of classic javascript over using a hot framework like react. On the other hand, students need to at least know the basics of using such a framework by the time they graduate, which we'll help them with by organising workshops. If we feel like we don't have enough expertise in house to do so, we'll work together with external companies that have lots of expertise in that field.

In the end, it's a lot about finding the right people with the right motivation to teach the new generation and we've been lucky to have found a good team to do just that!

 

What development best practices do you incorporate into your curriculum like unit-testing, source-code management, or agile methodology?

 

Hello Jonathan!

In short: GIT for version control, basics of unit testing (not as much as I'd like to), scrum for project management, security basics like avoiding XSS, SQL injection, password encryption, sniffing, ... We tend to spend a lot of time teaching students how to write clean DRY (don't repeat yourself) code instead of WET (write everything twice) code, which is something students often start off with.

Other (design oriented) courses in our curriculum focus more on e.g. ux, usability, accessibility, design principles and especially the design process. Our students tend to aim for beautiful solutions when starting out and a lot of time is spent on teaching them that the process to get to a solution is much more important.

code of conduct - report abuse