I have a good friend who is about to graduate with a Computer Science degree and, as a seasoned professional in the field (aka old fart), I know he's going to be asking me for advice. And if I'm going to give cogent advice, I always feel that:
- It might be useful to someone else so putting it online is helpful
- Advice is improved by clear thinking and clear thinking comes from written expression (at least for me)
My view of the time between graduation and joining the workforce is that you want to build the habits that will make you succcessful in your career. Note that I said career and not your first job.
Your Job Will Be 40 Hours Per Week
My first bit of real advice to a new graduate is that your job, unless it pays overtime, is 40 hours per week. Your employer will always subtly or not so subtly encourage you to work more and, if you like computer stuff, it is easy to fall into a model where you work more than 40 hours. I did this for years and years and, imho, it didn't pay off. We all have the belief that if we work hard and put in the time that we will get ahead. Given the myriad disconnects between employer and employee, I no longer think that's the case. And, yes, there are times where some extra work is called for but making it a systemic practice that defines your life, well, that's just dumb and it is poor career management.
My basic recommendation to you is that you build something that you personally want. This is also known as a side project. I'm a fan of side projects as a way of improving yourself / teaching yourself new things. And, sometimes, side projects become real and make you money (my RSS search that I made back in 2003 over a snowy weekend ended up becoming a venture funded thing). Now that is a best case, you could also end up with a directory of side projects that never go anywhere (I have that too). You should understand that what is going to happen to you once you graduate and leave formal academia is your skills begin to atrophy; this is real and it happens. A side project, even a crappy one that you think no employer might appreciate, keeps your engineering skills alive. And even though you'd like to think you are going to roll from school right into engineering work but when you see articles like this regularly appearing, it means that the hiring path is sometimes not so clear.
Note: Employers, and, yes, I'm one, are generally impressed by side projects. Most people don't have them so they do distinguish you from other candidates.
Networking, generally a hard thing for engineers, is an invaluable skill and the best way to understand it if you are an engineer is this:
Networking is "Lunch with Friends You Might Not Have Made Yet"
In my friends case, he and I are having lunch today and we will talk shop a bit. Now this is easier because he actually knows me and can talk to me. But that's the essence of networking - it is learning to talk to people and that is an invaluable skill.
If you don't have people you can network with then you need to find them and the best way is generally your local meetup. Even here in Indianapolis, not a huge city and certainly not a tech hub, I could literally go to a meetup every day for lunch and dinner and advance my career in terms of learning and meeting people. And I've never seen a meetup where they don't go around the room and ask:
- Who's hiring?
- Who's looking for work?
And, wham!, right there you have a ready made job opportunity.
So figure out what you're interested in and join a meetup and get involved.
I didn't used to be a fan of this but a good friend turned me onto community involvement and volunteering over the past 15 months or so and it has been a very good thing for me. I actually did a stint as Head of Engineering for StarBase Indy, a local, fan run science fiction convention. There is always something that needs computer assistance whether it is a local convention, a charity, a cause or some such. This is another way you can build your skills.
Build Your Online Profile
I'm a fan of building a robust online profile. Now, for me, that mostly amounts to my blog (which you are reading) since I like to write but there are lots of ways to make an online profile:
- Answer Stack Overflow Questions
- Improve Documentation (I can cite one person that I hired into a 6 figure job who got that job mostly because he had contributed to Rails core documentation)
- Help out with projects on github
- .. (There are so many online things in the area of software development)
My general recommendation here is use the same profile picture and username across activities since there are candidate evaluation tools that take that into account.
It Is All About Continuous Self Improvement
If you look at the points above, it really is all about continuous self improvement. This is the core habit that you really want to build.
Buy Josh Doody's Book Now
I'm going to close this out by pimping out a favorite book of mine, Fearless Salary Negotiation by Josh Doody. Josh's book is the single best book I've ever read about the practical side of getting a job and the hardest bit for engineers – negotiating our compensation. I am a 52 year old engineer who has been doing this type of work (ahem crap) for over 30 years and I got a dramatic boost in current gig from what I learned from this book. If you read this book early in your career, I suspect you can do this most of your career. This book is short, to the point and utterly hands on. I can't recommend it enough.
Note: There is no referral agreement, no tracking code, etc between Josh and I. I'm simply a fan of his work since it has literally changed my career.
Posted In: #student