Goat is obsessed with being ahead of digital and development trends to deliver the best possible work. Given the speed at which technologies evolve, being ready requires a lot of planning, discipline, and effort. This is especially true when developing digital products and websites for our clients.
An agency’s clients don’t just need something that works now, they need something that can scale and stay relevant as long as possible. Like most developers, ours love to challenge themselves to stay ahead...
...and if you’re going to learn about staying ahead, you may as well ask the best how they do it. So we did.
Khurram Virani is the co-founder of Lighthouse Labs, Canada’s leading coding bootcamp. Every year, Lighthouse graduates over 600 students who are ready to get to work. As opposed to a comp sci program, which can take 4 years, Lighthouse does most programs in VERY intensive 12-week cohorts.
If anyone knows about staying on top of what’s relevant and implementing changes quickly, it’s Khurram and his team. So we called up Khurram at his home in Vancouver to learn how he approaches staying future-ready.
(Our questions in bold, Khurram's answers following - who needs all the extra quotation marks?)
How should developers or potential developers think about staying up-to-date on code and development trends?
I guess I’ll start with this: essentially what we’re trying to tackle here is constant learning. The software profession is unique - but not the only one in the world - where you really do need to keep up on a monthly or weekly basis with what’s going on in the industry, because it’s evolving faster than any other industry. Whether you’re on the software side or the hardware side, technology, in general, is changing a lot. This affects developers quite a bit. That’s the heart of the problem.
Hopefully, the reason that developers entered their profession is that they wanted a career that wasn’t stale. It’s not doing the same things over and over. They want to feel like they’re constantly growing, and that takes a unique kind of individual who likes change, as opposed to being afraid of change.
You need that mindset. The mindset of wanting change, needing change, and actually feeling uneasy when there’s no change going on in your profession.
On Day 1 at Lighthouse Labs, we talk about the growth mindset. The idea is that you’re constantly looking at yourself for areas of improvement, but not looking at change as a reason to feel imposter syndrome or FOMO. We teach our students to balance those two factors out as they grow. Sometimes, that imposter syndrome can actually distract and make you focus on what’s new and shiny, so you lose sight of your overall goals and where you can create value for yourself and others.
How should devs separate ‘new and shiny” from “what I should focus on?”
That takes both a lot of discipline and a lot of conversation. Devs are very good at researching and solving problems. They’re good at networking and meetups, but in my experience of hiring and interviewing hundreds of developers, or managing many teams of developers and mentors, I find that devs are not as good at conversation.
Instead of posting or researching something on StackOverflow, which is more a resourcing platform, we should be reaching out to other developers who may have expertise in the areas we are interested in improving.
For example, if you want to be learning more about microservices, find people online or locally who are passionate about microservices. We can have more focused conversations to learn from others’ mistakes and successes, instead of just reading blog posts or StackOverflow. 90% of people aren’t blogging or writing articles, so you’re missing out on a lot of potential expertise that can be found in a conversation.
How Does Lighthouse Labs decide what to prioritize teaching students?
It’s dialogue. We’re constantly talking to employers about what sort of skills can add value, and talking with our mentors about what they feel is relevant and can add value.
Generally, because of the work we do, we’re looking at the industry trends that are coming… we’re not looking at fringe things or hip trends. Hip trends are a trap that developers can fall into because they want the LinkedIn badge or the recognition, but they should be looking at what adds value to their businesses. That’s what we focus on, the end goal.
We constantly monitor the things we’re teaching. Web development, for example, we watch very closely. We have 150 plus teachers across Canada that work with us as mentors, so they’re telling us what they see as well - we’re not in an ivory tower where none of (the leadership team) knows what’s actually happening in the real world.
A lot of it has to do with monitoring the different tech stacks as they evolve. As Rails evolves, how much do we have to update our current curriculum? As React evolves, because of its nascent stage, we have to update our content constantly - even more than Rails. Not long ago, we released a Blockchain program. Blockchain is the perfect example of constant changing… it’s not mature yet, and yet we put together a pilot course.
We expect to have to rewrite, like, thirty percent of the curriculum after the first pilot.
When rapidly evolving technology like Blockchain is coming down the pipe, what’s the Lighthouse team’s approach to keeping a pulse on that technology?
Actually, data science is actually an even better example here. We’re in the process of starting our first data process full-time program. Also, as of now, we are running our data and analytics part-time class. We’re in our first-ever cohort. Those are both examples of rapidly changing disciplines. I wouldn’t say that data science in itself is nascent, but it’s certainly undergoing a lot of rapid transformations right now.
And again, it’s an example of where we have to talk to industry partners and understand what we should be teaching. Should we be teaching Tableau? Power BI? Both? We ask what outcomes are most important when it comes to visualization and data analytics. Does it matter which tool is used, or does the employer even care? Asking those questions of the employer is very key for us to be able to understand that.
Luckily, a lot of our mentors and teachers are, themselves, employers. So they give us a lot of great signals. And that’s what it’s about - what are the signals the employers are looking for in terms of what makes a good developer or employable developer?
We ask questions about what they’d like to see in terms of hours of experience in a specific tool, or maybe we learn that they care more about the general skill. Language and framework is always changing. In something like data science, there are new libraries and new models coming out pretty much every month, and so we have to constantly be having conversations and looking at what’s coming out.
As a school - though it applies to individuals - we can’t be like “oh, a new version of this came out, we should be using that”. Python is a good example of this. We have conversations like “should we be using Python 2, which is used a lot in the industry? Or Python 3, which has been out for a while and people are gravitating towards as they update their tech stack for machine learning algorithms?” We’re even looking at more trendy languages like Julia, which, again, maybe falls into that hipster category when we’re talking about data sciences.
In that case, we opted to not have Julia in our program, but have Python 3 as the go-to language. Because, at this time, Python 3 has filled some gaps that have allowed everybody to be able to migrate to it. So we’re at an interesting time where Python 3 makes sense. A year or even 6 months ago, it would have been Python 2. It really depends on having those conversations with industry.
How should devs who are feeling stagnant or disconnected move past that and reconnect?
We see these questions a lot on Reddit and forums. Devs are asking that languages they should develop their skills in.
Ultimately, the stuff that makes someone a good developer is the approach, the philosophy, and the mindset. Getting too caught up in the tech stack isn’t good. It’s about learning the philosophies of the framework, pros and cons, and limitations so that next time you have a much better lens for evaluation. It’s about problem-solving, debugging, and comparative approaches to different frameworks.
I’m personally a big believer, from my own style and from the students we’ve seen, in project-based learning. It’s a core part of our curriculum, but we also see our alumni come back for things like alumni labs as a means of driving that learning forwards. Whatever it is you’re trying to learn, think about it as a real-world problem you’re trying to solve and build around (that problem).
There are two priorities a project could have. One sees success as the priority - recognition, money. It can be very ego-driven. The other priority could be the learning experience itself. Oftentimes, devs can attempt to accomplish both goals, but if you think about the success of the product as the goal, the way you prioritize building it is different. It doesn’t make for as powerful a learning journey.
You should separate the two. If you’re going to do a startup, focus on your core skills and try not to treat it as much of a learning experience. If you’re creating a project for learning, go with your weakness and what you want to learn about. Doing both creates a dissonance, you’re trying to deal with both objectives at once.
Keep in mind the project is about learning, and at best is a showpiece. The features don’t have to make sense. If you’re trying to learn about microservices or real-time services, then putting real-time features into a product that doesn’t make sense as part of the product’s mission is totally fine. Because the real mission is to learn that particular skill set.
We want to thank Khurram Virani for taking the time to chat.
If you’re interested in learning more about Lighthouse Labs, check out their website. Maybe you could be the next great Goat developer, and join the other two Lighthouse alumni in our ranks.
If you need a great website or digital product, let's chat.
Goat Team — May 27th