132

I've been working as a programmer for around 12 years. I've worked for 4 different companies (including where I am now) all of which have a good reputation.

I have a LinkedIn account but due to the nature of my work I have never published any kind of "portfolio" online, and although I have a GitHub account all of my repositories are private. I do not have a Twitter account.

In the past my reasons for doing this have largely been based on my assumptions about contracts I've held with each company I've worked for. These have stated, in short:

  1. Any work I produce whilst working for a company is their (intellectual) property, and I can't "take" it elsewhere, resell it, etc.

  2. Some clients of these companies wish their work to be "private", i.e. things like NDA's have been signed which bars me from publishing any code I've written on these projects.

  3. Although not part of my contract I have been advised by the managing directors of companies that there is a "conflict of interest" in me detailing work I'm doing publicly as it might give competitor companies an advantage.

Because of this I don't feel like I have any kind of online presence as a developer aside from my LinkedIn.

Many of my friends have their own GitHub accounts where they do programming in their spare time, or contribute to open source projects. Personally I don't have time for this as I have a lengthy commute (90 km/day round trip) which doesn't afford me the time to work on "personal projects" amongst doing everything else I need to in life.

I feel as though I'm at a disadvantage because I'm unable to showcase what I've done during my working career. I'm looking for advice from people who have been in a similar situation, or what they might do if they were in mine? Ideally from programmers but open to any suggestions.

I'm based in the United Kingdom, if that's relevant. It seems to me that culturally people in other countries (especially USA) do a lot more work on personal projects outside of work and showcase their talents this way. Whilst I'm aware this goes on in the UK as well, it seems less common.

DarkCygnus
  • 83,211
  • 31
  • 198
  • 309
Andy
  • 981
  • 2
  • 7
  • 8
  • 10
    Do you commute by car or by some public transportation? 90 km/day on a public transport is plenty of free time to use for private coding/OpenSource contribution etc.(speaking from personal experience with daily 120 km by train commute) – Ister Jul 06 '18 at 12:56
  • 5
    For what end do you want a reputation? To bolster your job prospects? Or some other reason? – user2752467 Jul 06 '18 at 22:26
  • Your work is likely not private, but proprietary. – gnasher729 Jul 07 '18 at 16:53
  • @gnasher729 is there any legal distinction? – mathreadler Jul 08 '18 at 07:10
  • It’s difficult to tell how many developers have public work on show in any country, because you don’t see all the developers who don’t have any work on show. – Paul D. Waite Jul 09 '18 at 13:36
  • I've found that online portfolios just end up being a great tool for recruiters to look me up and send me irrelevant offers to find me work. I wouldn't worry about this too much. If you know your stuff it comes through even in a phone screen. – Greg Burghardt Jul 10 '18 at 01:59
  • You should start contributing to open source projects. Pull requests and merges will show your name and email address. Eventually, if you have a cool idea, you can run one (or more) projects. People will visit your GitHub to get an idea of your code style and quality. That's often one of the first comments in an interview - "I visited your GitHub and noticed ...". (Speaking as a contributor to several well known projects and the maintainer of one well known project). –  Oct 10 '18 at 08:04

12 Answers12

118

Not everyone has a Git or other online portfolio. I've managed to cope with many decades worth of software development and haven't needed to have one. I've never been asked for one.

While it might be an advantage in some cases, I don't see a portfolio as being mandatory. Let your CV and your interview technique do the talking for you (and any coding exercise they might throw at you).

Personally, I don't believe in spending all day at work hammering away at code, and then do the same thing when I get home again.

