3 ms·
In recent times I have been taking night and weekend classes to finish my CS bachelors along students half my age, so I will tell you what I told them. One thi
by Ologn 6y ago
In recent times I have been taking night and weekend classes to finish my CS bachelors along students half my age, so I will tell you what I told them.
One thing is we took CS classes, and also some English courses in writing. Even on the job, those writing classes are important. You will be writing e-mails, documentation etc. and being able to be clear and to the point is helpful.
Also, in my eyes, some students were not doing enough to get an IT job out of school, never mind a good IT job with an upward trajectory. One guy told me "I don't study for quizzes since they are only 10% of the grade". I studied for quizzes because they were 10% of the grade, but also because I wanted to keep up with the subject and know about it for the future. Then part-way through a semester, or after a semester, I would often manifest whatever I learned. So if I learned Java, I would write a project in Java for myself. Or at least go on Github or somewhere and fix an issue on a Java project. Or if I learned graphics programming I would write a graphics program, or at least contribute to a free/open-source one. Through this, I would take all the theory I had learned over some months and ground it and manifest it in real work.
Also you would probably do well to get on CS department mailing lists, and check the bulletin board or whatever for internship listings.
I was surprised how lackadaisical some kids took it. Maybe it was their youth. I have seen many people parlay their CS skills into everything from a well-paying job, to parlaying it into an enormous amount of money. So I went above and beyond. I recall one homework where we had to talk about process schedulers, something I was always interested in but never stopped to read about. I figure in the first half hour of work, I already had gotten an A, but I spent hours and hours reading about process schedulers before turning in my homework.
I recall speaking to a bunch of the brighter CS seniors, and I mentioned something about version control. "Version control?" one said. I said, "Yes, you know, like git". "Git?" he said. None of them knew what version control was. You should know things like that before your first job interview, taking classes is not enough. It's good to know what algorithms are linear big O, and which are exponential, but you are going to have to learn some things they won't teach you in class to get a job. I would suggest going to Github, finding a project that has merged pull requests from a number of contributors recently, and looking at contributing a pull request to that project. Then at least you'll get an idea of what work is - someone posts a bug to issues, you look at it, you fix it and put up a pull request, then someone with more (or equivalent) experience looks at it and either gives you some pointers, or merges your changes. At work you will be doing similar stuff.