Level Up
What did I do this past week? Career Fair! Recruiting! Interviews! Resumes for days! I printed out around 50 copies, and gave away about 40 of them. Some companies responded quickly (one of which very quickly), others I’m stil waiting on.
What’s in my way? Leftovers from the week. Not much homework. Mostly studying and catching up to do.
What will I do next week? More interviews! More studying! More job applications!
Without a formal class project assigned, I’d like to briefly discuss one of the goals of this class: preparing students for software engineering roles in the industry. We’ve gotten our hands dirty in a lot of interesting and common modern technologies, like continuous integration, code coverage, automated documentation, and more. I’ve used different flavors of these technologies before in my past work experience, and I understand their value. I apprecicate that they’re part of this class, and I enjoy using them.
I do wish, however, that these tools were more prominently discussed in the classroom. It’s easy enough to copy and paste the class’ .travis.yml
or makefile
without even reading their contents, enabling students to use technologies without understanding them. Don’t get me wrong, I’m glad the class configuration files are out there and readily available. I didn’t write that much C/C++ before this class and never formally learned make
, so having an (almost) complete makefile
was a much-appreciated head start. Still, I can imagine the lazy approach of all of one’s problems to Piazza in place of an ‘independent inquiry’.
Perhaps in the future, these technologies could be covered more prominently in class and at a greater depth than what a cautious glance at the related files can provide. That way, projects could feature more creativity and freedom from students with build and test tools. Every company has their own internal software processes, and it’s important for students to learn how to be flexible with them. That way, after the class is over, students will know how to adapt their tools, rather than blindly use them, to best suit the needs of their future work.
Tip of the Week: It’s easy to get discouraged when rejected from a company you’re shooting for. However, know that you will almost always get a second chance in the future, whether it be during the Spring career fair, next Fall, or after you’ve already worked full time for a few years. Regardless of where you end up next summer (or after you graduate), you’ll still learn a great deal during your internship (or full time work), letting you climb up the ranks for more competitive companies in the next recruiting season.
I think of this process like leveling-up in a video game. It’s important to always be advancing your skills and advancing your character. Suck at interviews? Get some friends to practice with. Awful at online coding challenges? Knock out a HackerRank problem once every few days. Need more stuff on your resume? Go build some apps, for practice, for fun, and maybe even for profit. It all adds up, regardless of when you start and how much you put in.
Rumor has it, when you reach level 100, you officially win at life!