Ⅰ - Community #
When you think engineer, what traits come to mind? If you’re anything like most people, you probably thought “smart” and “antisocial”. While I can’t speak to how truthful that stereotype may be, I can tell you for sure that in engineering, not knowing how to make friends, ask for help, and talk with others will make you all but useless.
The only way to be successful in this journey is to make friends along the way. Some of this gets really, really difficult. You will get stuck. Having friends to help makes it possible. Find group chats on telegram, join IRC channels, get on some forums, and ask questions on Reddit. Working with people is a lot more fun, and you’ll learn so much more.
While a small community of people you can talk to 1-on-1 is better, having inspiration each day can provide a huge boost to your motivation and creativity, so I recommend following some nerdy news sites. This also helps with staying current on the cutting edge and security issues. Some sites I use nearly daily for finding good, new material are:
(There are many more links in Appendix A3 - ‘Other Great Resources’
Oh, and to mention it now
Yes, there is always a relevant XKCD, and yes, you will always feel like everyone knows more than you. Don’t stress about asking stupid questions:
Frequently in chats, whether telegram, IRC, slack, or discord, someone says something like this:
How that question is often read:
Hopefully it’s clear why questions like this rarely result in direct answers.
- There are very few people who could be called experts in every facet of whatever is being asked
- Imposter syndrome is common
- Most people won’t write that blank check for time/help commitment
- The goal - “Trying to query for a list of tags on a post” - See The XY Problem
- The problem - “I’m getting back these results”
- The expectation - “but it should be these results”
- Any context or previous research you’ve done
- If possible, a simplified example. 3v4l for php, jsfiddle for html/js/css, etc. are great, otherwise a paste site.
- What you’ve already tried
This allows anyone there to try to help. Many skills transfer well to other languages or platforms. At minimum, you might get an idea for something you haven’t tried yet. Sometimes you’ll even solve your own problem while narrowing down the simplest possible test case.
Oh, and don’t snark at well-intentioned answers. It’s rude and discourages participation.
The technical community can be ruthless with it comes to expecting people to have ‘basic’ knowledge sometimes, but don’t let it get to you. I do want to provide some general ideas that, while not universally, are generally shared among the engineering and surrounding community:
Ⅰ - Any good solution is fast, easy to understand, and above all elegant.
Ⅱ - Any task which can be automated should be - if a computer can do it faster than you, then you shouldn’t do it by hand
Ⅲ - Any problem that has been solved in a way that satisfies the above two rules should be looked at for reuse before reinventing the wheel
Ⅳ - Any question which has already been answered should not be left to a human to answer again.
Ⅴ- All knowledge should be free†
† within practicality, trade secrets are obviously a thing, and I’m not crazy. I mean, like publicly funded research and what not. While the specifics of this rule vary among engineering types, it is generally a core belief.
On the note of point Ⅲ…
Though the one I was stressing here was really Ⅳ, you should always check the internet before asking in chat. It’s not that we’re being rude, it’s just a matter of courtesy. If you’re unsure of the answer, or it’s validity in your case, by all means ask, but asking good questions, and only when necessary, will quickly help you make friends in chat much faster. Note, there is one exception: if chat is currently talking about something that you don’t know about and it’s already relevant to the conversation, it’s totally reasonable to interject and ask for a super quick primer on what’s going on or a relevant link. This may seem obvious, but a good number of technical chats die because of exactly the aforementioned problems. (or gatekeeping, but that’s a whole different matter…) so please don’t ask things a search engine can already answer (but don’t feel bad asking a question when the all mighty Google can’t)
TLDR: RTFM & STFW http://www.catb.org/esr/faqs/smart-questions.html#rtfm
Finally, and I can’t stress this enough, I think balancing your creativity among other interests and looking for ties between them can lead to more good than any of the things mentioned above. I enjoy playing music, reading, and writing, so I find inspiration in these media. There are countless electrical hardware and software tools that use hands on programming when playing music. In books, I find ideas for what an author may have thought only futuristic when written. I never know when my mind will strike similar gold when writing for myself. Find a hobby and bend it to this as you go along. Like photography? Learn about the internals of a camera. Like cars? Look up how the ODB2 interface actually works. Nothing is magic and the internet will likely have answers and give you ways to apply this knowledge that you care about.
In general, I’ve found site specific forms and Reddit to be the best platforms for most things, with some others finding their main following in other places though. For example, I’m in a large technical chat group with Furries on Telegram and some open source tools still thrive on IRC. Also, if your reaction to that is “Furries? How can that be relevant?” Well, normally it’s not. Most of what we talk about is just normal engineering-y topics, but having something else in common helps. That said, there’s more cross over in any community than you might think:
No matter what you care about, know there’s a wide range of communities that would be thrilled to have you, and you can always combine what you learn here with any of the other interests you have to make the things you’re passionate about better!
The maker and hacker communities tend to focus a lot on popularity and getting your name out there. While obviously it’s cool to do so, don’t let likes and followers be your motivation. Make cool things to make cool things, and people will come. The number one best thing to see on the internet is someone that is passionate about something sharing those passions. It’s better to have a dozen good friends that share those passions, than 25k followers that just go ‘oh, neat’ anyway.
Art by @Wonivero
Further reading #
(Seriously, all of these are very good)