Post

Future Goals: Where I Want to Take This

Future Goals: Where I Want to Take This

Writing about this semester in detail, course by course, made one thing clearer than I expected: the individual pieces I learned Python syntax, MySQL queries, logic gates, a bit of C# and object-oriented thinking, a first real attempt at machine learning do not feel like separate boxes anymore. They feel like the early, somewhat uneven foundation of something I am only beginning to be able to picture. This post is less about looking back and more about figuring out where I actually want to go with all of it.

The most immediate goal is simple and a little unglamorous: get genuinely solid at the fundamentals before chasing anything advanced. It is tempting, especially after a first taste of machine learning, to want to jump straight into more complex models and impressive-sounding projects. But this semester also showed me clearly that the projects which actually worked well were the ones built on a careful understanding of basics clean data, well-structured tables, code that handled edge cases properly. I would rather spend the next semester deepening Programming Fundamentals and Database Systems concepts than rushing past them toward something flashier that I do not yet have the foundation to actually understand.

On the database side specifically, I want to move beyond the relatively small, single-purpose databases I built this semester into something closer to a real multi-table system with proper normalization, indexing, and performance considerations. Right now I understand the basic rules well enough to follow them when an assignment tells me to; the next step is understanding them well enough to make good design decisions on my own, in a project nobody hands me a structure for in advance.

On the programming side, after this first exposure to both Python and C#, I want to get more comfortable with object-oriented design specifically not just writing a class with a couple of attributes and a method, but actually using inheritance, interfaces, and proper encapsulation in a project substantial enough that those concepts feel necessary rather than decorative. The insurance claim prediction project gave me a small taste of building something closer to a complete pipeline, and I would like the next project to be bigger, messier, and closer to something an actual small organization might use.

Machine learning is the area I am most excited about long-term, partly because of how it was introduced to us through Database Systems and partly because of the genuine satisfaction of watching a model improve as the underlying data and features get better understood. I want to work with larger, more realistic datasets — the kind with real-world noise and imperfection rather than tidy classroom examples and get more comfortable with the full cycle of cleaning data, engineering features, training multiple models, and evaluating them honestly rather than just chasing the highest accuracy number.

There is also a quieter, less technical goal sitting underneath all of this: continuing to document the journey publicly rather than letting it fade into private notes once the excitement of a new portfolio wears off. It is easy to keep something like this updated for a few weeks and then quietly abandon it once deadlines change focus. I want to treat this portfolio as a long-term habit rather than a one-semester project, adding to it as new courses and projects come along, the same way the underlying skills themselves are meant to keep building on each other.

If I look back at this same post a year from now, I hope the honest answer is that most of these goals turned out to be starting points rather than destinations that the database systems got more complex, the machine learning projects got more ambitious, and the gap between “a student following assignment instructions” and “someone who can design and build something on their own” got noticeably smaller. That gap closing, more than any specific technology I end up specializing in, is the actual goal underneath all the smaller ones listed here.

Beyond the technical goals, there is a habit I want to build that has less to do with any specific subject and more to do with how I approach learning generally going forward: finishing things properly instead of moving on the moment something technically works. Several projects this semester reached a state where the core requirement was satisfied, and I stopped there rather than asking what a slightly more polished, slightly more thoughtful version would look like. The insurance claim prediction model worked well enough to submit, but I know, looking back, that better feature engineering or a more careful look at the data could have improved it further if I had pushed past the point of “good enough for the deadline.”

I also want to get more comfortable reading other people’s code and documentation rather than relying almost entirely on writing everything from first principles myself. Most of what I built this semester came from a relatively narrow set of techniques covered directly in lectures and labs. Real projects, the kind I want to eventually build, will require pulling in libraries, frameworks, and patterns I have never been formally taught, which means getting better at learning from documentation and existing codebases rather than waiting for a course to introduce every new tool explicitly.

On a more personal level, I want to get better at estimating how long something will actually take before I start it, since almost every project and assignment this semester took longer than my initial guess, sometimes by a wide margin. That gap between expected and actual time is, I suspect, a normal part of learning any new skill, but closing it even partially would make planning future semesters, and future projects beyond university, considerably less stressful than this one sometimes was.

Finally, I want to stay curious about the parts of Computer Engineering I have not touched yet. This semester gave me a real taste of software, databases, hardware logic, and a beginning understanding of machine learning, but it is still only a narrow slice of everything the field covers. Networking, operating systems, more advanced algorithms, and proper software engineering practices are all still ahead of me, and I would rather approach each of them the way I eventually approached Programming Fundamentals expecting initial confusion as a normal part of the process, rather than as a sign that something is wrong than dread them as obstacles standing between me and graduation.

I also want to be realistic about the order in which I tackle these goals rather than trying to chase all of them at once. It would be easy to start a dozen ambitious side projects simultaneously and finish none of them properly, which would not actually move me any closer to the version of myself I am describing here. I would rather pick one solid database-focused project and one solid machine learning project for next semester, finish each of them properly from planning through evaluation, and treat that as real progress, instead of spreading the same amount of effort across too many half-finished attempts.

Finally, I want to keep returning to this specific post as a kind of checkpoint rather than writing it once and forgetting about it. Goals written down and never revisited tend to quietly drift, while goals checked against actual progress every few months tend to stay honest. I plan to come back to this exact list at the start of next semester, before writing any new posts, and ask plainly which of these goals I actually moved toward and which ones I only thought about. That small act of accountability, more than the ambition of the goals themselves, is probably what will determine whether any of this actually happens the way I am imagining it right now.

This post is licensed under CC BY 4.0 by the author.