Things not normally taught in computer science curriculums that should be included 🧵
This will be a part 2, since I did one of these a little while ago. I recently thought of more things so wanted to do a follow on. If you wanna check out the first one, here it is:
These curriculums tend to go from “practice your while loops” to “implement this data structure” to “code this big thing”.
You will never succeed at the latter if you don’t learn how to break down the problems into smaller programmable pieces.
2. How to set up your development environment.
These vary depending on languages and what you’re trying to build. Coding skills are difficult to transfer if you don’t have the foundational environment to work in, so getting started with full projects can be super confusing.
3. Web development
A lot of people go into web dev, but experience with only C++, assembly, and knowledge of operating systems isn’t super transferable. Not to leave those behind, web dev should be taught in addition. Not assumed to be understood after such classes.
4. Pair programming
The real world doesn’t work in “everyone program alone” mode. You need to know how to work on projects with others and how to read their code.
5. Version control
Good grief. I went through all of undergrad with no version control. Please don’t do that. It’s only future problems for you, both in school and in the workplace.
6. Tangible networking
With things like ESXi existing, there’s no reason for students not to be building clients and servers and understanding configuration setups. Writing sockets connections by hand is fine, but the former should occur as well.
7. Engineering applications
As much as I may have hated it, a hands-on class like robotics would have complimented the rest of my classes really well. How to connect programming with physical things is a fundamental skill.
Alright, that’s it for part 2. If this is interesting to read and discuss, maybe a part 3 will come in the future!
As before, please add any you think of!
• • •
Missing some Tweet in this thread? You can try to
force a refresh
I've spent a lot of time wondering how I didn't spend more time deep diving into fundamentals of my comp sci classes and doing extra projects on the side to better understand what I was learning.
Did I not care? Was I not interested? Did I pick the wrong major?
After many years, I've had a realization.
Consider times when you've thought you weren't good enough to do something. In those moments, were you actively accomplishing other things at the same time?
I'm going to guess no.
The amount of time I spent during college second guessing my intelligence, whether I belonged, if I could succeed, if I should keep trying, whether or not I'd actually get a job in the field-
This will be an evolving 🧵 of commands I learn about today and the resources used ⬇️
1. awk
awk is used for text manipulation within the command line.
A common use is specifying what kind of information you want to pull from a file or command output.
Example:
The who command returns currently logged in users of the system, as well as other information. What if we only wanted to see the users, without extra information? We could use awk like this, knowing the user is the first parameter in who output:
Interview advice for people getting into tech 🧵 ⬇️
1. Know main points about the company.
When interviewing all around, this can be hard. But know the main things. Does it make a product? Know what the product is and does. Does the company have a specialty expertise? Know what it is. This is a simple first hurdle to prepare for.
2. Know how to sell yourself.
Interviews often start with “tell me about yourself”. Know your strengths. Know your accomplishments. Know your passions. Know what you’re interested in (multiple things is okay, esp when you’re earlier career!). Be able to be concise & to expand.
Something that doesn’t rely on a reactive response to finding susceptibilities. It’s not realistic for users, and it’s a race for groups against their adversaries.
In fact, I’ve been told that being a technical lead too early (despite being qualified and requested for the position) would make others question if I actually had the technical chops.
That being a TECHNICAL lead would make people question my TECHNICAL abilities.
Male colleagues with my same experience had become technical leads no problem.
If a woman is a technical lead and you assume she’s just leading because she doesn’t have the technical abilities, and you don’t think the same of dudes, that is a YOU problem. Not a me problem.