Advice for Aspiring Career-Hoppers, Part VI
As promised, this is the sixth part of a short series to provide some quick guidance for people who would like to reach out feelers into a possible software development career. As I mentioned in the first post, a lot of this material is recycled from some of my old Quora answers, updated for current times and the tone of the blog. More and more of it turns out to be new, the longer this goes on.
This time throughâand this might be the end, for nowâweâll talk about the non-technical issues involved in being a programmer, specifically those issues that are generally handled by colleges. Iâll follow up next week with more general issues.
Note that I already covered some small parts of this when I wrote about colors and continued talking about graphic design tips in general. That is somewhat non-technical and will come in handy, but because I covered some of that ground there, I wonât repeat it here.
The Non-Technical Side (Education-Oriented)
Whenever there are discussions about the future of schooling, youâll inevitably find someone (or a majority) either complaining about the things they werenât taught in college or how there are cheaper ways to learn to program (or do any number of other things). Those people are missing the point. Specifically, they seem to imagine that theyâve gamed the system by discovering thatâŚbooks exist, or websites or podcasts or whatever.
School, especially higher education, isnât quite about education as such. Thatâs the pretext thatâs easy to explain, but the benefits of a degreeâassuming you take it seriously, of courseâare that you receive external motivation, start building your professional network, and get an assessment of your ability. If you canât or wonât get a degree, those are the first non-technical issues that youâll want to look at.
So, letâs talk about those things.
External Motivation
Schoolwork, like work on a job, comes with deadlines. There is often competition for the best spots, whether thatâs a better assessment (weâll talk about that later) or access to more interesting projects. In both cases, youâll find yourself around people who are enthusiastic about what they do and will push you to be more enthusiastic. In either case, you wonât be able to easily get away with ignoring the parts of a project that arenât as much fun.
However, when youâre learning on your own with no accountability, itâs easy to only do the interesting parts of a job. Itâs easy to put things off because youâd rather keep polishing something that interests you. Youâre responsible for making sure you stay motivated.
The easy solution is to connect with someone (or a group of someones) who need that same kind of motivation. A lot of fields have taken up the term accountability partner to describe someone who shares responsibility for motivation on set goals. You can do the same thing by âjustâ simply setting and monitoring goals, of course, and you can easily find software that will nag you about your self-imposed deadlines. But you can blow those off more than a friend whoâs going to ask you if youâre OK when you donât respond.
Obviously, this only works if you commit to asking your partners how things are going, as well.
Where do you find these accountability partners? Keep in mind that your partner doesnât need to be another programmer. They just need to be responsible enough to show up every day or so to tell you what theyâve worked on and listen to what you worked on. So, in that sense, you can tap any of your friends who have decided itâs time to pick up a new skill. However, it does help when your partner knows when to push back if it seems like youâre slacking off.
And that conveniently brings us toâŚ
Professional Networks
The term sounds a bit transactional, but your professional network is a group of people who have some sense of your abilities and interests and you know theirs. Theyâre the people you might go to for career advice. You want them to know about a job at your company that might interest them. If you ask them for a reference when youâre applying for jobs, they can be honest about knowing your work.
Itâs a little bit transactional, but thatâs because we live and work in a transactional economy. But your network is a group that tries to help each other succeed. The most transactional part is making sure that youâre worth helping and not just taking from others.
Obviously, if you went to college or an organization along the lines of a boot camp, your fellow students are the start of that network. You see each other regularly, know each otherâs strengths and weaknesses, and have some sense of what kind of jobs everybody is looking for. As you work with people, you will (should, at least) keep in contact with them, and theyâll have a similar relationship.
In other words, networking sounds like âget people to follow you on social media platforms,â but next to none of those people are going to sit down over lunch to talk about how your respective jobs are going.
Social media does work for this, but itâs not about the metrics. You can absolutely get to know and get help from people on any of the major (and not so major) platforms. But nobody cares about the number of people marked as your friends or how many people have offered to follow you back or whatever.
You might want to especially consider communities designed for people learning to program, especially if theyâve put work into making the community welcoming. Youâll (unsurprisingly) find more helpful people in those circles, such as Code Newbie and The Practical Dev, though the latter is more geared towards a blogging platform than a network per se.
Assessment
Finally, we have whatâs probably the really hard part.
In a class, the grade students receive should be an objective estimate of how well each student was able to assimilate the material the course covers. A final average and decision whether to award the degree is a version of that process that spans across multiple classes.
Degree programs at most colleges that people care about are accredited, which means that an independent board periodically audits the curriculum for every class and grading policies. In essence, theyâre graded, too.
So, an accredited degree can be taken (with some unfortunate exceptions) as objective, both because giving the wrong people degrees harms their reputationâand so it harms their ability to recruit new studentsâand because they can lose their accreditation by not handling students properly.
This is the hardest piece of a formal education to replace, because this is all about building a reputation as someone whoâs capable. Say what you will about the practicality of a college education, but the fact that an institution (a college) is willing to vouch for you and an accreditation board is willing to vouch for the college means that every graduate has starts their career with a decent reputation. If you canât start out that way, youâll need to build that reputation yourself.
Part of that is working to build your professional network. It might also involve doing cheap or free work for friends and neighbors, so that they can tell a future hiring manager what you were specifically able to accomplish for them. If you already have a job that happens to not be programming, it might also involve talking to the programmers and support people at your company asking for an opportunity to help. It might involve getting involved with an open source project.
(For the last item, there are websites that try to help people get involved in open source projects. Code Triage and Up for Grabs both have good reputations for finding work that needs to be done and also can be done by someone who doesnât already know the project inside and out. Itâs also worth looking at the open source projects you use, since you already have a personal interest in seeing the project improve.)
You know the old line about it being impossible to get a job without experience, but also being impossible to get experience without a job? This is all about getting experience without the job.
In the best of cases, when you apply for a job, someone at the company might already know and respect your work. Thatâs probably not going to happen, just because there are so many programmers and so many programming jobs. But it also happens more often than youâd expect.
Regardless, once you have a consistent reputation, your degree (or lack of a degree) mostly vanishes. Youâll get rejected if you apply directly for a job that specifically requires a degree, but you can often slip around restrictions like that if you know someone inside the company who believes that you can do the job.
Next
Weâll continue on next Sunday talking about the non-technical issues that even people with degrees tend to have trouble withâŚ
Credits: The header image is Untitled by WOCinTech Chat, made available under the terms of the Creative Commons Attribution 2.0 Generic License.
No webmentions were found.
By commenting, you agree to follow the blog's Code of Conduct and that your comment is released under the same license as the rest of the blog. Or do you not like comments sections? Continue the conversation in the #entropy-arbitrage chatroom on Matrix…
Tags: quora career