Things not (normally) taught in computer science curriculums that should be included, a 🧵 ⬇️
1. Secure coding
Not just taking off points when students submit code with security flaws, but proactively teaching why certain practices will provide said flaws. Help them recognize insecure coding practices. Understanding security is a critical aspect of sw engineering.
2. Documentation
Comments may be required in code for beginning level classes but they’re even more important in later classes where code gets complicated and single characters can change code’s ability. This is esp important when students may just be taking shots at solutions.
3. Dealing with other people’s code
This includes newer code and legacy code. Can the students read it? Can they find flaws? Identify how to refactor and optimize it? No one uses just their own code in the real world.
4. Jumping into large code bases
Similar to above, can the students be given a code base of hundreds of not thousands of files and figure out where to go to add certain capabilities?
5. Testing
This should arguably be its own class. How to test different languages, different types of needs within code, how to test other people’s code, how to know if tests are adequate, how to use popular testing tools, etc.
6. Communication
Can you explain your code to someone else? Can you explain why you chose a certain way to implement things? Can you receive feedback (like you would in a code review) and integrate it?
Can you think of any more? Feel free to add!
Have good resources for learning any of the above? Feel free to share!
• • •
Missing some Tweet in this thread? You can try to
force a refresh
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.
Are we doing enough to protect our data? Are we responsible for our data being collected and used? Is it bad to depend on big tech?
🧵⬇️
Everyone has some amount of awareness, on a scale of little to lots, about how our data is collected and used by the technology we use.
Yes, even the least tech-savvy people. They know that passwords can be stored, they like the ads they see, and map apps require location.
Then there's the other side, with tech and infosec professionals. We talk about data privacy and security and protect data for a living. What are we doing in our personal lives? Are we implementing what we know? Are we able to teach others how to protect their data?