Bootcamp to Glean: The first few months
Team Glean's Joss talks through his journey from Coding Bootcamp to working at Glean as a Software Developer4 min read Published: 20 Jul 2022
In Autumn of 2021, I decided to make my foray into the world of software development, so I signed up for a coding Bootcamp and began my prep work in earnest. I immediately found satisfaction in the logic and problem-solving aspects of programming, and felt a strong desire to pursue it as a career.
However, one important thing preyed on my mind from the outset: I knew that being a student and being a professional are two very different things.
I’m sure there were people in my Bootcamp cohort who felt this same trepidation, the natural worry that comes from venturing into the unfamiliar while being aware that suddenly - for a time - you’re going to have more limitations. Bearing that in mind, I thought I’d share my early experiences of making this change with a few notes from what's been an exciting, nervous, but ultimately very rewarding few months.
Patience is key
I think I can be a tad impatient at times, so this is something I have to actively work on. Even the smallest bit of patience will pay dividends in keeping up your motivation at the start of your programming career.
From the beginning of my application process for Glean, I wasn’t sure about my chances. I’d already had a few tough rejections, I was lacking confidence, and I was working on a slightly different stack. However, I think that being patient really helped me do my best with the chance I was given, as it allowed me to take things one step at a time rather than being overwhelmed by the daunting whole. I mean this in terms of both the broader process and the tasks at each stage.
The thought of a technical challenge inspires dread in many a junior developer, but being patient and communicating when taking up the Glean gauntlet was crucial as it allowed me to work effectively with my interviewers, who were very forthcoming and supportive.
Now that I’m in the role, this still holds true and it’s something that I have to remind myself of on a regular basis. If you’re like me, then naturally you have to give yourself time and accept that it’ll take you longer to fully understand the more complex tech, but focus on what you can do well and most importantly take the initiative with communication. It’s good to ask questions!
Moving from a small to large scale codebase can be intimidating
This might be obvious, but I’m excellent at overlooking obvious things so I’d wager that there is at least one other person who’ll also encounter this problem. My Bootcamp was focused on building a demo-worthy product over a very short ‘sprint’, and while we were able to incorporate a lot of neat features these projects were ultimately nowhere near the size of an established industrial codebase.
After the elation of receiving an offer had subsided, imposter syndrome predictably crept in. For me, my primary concern was encountering tech that I had no experience with. Prior to being hired, I’d predominantly used Ruby on Rails, Vue, and React; I knew at Glean there’d be React, but also Redux, Kotlin, and Dart. At the time of writing this, I’ve almost exclusively been working with React and Redux, but the complexity of the implementation of those alone has been more than enough to keep me occupied.
As previously mentioned, patience is key, and getting to grips with this change in scale is a perfect example of when you need to take things one step at a time. Although the architecture is more advanced, a substantial engineering team is full of people who can guide you around and answer any questions. It’s also worth noting the benefit of pairing with different people; although certain principles always remain the same, you’ll be able to learn something new from each person’s approach.
Capitalise on what you know
So far I’ve worked at a few different places, but the bulk of my professional experience has been in media. I used Adobe editing software like Premiere Pro and After Effects to make social content, and I found that one thing I enjoyed was applying a certain kind of precision to the creative aspect of this work. I’m by no means a gifted artist, but I’m a bit of a stickler for detail and so I greatly appreciated how things could be positioned and aligned perfectly through the objective, calculated precision of numbers.
This is something that can be carried through in dev work, and it’s led me to try and be more aware of situations where I can apply something for which I feel I have a decent aptitude. One example would be CSS work: not always the most enviable, as we all know what a cruel mistress it can be, but it fits well with my ‘design by numbers’ instinct.
I’d also say that Glean very much enables this thanks to a very transparent and collaborative working culture. Even doing this bit of writing for the tech blog has allowed me to tap into my academic background in journalism while being another reminder of just how much variation a career in tech can offer.
Don’t try to spread yourself too thin
Once the bootcamp’s finished, you’ve got to knuckle down and consolidate your existing knowledge while also learning something new. In a way, I don’t think this dynamic drastically changes in your first programming job (with the exception of the not-at-all-regrettable loss of agonising over CVs, cover letters, and interviews).
After starting in my new role I thought my knowledge of languages and frameworks paled in comparison to the vastness of what I might need to know and my overriding urge was to try and study a bit of everything used at Glean, just in case I might have to work on something different at short notice. However, after some talking with colleagues it became apparent that this probably wouldn’t be the most efficient way to approach my work.
Hopefully, it can broadly be said that you’re of greater benefit to a team if you can offer some area of specialised expertise. At the junior stage, that expertise is yet to come, but nevertheless you will be much more productive if you have one area of the code that you’re very comfortable with and able to work on without guidance. Being in this position feels like slow going, but I’ll refer you back to my earlier spiel about patience. You will eventually be able to start building another area of expertise.
Keep making time for the fundamentals
This is highly dependent on the kind of tech job you land in, but if you’re in a situation like me where there’s already a lot of sophisticated code flying around then it’s easy to almost end up trying to run before you can walk. Granted, you will have to wrap your head around some more advanced concepts or implementations, but regularly going back to the basics with some studying of any kind will help to deepen your understanding and more than likely start to feed into whatever more advanced work you’re doing.
At Glean, we’re allowed to allocate some of our time to learning and while you’ll see people at all sorts of levels of experience using this in many different ways, I think it’s especially beneficial for juniors as it allows you to have some respite in your comfort zone. You can focus on something that you’re keen to know more about, give yourself a small change of pace, and get that sense of accomplishment.
Fancy working for Team Glean?
At Team Glean, we're always on the lookout for talented people to join us.
To learn more about working with us, and to see the latest opportunities, follow the link below!
More from Tech BlogView All
Why we created an incident process
In this blog, Gwen takes us through what you need to consider when writing an incident process
Glean vs. the universe
In which developer Chris Moore persuasively argues that a recent Glean glitch was caused by… the sun?
Migrating a Flutter app to Null Safety
In this post, Team Glean’s Cameron talks us through the benefits and drawbacks of the ‘null safety’ upgrade to Dart.