131

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.

7
  • 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
    Commented Jul 6, 2018 at 12:56
  • 5
    For what end do you want a reputation? To bolster your job prospects? Or some other reason? Commented Jul 6, 2018 at 22:26
  • Your work is likely not private, but proprietary.
    – gnasher729
    Commented Jul 7, 2018 at 16:53
  • @gnasher729 is there any legal distinction? Commented Jul 8, 2018 at 7: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. Commented Jul 9, 2018 at 13:36

12 Answers 12

117

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.

12
  • 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. Commented Jul 6, 2018 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. Commented Jul 6, 2018 at 14:23
  • 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. Commented Jul 6, 2018 at 15:27
  • 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
    Commented Jul 6, 2018 at 16:26
  • 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
    Commented Jul 9, 2018 at 11:49
28

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.

2
  • 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
    Commented Jul 6, 2018 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. Commented Jul 6, 2018 at 17:39
22

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.

14
  • 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.
    – user88980
    Commented Jul 6, 2018 at 13:42
  • @Andy "I think the question of "do I need one" is implicit in the question itself" Well I don't.
    – Michael
    Commented Jul 6, 2018 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.
    – user88980
    Commented Jul 6, 2018 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.
    – user88980
    Commented Jul 6, 2018 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
    Commented Jul 6, 2018 at 13:54
16

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.

2
  • 7
    Thank you for being one of the only people to answer the 'how'
    – Michael
    Commented Jul 6, 2018 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. Commented Jul 9, 2018 at 7: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.

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.

1
  • The question was how to establish online reputation, not how to increase job chances by using online presence. Commented Jul 7, 2018 at 9:45
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.

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

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.

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.

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.

1
  • 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
    Commented Jul 6, 2018 at 13:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .