Normally I try and do a topic that is more helpful to the world at large, but for today, I just wanted to write about my Capstone Project. For those that don’t know, I’m doing a project for my Capstone course at Oregon State University. It’s a really interesting course. Essentially, we get experience working on a project with a group in a self-guided way. The project choices varied wildly, but I chose to do an escape room game in Unity.
It’s so exciting! I mean, I didn’t have any experience in Unity. But I was excited to try. There have been some ups and downs, especially in the beginning. Definitely some moments of “oh, I’ve made a grave mistake, deciding to choose this project”. But especially lately, I’ve really been enjoying the process and starting to become familiar with Unity. And my partners are great, too. Group projects tend to be challenging, dealing with different personalities and work ethics. I think most people have had bad experiences working with groups. But my group and I really align, and they’re really helpful. So really, I am just free to do my work and keep things progressing.
The halfway point of the term is almost here, but I feel like I’ve really contributed and gotten what I’ve wanted to get done. In the photo above, it shows part of one of my puzzles. The player clicks that picture frame, and it falls, revealing a clue behind (a clue that I made in MS paint)! It’s not the most technically challenging thing to do, but it was one of my first successes, so I’m definitely celebrating. I’ve also decorated the room with props, implemented the transitioning between rooms, created the framework for the rooms, and done some other things here and there.
I’m about to do a bunch of work over the weekend to get the project ready for the midpoint, so I think my next post will be an update on what I’ve gotten done for the midpoint. Hopefully no major issues 🙂
What is burnout? It’s thrown around a lot in the working world, but it is often misunderstood. (Or at least it was for me!) helpguide.org defines it as:
“a state of emotional, physical, and mental exhaustion caused by excessive and prolonged stress. It occurs when you feel overwhelmed, emotionally drained, and unable to meet constant demands.”
And I don’t know about you, reader, but I found that definition, while accurate, to be not super helpful. We all deal with stress in our lives, and sometimes prolonged stress. Sometimes it is enough to cause burnout, and sometimes it is not. So how do you know when you’re starting to feel burnout? Especially if you struggle with other mental health issues?
For me, I only really understood burnout when I went through it myself. I’ve seen the effects on loved ones, and they seemed…exhausted. Like they were emotionally drained, and sometimes on a shorter fuse. They often didn’t have the energy to do simple tasks. But when I experienced it myself, I realized it is more pervasive and deep. It’s a feeling of tiredness that you feel in your bones. And really the most significant difference between this and just normal tiredness is the recovery time. It can take months to recover from burnout. I won’t try and post statistics here because search results differ greatly. But what surprised me is that some people estimate that it can take as long as years to recover from burnout. Luckily, it didn’t take me as along to recover from burnout, but it still took a few months. So how can you avoid this?
This article by the Mayo Clinic lays out some really helpful advice for dealing with burnout before it becomes a problem.
Evaluate your options. If you’re having issues at work, talk to your supervisor about specific concerns, and actions you can take to balance your work load better. For school, trying to optimize your schedule can help. What things do you need to spend more time on? What things can you spend less time on, or do more efficiently?
Seek support. This one is quite important, and something I am the most guilty of not doing. Whether it is talking to someone who can actually help with your specific issues, or just someone who can provide a sympathetic ear, is is very important to seek support. I’ve found that friends often break you out of thought loops that prevent you from finding solutions.
Try a relaxing activity. This one is a bit cliche, but really this one is very important in the respect that it causes you to set aside time that is specifically not work time. Having time where you absolutely can not think about work is surprisingly helpful and refreshing. It can be hard to justify setting time aside when you’re so busy, but it becomes increasingly important the more busy you are.
Get some sleep. You know how you feel like garbage if you don’t get enough sleep? This one doesn’t need much explanation.
Exercise. Exercise is always good. If you haven’t exercised in awhile, give it a shot for a week. You’ll be surprised at how much better you feel, physically and mentally. I often find myself in a much more positive mood with loads more energy when I exercise regularly. By investing some time of your busy schedule into exercise, you’ll often get a return on your investment in terms of how much you get done with that increased energy.
If you’re worried that you’re starting to become burnt out, please don’t wait. Take a few simple steps to make yourself feel better. Because it’s worth it, and you’re worth it.
As I’m rapidly approaching my graduation from this program, I get this question constantly. “What do you want to do? What are your plans?” It’s a question asked out of polite interest, or excitement, but it can often be a source of stress. I’m someone who always sort of figures things out on the fly, and that hasn’t changed at all. But now is the time to start thinking about it.
I have heard from some of my software developer friends that they would like to do work that is impactful–that helps people, or makes a positive change in the world. They say that they sometimes feel like their efforts are useless, that while maybe they look good on a resume, they don’t actually have any meaningful impact in peoples lives. It wasn’t something that I’ve really had to consider until now. Before, in a past life, I worked to help children with special needs with their behavioral issues. It had a major positive impact for the children, their families, their teachers, and basically anyone else in their life. This isn’t to say I’m a saint and that you should praise me–but my impact “for the greater good” was fairly measurable. While sometimes things didn’t work out the way I wanted, I usually felt good about my work. It made the hard days easier, and the easy days a blast.
But now? I’ve always liked helping people. Accomplishing something for yourself is great, but accomplishing something for other people–it’s an easy way to make your life feel worthwhile (at least for me). I’d like to find something like that with my career in software development. But it’s less clear cut. How many people develop an app that changes peoples lives? Or create a website that helps people, in more than a minimal way? It’s more difficult in this field to find something where you create meaningful change in peoples lives. I could be wrong! I’d love for people to drop me a message and give me some ideas. I think this is where my “go with the flow”-ness helps me.
In an ideal world, I’d find something that combines two of my larger passions–programming and Japanese language. I have some ideas. For one, I’ve noticed that many many Japanese websites don’t have an English translation built in, or the ability to ship their products to foreign countries. I would love to help people with that. There are so many small to medium sized businesses in Japan that could benefit from a software developer who is bilingual in Japanese and English. I’d love to help them share their products and their ideas with the world. I’ll give you an example.
This little baby is made out of candy!! This is the art of amezaiku, where the artist, or shokunin, takes hard candy while it’s still warm and malleable, and uses tools like tweezers and scissors to form the candy into a variety of fanciful shapes, with animals being very common. This art is very cool, but very rare. It is estimated that there are less than 100 amezaiku shokunin left in Japan, with less than half that number being people who sell their creations. Of those who sell their products, most do not offer their products online. I would love to help people like this bring their products to the world, to help share traditional Japanese culture. Because it is becoming harder and harder to find.
If you’re interested in reading more about amezaiku, Mental Floss has a really good article, here:
Are you a Software Engineer? Programmer? IT Professional? Whatever you call yourself, this advice goes out to someone vaguely involved in programming, like I am. Before I started my Computer Science degree at Oregon State, I searched through job postings for Software Engineers. I figured, if I knew what employers were looking for, I could tailor my education to what is most in-demand. I then patted myself on the back for my forethought and insightfulness.
Except that didn’t get me anywhere.
What it did get me, was a seemingly-random grab bag of names of programming languages, development tools, frameworks, and fancy-sounding buzzwords. Immediately, I felt overwhelmed. I wasn’t familiar with any of the things they wanted. Should I give up? Well, I’m glad I didn’t. Because even now, while I probably check more of those boxes, there are plenty of things that I am still unfamiliar with. And, I probably won’t be familiar with those things until I need to.
Should I be terrified? Should you, reader, be terrified, if you’re in the same boat?
Well, no, probably. Terror doesn’t help you check those boxes. But you’re also probably forgetting about something critical. You have a skill, one that trumps the candidate who has a couple more boxes checked than you do. This skill isn’t taught in any one single class, but it is something you learn over time. This skill is adaptability.
Tools come and go over time. The same company might have different tools that they use a few years from now. So what is the point of trying to perfectly know each one? Maybe you sound impressive, being able to go over a long list of things you know. But there are a couple of problems with that. One, this isn’t very efficient in terms of your time. Do you really have the spare time to go ahead and learn EVERY SINGLE TOOL that any prospective job might need? Even if you tried, would you really be proficient with those tools before your interview? Maybe you are a unicorn with endless dedication. I envy you. But if you’re not, maybe this isn’t the strategy for you. If there is a job that you are really aiming for, your dream job or what have you, then you should take the time and learn the tools needed for that job. It makes sense–eventually you want to be working there, so you want to be comfortable with the tools required. But realistically, you are not going to know everything you need to for the fifty job applications you just fired off. And that’s fine–you’re adaptable.
It takes a bit of a shift in thinking when you’re learning software engineering. When I began, I always felt like “oh no, I don’t know this at the moment and this means that I’ve failed”. But every software engineer that I know who is worth their salt doesn’t think this way. They know how futile it is to be prepared for everything ahead of time. Instead, they think “I can learn how to do this if I need to”. How interesting, isn’t it? That acceptance of not being prepared? Or at least, that’s what I thought. In reality, they’re not unprepared, they are learning on a more important skill–their adaptability. They know that they have the ability to learn new things quickly and effectively, and that this is more important than all of the preparation in the world.
Big companies know this, too. Right now, if you search “how many programming languages should programmers know?” you get a hilarious range of results. I know, because I just did that search. The results range from 1-2, 2-3, 4, and basically every variant up to 5 or 6. But in fact, if you look at one of the largest tech companies in existence, Google, do you know how many languages they require you to be proficient in?
One. One! Is more languages desirable? Maybe, depending on your specific job. But the famously-grueling code interviews are conducted with the interviewee’s programing language of choice. Why? Wouldn’t you think that one of the largest tech companies in the world would want more out of their candidates? They certainly can afford to be choosy. And they frequently are–but they know that a skilled employee isn’t to be judged by a range of checked boxes, but their adaptability. That is exactly why the interviews are so grueling, and why there are several different interview phases. A good candidate can figure things out on the fly, and problem solve. The medium (programming language) doesn’t matter. And even the biggest, most impressive companies see that.
So when you’re learning to program, don’t get caught up on what you don’t know. Don’t fret over tools you’ve never heard of. Because a good programmer learns to be comfortable with not knowing. They know that their most important skill is their ability to learn. And if you can become good at that, you’ll make a good employee anywhere.