What are developers like? Are we all like that Hollywood stereotype? You know the one about Silicon Valley nerds. That we live and breathe to code, non-developers have to constantly remind us to “speak English and not jargon”, how we do nothing but code from morning till night, no matter if we are getting paid for it or not.
Photo by cottonbro from Pexels
I’m sure people like that exist but I’m not sure I know any personally.
I began my journey to be a developer in my mid-20s when I started studying computer science at a university. I had absolutely no experience with programming (well, I used to have a MySpace page and I updated the theme probably twice a week, so I had tinkered with css a lot). In the beginning of my university studies I was very nervous about fitting in and not being “outed as a hoax” because I thought everybody else knew how to code before coming to university. At least in Finland the stereotype about knowing how to code before going to a school to learn how to code sits very tight. I think very few of those students who I spent my first year with actually knew any coding. You wouldn’t expect a person starting at a medical school to already know how to do surgery or to make diagnosis so why should computer science students know how to code?
The stereotype about self-learned developers can be motivating to some. And I think it is great that you can find work as a developer without any formal education. If a teenager spends their time learning programming, that’s great, especially since there are probably worse ways for them to spend their time. But the industry has possibly missed great developers because someone didn’t have the time or the means as a kid to learn programming. Not everybody has a good enough computer at home that allows them to learn and develop their skills. Or they might have a computer at home, but they need to share it with the rest of the family. Especially if the decision about one’s future career has to be made around your teenage years, the current stereotypes about developers surely do not encourage to seek the profession if you have not had the opportunity to learn.
Photo by hindawi on Unsplash
I’m not saying there’s anything wrong with teaching kids some programming or being interested and learning stuff by yourself. However, people should also be taught that you can start learning programming at any age. Going to a school to learn computer science or information technology without any previous knowledge is totally fine. It’s called a school for a reason, right?
Getting a job
Getting your first job as a developer can either be easy as heck or the most stressful thing in your entire year. When I was in university, my friends who had time, energy, and interest to do serious hobby projects got job offers at job fairs just by showing what they can do. The rest of us were left feeling (at least I was) overwhelmed and a little scared.
For a junior developer, having some hobby projects to show can be that crucial thing to land that first job. I never had anything special or grand in my GitHub. I had some css stuff and, if I recall correctly, a very sad skeleton of a project. I definitely could’ve invested more in those. But for me, they were there just to show possible employers, that I’ve done something. Since I joined Solita in 2017, excluding some university courses, I haven’t done any programming whatsoever that I wasn’t paid to do.
Most employers want some kind of proof of a person’s skills as a developer before making any decisions about hiring. Therefore, maintaining some projects or such are most probably an asset when thinking about switching jobs. Personally, I just can’t find the motivation to do any of that. Maybe, if I wasn’t this content at Solita and felt the need to find another job, I might actually do something about it.
Keeping your job
No job in the world is static and stays the same. And software development is definitely not a field to change slowly. Being a professional developer you need to keep up with the new stuff. But that’s the great part about this job! There is so much to learn and so many ways to develop your own skills further.
But that does not mean that you need to use your own free time to do all that learning. And obviously, if you want to make a more drastic move in your professional path, you might need to invest some of your own time to learn the basics of that new competence area. But I think that normal project work or time allocated by your company should provide you with enough chances to learn those new, hot and hip programming languages, frameworks, etc.
And besides, software development is definitely not all about programming. Communication is super important. Good people skills come in very handy when you’re part of a team. At least someone in the project should have pretty solid skills in coordination and organization. Each team needs a variety of skills and not every developer needs to be the best in programming. They can be a solid 8- (in Finland we are graded from 4 to 10, 10 being the best), but have good people skills. Or they might be skilled in organizing and coordinating work and use some of their time structuring epics and tasks for the team’s backlog.
At least here in Solita, learning new things on company time is very strongly recommended. Feedback is collected from us regularly and one of the things asked is whether or not we are able to learn and to develop ourselves in our daily work life. For me, this is a message that I do not have to spend my evenings learning new things. I can do that during the day and get paid for it. And that leaves me with more time after work to do things I enjoy and things that energize me.
Sure, in reasonable amounts, it is possible and beneficial to try out new programming languages or create POCs etc. in your free time. As a colleague of mine pointed out, if you study computer science for five minutes each day for five years, you end up knowing a lot. But just because it is doable, personally, I’d still rather do other things in my free time and let the learning happen while I’m working. Variance in the things I do is super important. And I know from experience, that reaching some kind of balance with work and free time helps me do both better. I really enjoy programming, but it is not even close to the top-3 most important things in my life. It might make it to top-10, maybe.
Instead, I want to use my time with my spouse. I want to take time to go to the indoor climbing gym. I want to take time to see my friends. Having those things in my life and being able to do other things after work than just switching to a hobby project helps me keep balance in my life and my thoughts clear (or at least clearer…).
Photo by Ron Lach from Pexels
And because I do those things on my free time, I am a better programmer at work. I often notice that I’ve solved some code-related issue in the evening while taking a shower or cleaning the kitchen. I’m not actively thinking about my problem but my brain is still processing it on the background. This was also pointed out by Tuuli Mutkala in her blog post Emotional Code.
If you have the energy and the time and you want to invest in a hobby project - go for it! But it’s also totally fine to want to focus on your family, or kids, or some sports, or your friends. Do what helps you maintain balance in your life and is beneficial for your mental health. Software development can just be your job. This isn’t some magical line of business.
So, is it necessary to work on your hobby projects in order to get a job as a developer? Absolutely not. If you’re a junior or have very little experience in the field you’re applying to, it will probably help (a lot). But other skills are also vital in this job. Do what feels best for you and try forgetting about those stereotypes. Who wants to fit them anyway?