0

I've recently started my first job as a software developer at a small startup company.

I do not have a degree in a software engineering related field, although, I have very recently completed an A-Level in Computer Science.

There are 2 developers (myself and one other) and the other developer has worked here for some time and so, is particularly knowledgeable of our products and the code base.

I, however, am struggling to create new projects or maintain existing projects as I simply don't know enough about them in order to proceed.

  • The code for the projects is completely undocumented (no comments or guides etc)
  • The databases we use do not have primary keys or referential integrity
  • The databases do not have meaningful table names and column names
  • I am unfamiliar with their data model

My boss is not a software engineer, and so when I do ask him for help, the information he is able to give me is very limited.

The language we use (C#) is one that I have plenty of (mostly self-taught) experience in, however, I'm wondering if it is indeed my abilities (or lack thereof) that are preventing me from being as productive as I'd like to be.

Am I just too inexperienced for this role, or is there something I can do to help me in this job?

  • 1
    *"completely undocumented...no primary keys or referential integrity...no meaningful table and column names"* In this situation I would learn as much as possible from the other developer, make the best of it while you're there, and use this experience in your next job. This sounds like a mess, regardless of your experience level. – Dan Wilson Jan 29 '19 at 14:51
  • 1
    sounds like you are over qualified ;) Work with the other developer but it just takes time to pick up on a codebase – Ewan Jan 29 '19 at 15:07
  • 1
    How long have you worked there? It's not unusual for a new employee to take some time to get up to speed (several months at a minimum, especially for a new grad who hasn't seen real-world codebases before). Take notes on what you discover or learn from the other developer, and **start to document the code as you go**. – mmathis Jan 29 '19 at 15:12
  • 1
    To echo the other comments here, this isn't your fault through lack of knowledge, it's the other developer's fault for adopting such poor standards with their code. Even very experienced developers struggle in such situations. It will take you time and you will have to ask the other developer lots of questions. Be prepared for them to be defensive too, as they likely regard themselves as an expert due to the amount of time they've spent with the code. It'll be tough, but it'll give you valuable experience in coping with poor quality code which will stand you in good stead in future jobs. – David Arno Jan 29 '19 at 15:14
  • Another possible duplicate: [How do you dive into large code bases?](https://softwareengineering.stackexchange.com/questions/6395/how-do-you-dive-into-large-code-bases). – Doc Brown Jan 29 '19 at 15:21

0 Answers0