Talking source code protection and end of year job hunting advice
What's up, everybody? Welcome to the Compile Swift podcast. I'm your host, Peter Witham. You can find the podcast at CompileSwift. com. In this episode, I'm going to talk about two subjects. First one is your source code. Do you keep your source code locally? Or do you keep it remotely, or do you do both?
I'm curious about this. The reason being is I was going through cleaning up my machine at the weekend like you do every so often, and if you don't, you should. Let me just start there. Now, I keep most of my code in repositories, remote repositories. I'm sure probably most of you If not all of you, hopefully, practice source control.
I use Git, but whatever you use, invariably it comes with the ability to keep a local copy and a remote copy, especially with Git. That's my tool of choice because it integrates so nicely with Xcode and other tools. But then I got to thinking about this and I'm not changing my plans, but I got to wondering about folks who, where do they keep their source code?
Because I was going through some old projects, cleaning out some drives and some network attached storage, and I found projects going back to, gosh, I think it was like 2011, if I remember rightly. And I thought to myself I just don't need this code anymore, right? It was some old projects. To give you an example, some of them were even Flash based these projects are long dead and I have no intention of ever going back to them and bringing them back to life or anything like that.
And so I looked at it and I thought to myself I'm pretty sure I have a remote copy of this code. So I went and looked, and sure enough, I have some repositories out there for it on, in my case, GitHub, but your platform of choice. And I thought to myself, yeah, you know what, why am I keeping gigs worth of copies of old projects locally that are either dead and never going to be resurrected, or I have no reason to work on them, and they exist remotely.
And so I thought to myself, you know what, I'm going to clean them out. So I did. And by the time I'd finished this project I recovered almost a terabyte of space on my network attached storage. I thought to myself that sure is going to make backing up those drives a lot quicker.
And also I don't need to keep expanding storage and buying drives for those because why do I need this code? I have no intention, like I say, of using it. And then I thought to myself, you know what, I'm curious if folks out there only keep local copies. Now what I mean by local copies, I don't necessarily mean on the machine that you carry around with you or Whatever that may look like, external drives.
I'm really talking about on location storage. So your home, your house, your office, whatever that may be for you. Do you just keep it there on some kind of storage medium? Or do you have a copy remotely, and you use one or the other mirroring to back it up? And for those of you who don't know what I mean by mirroring, It's exactly how it sounds.
It's an exact copy of what you have locally. So that if the worst happens in one or the other direction, you've got a copy somewhere else. Now, the reason I say about remote storage is because, life events happen. And they can take many forms. I'll give you a perfectly normal one here. Natural disasters, right?
We hear about them in the news all the time, unfortunately, but they do happen. And if you only have a local copy of your code and it gets destroyed what are you going to do? And now you're screwed, is the short version of that. But if you have a remote copy, okay, your life is still going to be miserable because of your situation, but at least your projects are safe.
Which is of absolute paramount importance if you do work for other people. Hopefully the reasoning for that is obvious. You have responsibilities there. Do you keep off site copies, right? And if you don't, you should think about it for the reasons I just pointed out. Hopefully, they never ever apply to you.
But there can be lesser disasters which still have a terminal effect for your projects, if you like. Hard drives fail. SSDs fail. I've had all of these things happen to me. I've read horror stories from other people, so I know it happens to other people as well. More often than you think. And you don't want to be the one that it has it happens to you and you don't have a remote copy.
Think about that. Seriously, think about that. It's important. And it's a good practice. If nothing else, it's a good practice. Because the other thing is... You may screw up your code locally. Something terrible. And again. Another absolute reason for using source control. I'll put a link in the show notes to a blog post and an episode I did way back about the importance of source control because it's crucial.
Okay. Now, if you screw up your code, something terrible locally, not a big deal. Go grab another copy of that repository or whatever it may be and start over. All you've lost is some time, but you haven't lost your work and you haven't got to recover that work. Again, think about that. That's topic number one here, just call it whatever you like sensible advice is what I would call it.
Absolutely sensible, crucial advice. Love to hear what you all do about this. Reach out to me on any of the networks, right? Compile Swift, tell me, what do you do? Do you live life in the risky lane, where you only have that one local copy? Again, some platform of choice. My choice here is GitHub. If you keep it out there GitHub's not going to go down tomorrow, right? You might lose temporary access, but it's not like it's going to disappear. You can feel pretty confident in your choices that remote hosted storage.
is a good option, a good backup option, right? But don't just think of it as a backup. Think of it as a real safety plan, right? You always need a plan B. That's topic number one. Topic number two
came up recently again. Some folks were asking about, hey how do I get a new job this time of year? What should I do? And my advice on this is probably not what you want to hear, but it's just based on experiences within the industry for more years than I'm going to confess to on this podcast, this is not the time of year for the most part that you're going to have a good experience getting another job, going to a company.
Now, doesn't mean it won't happen. But it's unlikely to be as easy as it is the rest of the year. Now, why is that? Anyone that's ever worked for a company of any size, but particularly larger companies, knows this is the time of year budgets have run out. Companies are essentially looking to either close out their projects and their budgets for the end of the year, or.
wind them down, and they are certainly not interested in bringing on a whole bunch of new people, unless they've got some project, some crucial gotta get it done kind of thing. This happens. Like I say, this is not an absolute, but for the most part, it's very difficult to find a new position this time of year.
Now, that doesn't mean you shouldn't look, but my advice is always... Start to think about next year. Plan for next year. Because January comes around, or the first quarter, and companies have new budgets, and they have grand plans, and they think that this is the year they're going to be the next whatever big thing, right?
So they start hiring for new projects and everything else. Now, that greatly increases your chances of getting a position you're looking for. And certainly getting the interviews to try and get those positions. So my advice is spend the rest of this year, which is not much cleaning up the resume.
If you don't have a lot on there, make some projects for yourself. Get them on there, get some repos out there. Source code. These days, people want to see your source code. Often source code is just as, if not more important than that resume. Because, as anyone that's ever hired anybody, We'll tell you and this is me right here. When I see resumes, you know that what on paper is meant to sound good, does not necessarily reflect the absolute truth. Let's be honest, right? Especially if a contracting company is trying to get a position for you, they're gonna make you sound like the best thing ever.
No offense to contracting companies. We've all been there. We all know what it's like and. The truth is, when people see your code, it says a lot more about you than what it says on a piece of paper in a resume. Get some projects out there if you don't have them already. Contribute to open source.
Also, learning. Now is a good time to go back, learn some of those things you always meant to look at but never got around to. Or you're always meant to put some blog posts out there. That's another great thing, right? That's why I have my blog posts and all of those kind of things is to put them out there and say, hey, look, this is what I know.
This is what I'm interested in, this is what I'm learning, and that has helped me significantly throughout chasing my career over, again, more years than I'm going to tell you. Think about that as well. These are all important things. Prepare for next year. If you've got training material, Black Friday's just come around, right?
If you just brought a bunch of training material, Do it. I can't tell you the amount of times I've brought training material, courses, books, whatever it may be. And then you get them, you forget about them, you never do them. Do them. Read them. Whatever that is for you. Watch them. Practice them. Again think of this as the last month or so of the year to go to that mental gym, if you like.
For a bad metaphor, learn as many things as you can about what you want to do next year. You want to specialize in something next year? laser focus in on it now and start work on it, right? All of that learning, prepare for next year. Think of January or the first quarter as the big time to sell you for next year, right? Keep applying for those positions, those jobs and everything else you see. But really look at it as more of a preparing for next year. That's my advice there. Okay, if either of these two topics have been helpful, you know what to do, right?
Do it anyway. In fact, tell people about it. Tell your friends, share it on your networks. These are important topics that I think help a lot of people and based on the feedback I get from the listeners. Who reach out to me and bless all of you. Thank you so much for that. And thank you for all of you who put the reviews in on the podcast as well and the ratings.
And this all tells me these are the kind of subjects you're interested in. It's way more than code, right? It is not just code. This developer life stuff is It's critically important. So share this with your friends and developers and play it back.
All those kind of things. Really focus in and prepare for next year. Make next year the big year for you. And so that's what I got for you, right? Reach out to me. Compile Swift on any of the networks or CompileSwift. com. Let's have conversations on these topics. If you want to come on the podcast.
Great. Again, reach out to me. Let's get those conversations going. Let's prepare that Hey, that could be part of your plan for next year. Come on the podcast and talk about something. And then next year, when you go to an interview, you can say, Hey, look, here's me discussing this on a podcast with someone to prove your subject matter expertise.
That's a fantastic way of doing it. I can't tell you how many people have said to me, Hey, I heard what you were talking about on the podcast and you really know your stuff. So take advantage of that. I'm here to help you with that, right? Again, reach out to me, compileswift. com. That's what I got for you folks.
We are getting down to the last month of the year. A lot of plans still, a lot of things. Next week, I'm hoping to ship the update for my Endless Hurdles game. I'll put a link in the show notes for that, for the Christmas event. But that's what I got for you folks.
Have a good one, and I'll speak to you next time.