I know what I want to build, where should I go?


I have recently begun my coding journey here for a specific reason; I am trying to solve a problem at work.

I work in clinical research and we have multiple studies with different requirements, labs, visits, etc. I know pretty advanced coding in excel which has allowed me to create inventory, patient tracking, and scheduling spreadsheets, and have them communicate with each other, but it feels like a temporary fix.

What I would really like to do is be able to build a desktop app (we use Windows) that contains a database of patients with their information, functions to be able to schedule them, and an inventory function. For instance, right now I have an inventory spreadsheet that communicates with the patient tracking spreadsheet so when we schedule a patient for a visit, we will know if we have the necessary kits.

I’d like to be able to add multiple studies and define the number of visits, when they should be, and be able to assign patients to those studies.

This will sort of work something like a CRM/study management/project management application, and I understand it’s a BIG undertaking, and could take me a long, long time to learn what I need. That’s why I’m wondering where to start.

I’ve learned some C# and it’s come pretty easy to me, I’m almost through the Learn C# course here. When I ask my friend who has a CS degree what I should be learning, he said C# is a good start but there would be probably a few different languages/technologies I would need to learn to be able to build something like that.

This is something I am doing in my free time and don’t expect it to come quick, but I love what I’ve been learning so far, I didn’t realize how much I would enjoy learning this.

Any direction would be helpful! Thanks in advance!

This is exactly how I got my start in programming! I had something I wanted to do to make my job easier, and built a desktop application to do it. I don’t know how much very specific advice I can give you, but what I did was use Visual Studio, used a tutorial to figure out the basics of how to build UI and such, then just started. I knew what I wanted my to look like and what what I needed it to do, so I made the UI and then figured out how to implement functionality piece by piece. This is absolutely not the best way to build an app, but it was a great way to learn. Over time I kept revising and improving it, coworkers started using it, and eventually the company caught wind of what I was doing and then suddenly I was a full time developer.

So, I guess the most important piece of advice is to JUST START.

You can use Visual Studio to leverage your C# knowledge and you’ll be up and running in no time. You’ll need to learn about databases concurrently. But once you learn CRUD (basically getting information in and out of a database) and the basics of building your UI, I bet things will come together pretty quickly. Pick one major section of what you want to do (CRM, study management, or project management) and focus on building that out first, then add another section later. It’s a big project but you can also think of it as several smaller projects and that’ll be easier to manage.

While it’s not likely a good permanent solution, I’d suggest looking into ways to connect to your existing Excel spreadsheets to serve as your initial database. If that is possible (knowing Microsoft, it probably is) then it will give you a big jump start. Then once you have things up and running, you can learn about implementing a more robust database solution.

One more thing to consider of course is HIPAA. There is an old book called “Translucent Databases” that describes ways of safely storing sensitive data. There may be better ways now but the ideas are important. In your case, essentially the goal would be to make it so that any stored identifiers are obscured. It’s easier to implement something like that early on than trying to retrofit it later.

Good luck! This is going to be an exciting journey for you!

1 Like

WOW. This was super encouraging!! I really appreciate you telling me how you started (starting in Visual Studio and learning UI, then adding functionality), because that’s exactly what I’m doing now and it started to feel like it wasn’t what I was “supposed” to do, but I will keep going with it. I’ll definitely break it into smaller projects like you said, that makes a lot of sense.

On a different note, I love how you created your own career path by building something that solved a problem, and I hope you’re happy in that developer position!

Do you have a suggestion for a method of learning CRUD?