How I went from university assignments to products that make money
ABSTRACT / SYNTHESIS
"I don't have a degree yet, but here's what I learned along the way."
I started coding desktop Java for university. Console input, numbered menus, zero graphical interface. They were exercises, not products. No real users. No consequences if something broke.
§What university gave me
UNCA taught me to think about problems before solving them. To doubt the first solution that came to mind. To ask myself if I really understood what was being asked of me. You don't get that from a YouTube tutorial.
But what it didn't give me was contact with reality. I never had an angry client because something didn't work. I never had to estimate how long a project would take and deliver on it. I never had to explain to a non-technical person why I chose one technology over another.
§The leap to UXnicorp
When Mauro and I created UXnicorp, everything changed. Suddenly I had real clients, real deadlines, real money at stake. The first project with a client was a wake-up call: it wasn't enough for the code to work. I had to understand what the client needed, why they needed it, and how to explain what we were doing without putting them to sleep.
I learned to design interfaces because someone had to do it. I learned to talk to clients because there was no sales department. I learned to say "this isn't necessary" because sometimes clients ask for things they don't need and part of my job is helping them see that.
§What I learned outside university
Estimating time. At first I always underestimated, obviously. After several projects I learned to be honest with myself and with the client. I'd rather say "this takes three weeks" and deliver than promise one and fail.
Saying no is also part of the job. When the budget isn't enough, when the deadline is ridiculous. At first it embarrassed me. Then I understood that clients value honesty more than blind enthusiasm.
Explaining without jargon. Something they don't teach you in university. If I can't tell a client why I made a decision, I probably didn't understand it well myself. And if I didn't understand it, I shouldn't be making it.
Charging for value, not hours. This is the most important one. The client doesn't pay for lines of code. They pay for the problem you solve.
I don't have the degree yet. And that's fine. What I have is fifteen projects I built while studying. That says more about me than any piece of paper.
Gonzalo Daniel Vega
Full Stack Developer
"The most valuable software is not the most sophisticated, but the one that models with absolute honesty the reality of those who operate it."