

Ask HN: What should I do with my professional carrier - NullNull

Hello, I&#x27;m could use some advice.<p>I went to CS studies, everyone there told me I should quit because I didn&#x27;t have any CS background but I kept going and manage to finish it like an average programmer. I&#x27;m far from some rock-star, I think I just use Google really well and I know how to connect the dots.
For the the last year and a half I have been working as a DBA. I decided to take that job because it was a small start-up, that was just starting up, and it look challenging to do that sort of job. Start-up is economy oriented so do a lot more than just DBA, I do a bit of programming but not much.<p>Now I&#x27;m 27 years old, that start-up is falling apart due to bad management. I work for a lousy pay-check which is often late. I have no opportunity to learn from someone on my job, so everything I do I do it alone. And I often have to do it in a really short amount of time, because everything is always needed &#x27;yesterday&#x27;. I manage to make it work, but quality of my work is just bad. Yea the database works, my code does the job, but I would not like for someone to actually see it.<p>And right now I have no idea what to do. I used only 20% potential that year and a half I spent on that job. And I feel like I&#x27;m behind. 
I really like programming and I would like to get back into it. So does anyone have any useful link or resource or guideline how can I brush up my programming skills. But not only basic programming and algorithms, but also good programming practices, clean code, etc. I would mainly focus on JAVA and Android programming, maybe I would start learning Python OR Ruby (I see it is very wanted on the job market).<p>I live in a 3rd world country, which sometimes feels like like it is a 7th world country. I&#x27;m even thinking about going freelance, because jobs are paid here really bad. So If anyone was in a same situation or has some constructive advice how should I proceed I would be grateful, because I really need some ideas.
======
informatimago
I fail to understand your study status. The point of going to CS studies, is
to obtain CS background. Nobody can expect to have a CS background before
going to CS studies. On the other hand, once you've passed thru CS studies, if
successful (ie. if you've learned anything), you should have this CS
background.

In anycase, computer science and practical software engineering are two
things, unfortunately.

Thanks to the Internet, it shouldn't matter too much where you are located,
when you want to work in IT.

As I see it, you have to distinguish two different things:

\- earning a living or financial independence, to be able to feed, clothe and
house yourself, as well as provide yourself with required computer hardware,
electric energy and internet connectivity.

\- growing in knowledge and abilities in computer science and software
engineering you're interested in, to be able to develop the projects you'd
want to develop.

It may be possible to collude those two different things into a single
activity, this is what is advocated by "do what you love" (and love what you
do), meaning, that we are lucky enough that doing programming can also bring
bread. But as you've realized in this startup, professionnal work is not
always fulfilling the brains, only the stomac, and even...

Also, of course, there's the question of being employee, where you don't get
to decide much about your work, and the distribution of its product.

Therefore being a free lance or an entrepreneur is indeed an option that may
seem favorable. But in that case, you will now have to deal with customers and
while you may reject unwanted customers, you will still have to work with the
constraints contracted with the customers you choose. This is not necessarily
better a situation than being employed in a great company, but at least,
you'll have more freedom and more decision power to what, when and how you'll
do things.

While you may find local customers, and be happy servicing them, if it is
difficult given the economic situation of your area, you can also choose to
address international markets. This is easily enough done thanks to the
Internet.

For example, you may develop and sell smartphone applications (iOS and/or
Android). Then it may be an advantage of being in a third world country, where
living costs are much cheaper, because a dollar earned selling a smartphone
app will go much father where you are than in the Silicon Valley. But this
requires investing the time needed to develop this application, and with the
risk that it may not be entirely succesfull. In the meantime, you may need to
earn some money to seed this development.

Another way would be to find remote customers thru the Internet, and work
remotely. There are web sites designed to match customers and free lance
providers, such as [https://www.freelancer.com/](https://www.freelancer.com/)
and a lot of others.