Tapaka
  • 127
  • 6
  • 15
    It might be worth pointing out that a real portfolio is likely to be of most benefit to a new grad - there's no "previous employer" to talk to, so some real code to look at would be useful. For someone with >10 (or >35 in my case) it is mostly irrelevant. – Martin Bonner supports Monica Jul 06 '18 at 12:25
  • 36
    I don't believe in spending all day at work hammering away at code, and then do the same thing when I get home again. That makes 2 of us. – Vanity Slug - codidact.com Jul 06 '18 at 14:23
  • @AlexL Work somewhere that let's you contribute to open source: Microsoft, Google, Redhat, Oracle. Or convince your employer to let you spend time fixing that bug in that library that you depend on for all of your business. Having an online presence and having a full-time job aren't mutually exclusive. – Michael Jul 06 '18 at 14:33
  • 4
    @Michael That's not how I intended my comment to sound. Just to clarify, here is what I meant. Life is not about open source or programming. Life needs to be enjoyed. For many people programming all day long is not enjoyable experience. I don't care about contributing to open source. I care about having life when I leave work. It sounds to me that this is somewhere along the lines of what Snow meant as well. – Vanity Slug - codidact.com Jul 06 '18 at 15:27
  • 2
    @AlexL It is. I simply don't wish to spend my home life coding. It's a choice for me. –  Jul 06 '18 at 15:31
  • @AlexL "Life is not about open source or programming. Life needs to be enjoyed" Once again, enjoying your life and contributing to open source aren't mutually exclusive. – Michael Jul 06 '18 at 15:32
  • 6
    @Alex L: For me, at least, it's not about whether coding all day is enjoyable or not. It's simply that I can only do so much good coding in a day, day after day. Then I have to get out, do something physical, and let my brain rest a bit, (Though I've solved a good many problems while hiking, skiing, &c, after having stared fruitlessly at a screen for hours or days :-)) So if I put in a hypothetical 8-hour day at work, then come home and try to code some more, that code's likely going to be crap. – jamesqf Jul 06 '18 at 16:26
  • "I don't believe in hammering away at code all day at work and then...". There are many developer positions where you hammer away at code maybe 25-30% of the time and rest is meetings, figuring out requirements, software design, what does the client actually want, testing, making sure the build process works, updating workflows, writing documentation, building tools et.c. – mathreadler Jul 07 '18 at 10:02
  • 3
    @mathreadler I think you're being somewhat way too literal there. The point is, one spends all day working, in some capacity, and for many - the idea of then going home and continuing to work is a bit much. I find this especially true for those of us who are a little later in their career or have families etc – Dan Jul 09 '18 at 11:49
  • @Dan I don't know how literal it was meant to be since it was some other dude than you I replied to. I know both people who are as you say prioritizing family and people who are simply mentally exhausted from the effort of actual 8 h coding runs (yes those positions actually exist too). – mathreadler Jul 09 '18 at 14:05
  • @mathreadler Dan was reading my intention correctly. I was generalising here to make a point. Breaking things down into different kinds of tasks doesn't make anyone more keen to code at home. Even then, coding at home isn't 100% coding. –  Jul 09 '18 at 14:16
  • @Snow that kind of thing is very individual. There exist people who have a physically tough job in daytime or other rudimentary tasks unrelated to coding which does not drain the brain as much and be extremely motivated to do creative things in the evening. – mathreadler Jul 09 '18 at 14:20
29

I work in the US. I have worked as a programmer for decades. I don't have any online portfolios.

I have also interviewed people for more than a dozen positions. I have never even seen a resume with a link to an online portfolio.

Now it may be becasue the positions I am interviewing for involve developing code for customers, so it is expected that the result of the work will leave the developer with zero code they can showcase. The code, the requirements, the designs are owned by the customer. Thus the lack of online portfolios.

It is true that some developers have online portfolios, but if your work doesn't allow you to be able to post code to a portfolio, I don't think I would be impressed by basic examples slapped together just to have a portfolio. I wouldn't worry about the lack of a a portfolio. It will close the door on some positions, but there are plenty of other positions that don't require or expect a portfolio.

mhoran_psprep
  • 72,299
  • 8
  • 131
  • 233
  • 1
    The question I would have is how many companies actually look at online portfolios? I have shared my github account on my resume as well as my personal websites. I been to interviews asking for "code samples" but they never even looked at my github. I had to download it to a zip and send it in. – Dan Jul 06 '18 at 13:10
  • 1
    Although I do have an online portfolio, I've never interviewed anyone with an online portfolio either. It was clear which candidates were better qualified based on our conversations about projects they had previously worked on and how they would implement something. If I did see a portfolio, I would review it, but the interview would be the deciding factor rather than the portfolio. An interesting portfolio would be a good conversation starter and would provide me a topic of conversation as I drilled into the details of their knowledge at the interview. I usually pull topics from the resume. – Kevin Peter Jul 06 '18 at 17:39
23

Everyone else is dodging the question here. You didn't ask "do I need an online reputation?", you asked "how do I build one?"

And I'm afraid you already know the answers: contribute to open source, write a blog, contribute to Stack Overflow etc.

If your company doesn't let you contribute to open-source, move to one that does, or do it in your spare time.

If you don't think you have anything to write about on a blog, force yourself to write one anyway. You'll find things to write about.

If you don't have time to browse Stack Overflow, find the time. Answer a question while your build is running. Ask a question there rather than asking a colleague.


Take Jon Skeet, for example. He has a blog, a book, thousands for Stack Overflow answers and 2700 GitHub contributions in the last year. He also has a full-time job, a family and offline commitments. It's not luck - he finds the time.

Obviously we can't all be Jon Skeet, he's just an example of what's possible.

There is no shortcut to building an online reputation. The people who do it successfully are the ones who find the time to do so.

Michael
  • 1,917
  • 1
  • 11
  • 18
  • I think the question of "do I need one" is implicit in the question itself. The problem the OP has raised is how do you build one, if you don't have anything you can publish from your career and don't have time to work on open source projects. Some of the answers have quite rightly pointed out that having code online isn't the be all and end all, and therefore "do I need an online reputation" seems to be "no, not really". But it's still useful for him (and others) to know what options there are if they want to showcase their work online and build up that kind of presence. –  Jul 06 '18 at 13:42
  • @Andy "I think the question of "do I need one" is implicit in the question itself" Well I don't. – Michael Jul 06 '18 at 13:44
  • Fair enough. But I think in general conversation that's kind of implied. I'm a developer and if I ask someone "how do I build X feature into my project" the answer may very well be "you don't need to, because...". So yes I think the title of the question is perfectly valid, but accept you may not see it like that. –  Jul 06 '18 at 13:47
  • 4
    You've also ignored one of his points by saying "find the time" when he's clearly stated that isn't an option for him. –  Jul 06 '18 at 13:50
  • 7
    @Andy Far from ignoring it, I was specifically addressing it. He said he didn't have time and I was saying he definitely can find the time around his daily tasks if would choose to do so (even if it's something as minor to your online reputation as a single upvote on Stack Overflow) – Michael Jul 06 '18 at 13:54
  • While I agree 100% with the other answers, I do think this one answers the question best. There's no shortcut here. If you think it's necessary, you just have to do it. I personally don't think I need a portfolio, but I know I could build one if I had to. For one thing, he could consider moving closer to work. That 90 km trip is probably costing him nearly £20/day in fuel and maintenance if he's driving. That could make up the difference in a higher rent and save him significant time each day. – Bloodgain Jul 07 '18 at 01:43
  • @Gaius No, his full-time job is working for Google. – Michael Jul 09 '18 at 12:28
  • @Michael how does that disprove anything? You mean no one at google could possibly have such a position? – mathreadler Jul 09 '18 at 14:23
  • @Michael Wow, that escalated quickly. – mathreadler Jul 09 '18 at 14:45
  • @mathreadler If that's not what you're saying, then once again: what is your point? – Michael Jul 09 '18 at 14:51
  • @Michael maybe they find a value in him doing that stuff. – mathreadler Jul 09 '18 at 15:01
  • @mathreadler He's worked on (at least): the mobile team, Google Offers and Google Cloud Platform. He's also a manager. Google do not pay him to write his personal blog. – Michael Jul 09 '18 at 15:08
  • @Michael I don't have the information required to say that with any particular certainty. Do you? – mathreadler Jul 09 '18 at 15:19
  • @mathreadler Yes – Michael Jul 09 '18 at 15:34
