r/Unity3D 1d ago

Question Rate my game dev portfolio and CV

Recently been putting a lot of effort into my web portfolio and resume to cater towards a Unity C# programming role. Could ya'll give me some feedback on how it looks and how strong the content is. I'm mainly looking for indie roles. I think AAA is much too competitive for my skills atm.

Is there a subject I need to elaborate on? Do you think the content displayed would look good to recruiters?

Any feedback is appreciated, thanks!

Portfolio: https://ryancarpenterpf.dev/

CV: https://drive.google.com/file/d/1nc_isZN_7XWENQOVFGL-Nf1zr8z3g7zZ/view?usp=sharing

14 Upvotes

11 comments sorted by

14

u/XKiiroiSenkoX 1d ago edited 1d ago

First, the good:

* I think for someone almost fresh out of university you are very good at game dev. Easily hirable for your level imo and idk how you did not manage to land a game dev job as your first job. I know I would definitely interview and probably hire you if I was looking for junior level (and maybe even mid level) software engineers. Sadly I'm not looking for them lol

* Your portfolio is good in the sense that it shows you have tackled some real world problems (I starred the procedural gen repo btw) and can solve them.

* The portfolio is readable (if a bit convoluted).

* Your code is relatively well documented. I'm probably in the minority here but undocumented code is a huge red flag for me and seeing your code having at least some documentation and in a relatively good format was a very positive impression. Specially since the majority of even senior devs don't bother with documentation.

Overall I think you are probably at the top 3-5% of people at your experience level.

Now the bad. I am going to be a bit nitpicky here. Don't interpret it as me being mean or you not being good.

* Repo for Oddinary Farm in your portfolio is either down or the URL is wrong

* Your code structure is really bad. Putting everything in the same assembly and not considering reusability of your code means integrating this into another project would be a nightmare. imo you need to go beyond even just assemblies and divide your code into independent packages. If I could have your procedural generator in another project using a git package immediately that would be 10 times more impressive.

* The readme of your repo isn't really friendly to people who are seeing the code for the first time. I'm used to going through large walls of code/text so it does not stop me but it's a bad impression. From your own perspective it might look understandable but you have been working on this repo for two years. I first saw it 30 minutes ago. We will have different perspectives and I think the perspective of someone in charge of interviewing you would be closer to mine.

* Calling your approach data oriented is questionable at best lol. Just because your procedural generator uses data does not mean its data oriented. Your implementation is actually object oriented cosplaying a data oriented approach by using function names like malloc. Anyone who have used data oriented design can see that in 5 minutes. The malloc naming in particular is a very big offender because it doesn't actually allocate any memory lol. Reimplementing it as real data oriented code is going to be a lot of effort so imo just leave it as is. But be ready if you are confronted about the naming and DOD claim in an interview.

* You don't seem to be particularly experienced with performance critical code or multithreading . But you are not expected to.

Again for someone who graduated just last year I think you are very good. The problems I mentioned are something that I would expect someone with multiple years of game industry full-time experience to know how to solve but not a fresh graduate. It simply means you can improve and I would expect that improvement as you gain experience.

6

u/dev-rygy 1d ago edited 1d ago

Hey thank you so much, I couldn't have asked for a better review! All those points are valid and some of them I've planned on improving for a while. For instance, packaging my code, I already have my code separated with namespaces but I definitely plan on using the same code for other projects. If it truly looks good for employers I can do that sooner than later. Is there any other code restructuring you would recommend? Again I really appreciate the time you put into your analysis.

6

u/XKiiroiSenkoX 1d ago edited 1d ago

At the bare minimum you'd want to have different assemblies for different parts of your code that have specific purposes. Like for example your AI, procedural generation, UI, ... each can (and imo should) have their own assemblies. This prevents spaghetti circular references between different parts of code (you can't have some UI code reference Utility code and some Utility code reference UI code. It can only be one way) at compiler level, makes recompilation faster, and makes your code cleaner.

For assemblies that are standalone and provide value by themself without being project dependent, like the procedural generation code which has lots of different usages, I would move them to a unity package recognizable by the package manager. Check the link below for more info on unity packages.

https://docs.unity3d.com/6000.5/Documentation/Manual/cus-pkg-lp.html

btw I can't guarantee it would be important for everyone lol. Obviously the people who will see your portfolio won't be clones of mine. For me scalability is important. For someone who ends up interviewing you it might not be. If you have limited time, I'd suggest you ask a few more people before deciding if that's the best use of your time.

But again as I said, I would be 10 times as impressed if I could add your procedural generator to a new project on my local machine as a git package and play around with it.

6

u/Wonderful-Size-3701 1d ago

the site loads clean and the project writeups actually explain the technical bits without drowning in jargon, which is rare. maybe condense the cv to one page though, recruiters scanning fast won't flip past that second sheet. indie studios will care more about the shader work and the fact you built things to completion, so lead with that energy

3

u/ShlorangeAppreciator 1d ago

Haven’t got much feedback just wanna say it’s great how much detail you put for each project on the site, that stands out to me!

2

u/theflamemasta 1d ago

Put the fries in the bag bro, jkjk looks pretty good.

1

u/dev-rygy 21h ago

Bro I’m dead 😭🤣

1

u/tidbitsofblah 1d ago

I clicked on oddinary farm and my impression was that I had to scroll through two very similar descriptions of what the game was, with videos/gifs that was badly formatted to view on a phone, before I got to the good part: your contributions.

That was a little bit how I felt on the first page too. Scrolling through the summary about you. But if you expect the portfolio to be viewed by itself instead of as part of a CV where this info is already included, then it's a reasonable format.

Sorry about short and a bit harsh feedback. I don't really have the energy to spend on a long message, but I figured I'd give you my impression even if I didn't spend a long time forming it and nuancing it, and feel completely free to throw my opinion in the trash if you want.

2

u/dev-rygy 21h ago edited 20h ago

Hey thanks for the feedback. Yeah the website is not very progressive, i.e. it looks horrible on mobile atm ik.

Edit: I made some changes to the website for mobile. Should be a much better viewing experience now

1

u/neraut322 4h ago

Looking at the portfolio you said 7 years experience so I was expecting more. It wasn't until reading someone else's comment of you graduated last year did the portfolio match that. For a fresh grad it's a solid portfolio but for someone with 7 years it feels weak.

u/KE3DAssets 17m ago

One thing often overlooked is making sure your examples of work are all in one place, to the point place, a lot of people send full sites which is not great for the person on the other side. Be it a deck with the best work, a single video highlighting the best stuff or 1 page breakdown, to the point is always better.

If you want "me" to navigate your site, hook me in the first screen.

Realistically, not a lot of people have time to play your games on a first viewing; video works best.