3

I applied for a backend developer position and the potential employer requested to prepare to introduce the architecture of a project I did for an interview, with drawings or such. I skimmed through and realized that all of them are very poor quality. Let me explain:

  • Common problems on all projects
    • Can't explain the architecture. No architecture was in mind when I developing. Don't know about architecture either.
    • No code review. Basically, all of them are made just enough to do the job. This leads to many cranky business logic and configurations.
  • A project I think I contributed the most
    • "Cannot resolve symbol" errors all over the place due to a broken repository. The repository link is on an intranet and can't be accessed from my location.
    • Can't remember what I did. It's been more than a year and a half since I hand over to someone else.
  • Recent projects I participated
    • Marginally contributed since I participated in the middle. Maybe easy to explain what I did, but not much.
    • Maybe the worst architectures I ever have seen. So many business logics are duplicated all over the place; Due to tight schedules and inexperienced coders(myself included) without any code reviews if I say so myself.

I'm in so much shame with my 5 years of "experience". Maybe this is due to me being a "frog in the well(current company)". I'm even considering dropping the application due to my lack of confidence. But my brother advised to never give up since this will also be an experience and no need to be pressured since I already have a job. Regardless, I'm still in a slump.

My questions are

  • How to prepare for the upcoming interview in a few days? (Dropping the application can be an option)
  • How to prepare this kind of interview for the long term?
  • (Optional) Any recommended study materials or methods?
12
  • 1
    Do any of your prior projects work? – sf02 Oct 20 '20 at 13:03
  • While I feel bad for your troubles, do you have an actual question we can help with? – Tymoteusz Paul Oct 20 '20 at 13:04
  • 3
    you can always try the honest approach (especially if you got nothing to lose): provide some projects, mention how you do not think highly of them, why you do not think highly of them, why they are in this state (e.g. time constraints, etc.) and how you would do it differently now. That can show you can reflect on your work and shows personal growth. So basically tell them the same you told us but with a more positive (I have grown beyond that) spin on it – Felix B. Oct 20 '20 at 13:56
  • 4
    I feel there is a communication glitch between you and this employer, usually, you do not present projects of your current or previous employers because of legal concerns but you demo the project/challenge/exercise they ask you to do. Even if it seem small, they will ask you some questions about what this function do, why doing that way and not that way, what else would you improve if you had more time, etc. So be ready for what related to back-end development: architecture, query validation, tests, orm, viewmodels, etc. – Sebastien DErrico Oct 20 '20 at 14:50
  • 8
    Your comments suggest you are considering giving code from your workplace over to the interviewer. Unless this is for an internal transfer at the same company, do NOT do this. The code doesn't belong to you and you can get in serious trouble. – Seth R Oct 20 '20 at 14:51
5

Don't drop the interview, you have plenty of opportunity to show off work. For the short term I would suggest looking at the projects that you contributed to and pick the one for which you can come up with the architecture that best shows off your current skill set. This allows you to discuss flaws and shortcomings, allows you to potentially disclose reasons why it was eventually done in the way it is done (time constraints, lack of experience) and subsequently, focus on how you would do it differently. Come up with a new database structure, discuss how you would deploy it on your system of choice (AWS, Azure, locally hosted server, etc.) or any other improvement you would make given your current skill set.

This allows you to give an inidcation of your skills, and shows you can reflect on previously done work and that you can learn from it.

For the longer term, I advice you to come up with a personal project and implement it to have a stronger case for future interviews. It always helps with a presentation if you are proud of what you did, so look for a project that you have passion for and build it in your free time.

3

The thing about personal projects is that they are just that: personal. They aren't intended for mass market distribution and they aren't intended to be industry-changing huge ideas or whatever. They're mostly more or less just toys for you to play around with in your spare time. So if your personal projects are sloppy, that (should be) good enough: just say they're sloppy because they're personal projects, and explain the purpose of the project that you had when you built it (e.g. "I wanted to learn X so I wrote something using X") and that should be enough.

It seems they are specifically asking for something you prepared for an interview though, and that's the big issue. Have you ever had an interview when you've been asked to prepare some code? It's not uncommon to have that, but also not so common that it's not believable that you don't (my personal github repo is filled with stuff like that, but yours may not be). I guess they think that if you prepared this for another company's interview, then it will be better quality than a random personal project. If you have one, then just show it to them and answer the questions they asked (if you don't have a good answer, simply explain "that wasn't part of the specification I was given at the time").

Failing the above, you may want to put the question back on them: "I don't have any projects I've prepared for interviews; if you would like me to prepare something to show off my skills, I'd be happy to build something for you if you have an idea of what you'd like to see".

I would not show them any projects you've collaborated on. It's difficult to know how they would see it. One way they could see it is that you're taking credit for other people's work. Another way would be that they don't know how to evaluate your specific contribution to the project so it's functionally useless. And definitely do not showcase work you've done under contract for previous employers, that opens you up to all kinds of questionable legal circumstances.

You must log in to answer this question.

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