17

I work as a freelancer, UI/UX designer and front-end developer. More than 5 years I subcontracted work because I hesitated to work directly with clients. What I did to grow my personal branding:

  • I created a portfolio with side projects, personal projects, designs and websites I made in my free time. Seems time-consuming, but you can do this step by step. It has the advantage you can be more creative and you can use any technologies. I understand you are busy, but you can work on this just 30 min on the day and it will be visible soon.

  • I constantly share the articles I read related to my work on Twitter/ Linkedin.

  • I asked for recommendations from my colleagues.

In my opinion, you don't really have a question, it is more a post where you argue that an online presence is not important. For full-time jobs, it is not so important, it is more valuable for freelancers. In this case, you shouldn't focus on it, the recommendations should be enough.

Madalina Taina
  • 311
  • 1
  • 7
  • 7
    Thank you for being one of the only people to answer the 'how' – Michael Jul 06 '18 at 13:35
  • @Michael Thank you for the nice words. I'm not an expert in personal branding, I just needed constantly improve this aspect to be a freelancer and it will be my pleasure to share with you some tips if you'll be more interested in this. – Madalina Taina Jul 09 '18 at 07:17
6

You mentioned that you came to your conclusion about the nature of your work through your assumptions of privacy that is expected of you as a developer due to contracts you have signed.

I'm not sure if this is different in the UK, and it could vary by the place you have worked, but many NDAs offer acceptable ways to share your work without exposing confidential material.

