Career advice: Front-end to Back-end
I feel a certain perseverance inside me when I don't do something right. But, its just that I am losing interest in scratching the surface level with products that mostly solve interface issues.
I have a masters degree in Computer Science. I see where I lack at algorithms and data structures and I have a lot of work to do to get the basics right. And I am ready to cover that.
How do I go about getting a job that allows me to work on C/C++/Python? Any advice? I have little to no idea about doing such software (like device drivers for instance) but I know that it will challenge me. I will suck at it but I will try my best to do it right.
PS: Its not that I am awesome at making UI/UX, I know I can get better, but I am just not interested in thinking in those angles anymore.
2 comments
[ 3.0 ms ] story [ 16.9 ms ] threadMake a request to get some data? Done.
Button to generate CSV report fires off a request which takes way too long? Uh-oh it's keeping a thread occupied on your server that could be busy serving other requests. Time to get familiar with fronting your infrastructure with nginx as an evented way to handle loads of connections. Now you're diving into getting familiar with events vs threads vs processes for handling connections.
Want to have the UI respond immediately to that export request? Now you're into the realm of having the export be processed in a background queue so that the http request returns immediately with a job number you can poll the status of later.
You've now got a background worker pulling export work items off a queue. How are you going to ensure that this process is running all the time on a production environment. Time to look at either daemonizing the process, or using a process supervisor, this is where you're finding out a little more about process return/error codes, and forking.
The laboured point I'm making is that familiarity will come naturally as you solve use cases, and your mental toolbox of "bits of knowledge" for the backend will grow as you research how to solve problems you come across day-to-day.