I would recommend you look over the documents you have signed for those companies (and if you haven't kept copies, I strongly recommend that you do in the future!) and see if there are ways for you to share your work. For example, an NDA I am currently under allows me to reproduce any code I have written for the company so long as I eliminate references to internal infrastructure.

Like others have mentioned, not everyone spends time working on open-source software and hobby projects; many developers are completely focused on the professional world and building their portfolio through their experiences.

You might find it helpful as well to create some abstracts of your work you have performed for these companies to better communicate what work you've done to future employers.

nostalgk
  • 161
  • 3
3

References, experience and skills are key. Usually, online presence is a little plus, but, not at all required.

For a recruiter, you not having an online presence, yet having worked in 4 different companies for the last 12 years, shows that you've been useful to them. If you give them someone to call, this gives much more insight into professional you, than most GitHub accounts with public projects ever could.

You might be at a small disadvantage for new startups that wish to see as much code of you beforehand, but for medium to big sized companies with HR, not having an online presence doesn't matter, really. At least that's what I've been told by most recruiters I know. In the end, the interview and your performance there counts.

Mafii
  • 325
  • 5
  • 12
3

Write something clean and consise. Don't spend 100 or even 10 hours writing it. Nobody wants to read some long drawn out code anyways.

For example, write a fibonnacci function. Spice it up if that's too bland.

But the point is, you don't have to, and shouldn't, spend a lot of time on it. Write something short and polished that will take less than 5 minutes to read all of it.

Evorlor
  • 440
  • 1
  • 8
  • 20
2

In case it helps, I searched for and found a new job last year in a different industry sector.
Without published code.
Without a blog.

I wasn't asked for code samples or my online presence. Knowning this company I expect they searched for one (that's a compliment to them).

I have meant to start a blog, publish some code, and gain a following for the same reasons you state. Could I find (have found) time for this? Yes, but like you, I have prioritized differently - like you, I chose to focus on other committments. I'm okay with that choice and I hope you are.

Starting last year, before changing jobs, I started doing a few things like answering stuff on Stack Exchange (+other places) during my lunch hour, after work, or while waiting for things to compile.
I don't know that this helps at all for my employment prospects, but I will say that some people's reactions to my post have helped me fine-tune how I post things. This has also helped me phrase things differently in emails. So I keep doing it - because I see results for me.

It is a different world now... five years ago there weren't any (real) open source stuff MSFT related that you could contribute to, but now C#, Visual Studio, and a lot of other stuff are. Find something to do, just start with a little something. Just learn when and where you can.

Five years from now it will be a different world again...
Get better, be better. There isn't a "one thing" that will get you where you want to go... not a portfolio, not published code, and not any one other thing.

Hope that helps

J. Chris Compton
  • 9,392
  • 1
  • 25
  • 48
2

You don't need to write a lot of code to show your skill. Even a day of work done right can show what you can really do. It's all about the quality of code you can produce, not how much free stuff you have produced to date.

As others mentioned, dedicate 0.5hr to 1hr a day to write a simple tool that you yourself would find useful (I did it this way). In the end you will have two things - a useful tool that you will use every day, and some online code for others to see. Main point, quality over quantity.

If you prefer blog posts, don't write about unboxing a Visual Studio 2017 DVD. Pick one of the latest technologies, learn it in depth and share your insight. Describe pros and cons, from your experience, go technical and try to produce unique content.

Victor Zakharov
  • 1,722
  • 1
  • 15
  • 16
1

I'm also in the UK so what works for me will definitely work for you.

You are assuming a marketable presence means being able to disclose code or exact project details. It doesn't. What you need is not hard to get - I've worked for both large PLCs and 10-employee SMEs and not one has refused.

You want a letter that describes your work and approach, but without sensitive-to-client details. Here's an example of one of mine:

enter image description here

Notice it doesn't disclose anything about the coding I did, or include any NDA details. It just says how I was to work with and overviews the nature of the job. Other letters on other jobs highlight other skills, or specific competencies, so when I apply for a role I can pick those which highlight what they are looking for.

But what a reference!

I have another 10 like it. Nothing in the one above showcases any specific projects, in fact even the client is blanked out. But it carries huge weight and credibility, even so. It could miss entire chunks out, or be deliberately vague enough so as not to give away exact work areas ("worked on our client analysis project"), and it would still be very powerful.

That's what I use instead of a portfolio. It'll work for you, too.

That sort of reference is what you need, and if you ask, a surprising number of people will gladly help by giving you it.

Stilez
  • 5,927
  • 1
  • 15
  • 25
0

Compared to the average open source and social media contributor, you have much less time to type and much more time to think. Use that to your advantage.

Use your commute time to listen to the original Stack Overflow podcasts. You will learn a lot about software and product development and how to ask great questions.

Aim for one small contribution every day. It could be as small a Stack Exchange question, an epigram on Twitter, or a comment on GitHub that helps a bug fix progress.

Think a lot and type a little each day. The work you do in small slices of time will add up. Good luck!

-1

No github portfolio can beat a satisfied ex-employer, willing to testify, or a current one that's kept you on for over four years, perhaps providing you with a couple of evaluation reports? It used to be that the best publicity was a satisfied customer, once upon a time.

Gerard H. Pille
  • 249
  • 1
  • 6
  • 5
    Most companies, when collecting references, will simply confirm your job title and the dates you worked there. So even an extremely dissatisfied ex-employer will rarely count against you. All this proves is that you sat in a building for a few years. – Michael Jul 06 '18 at 13:38