What are some skills you learned outside of college that helped you in your field of Engineering?
While college education is a must in today's job market, what are some skills you learned outside of your schooling that helped you as an engineer in terms of competing in the job market? #engineering #electrical-engineering
Both excellent answers.
I would add the following:
Focus on the customers (even if they are internal). How will they be using what you are doing? Ask them if you don't know. People love that you are interested in their needs and will gladly tell you. Even if your task is "narrow" at first, understand how it fits in the bigger picture.
Try to think in terms of solutions, not just questions when you don't know what to do. Try to bring your manager your best shots at how to solve a problem. This is where knowing your customer's needs and wants can be helpful, as the answer isn't always a technical solution. By the way, your manager is a customer of yours too, so know his/her needs and problems he/she faces in the organization. You will really separate yourself as a technical person and your manager will appreciate and be happy when you come to visit, which you should do proactively, not just when they ask.
In every job, there is some level of vagueness and non-definition. Less so at the entry level, very much so at senior levels. In fact, I could argue that the ability to handle more and more ambiguity is what defines a senior contributor. Seeing the big picture helps you give structure when you don't know quite what to do. Don't be afraid to ask questions and if the answers don't help you, keep questioning. If the organization you find yourself in, isn't receptive to your questions, find one that is. As you gain knowledge, try to apply what you know, to form the question in a way that is more readily answerable, as opposed to "I don't know what to do" (which may very well be your feeling).
Make friends at work. Be open to interactions that are not just business oriented. People like to help people they like. Approach senior people too. They have a need and desire to help younger people as they end their careers.
When people are not helpful, assume they are confused themselves or their are other issues in their lives not related to you. Keep trying (in different ways). Don't assume they just don't like you.
Be broader than your role, whatever it is. Be the one who non-technical people approach to explain. If you find yourself in a very narrow job definition, do more. Either the organization will appreciate and acknowledge you or you bring that broader experience to the next place. And, you'll enjoy what you do more.
Best of luck.
Looks like teamwork, writing, and communication are covered -- I second all of those!
One thing that's come into play big-time for me as a software engineer has been automotive maintenance and repair. Here are some skills and experiences from automotive work that have software development analogs:
Doing thorough research before attacking a problem
Reading and following complex instructions and documentation
Debugging and experimenting to find the true causes of problems
Being patient and careful when the stakes are high. Auto repair mistakes can waste a lot of time, break expensive parts, or even cause a breakdown or crash out on the road.
Dealing with and working around unexpected problems that are NOT in the manual (parts that are fused together with rust, encountering a poor repair job from a previous mechanic)
Learning about how the car's different mechanical / electrical systems physically work, and how they work together (going beyond just following instructions to develop true understanding)
I would encourage you get a summer job in engineering while attending university. I had a summer job as a electronic technician and I learned a lot about how to solve problems and work with others. it really helped me when I started to look for a job in my final year at college and getting my first job.
On the technical side, writing code in the open-source world over the course of several years was a great way to gain experience in coding in general, as well as in team projects and even some project management/technical leadership. (Note that coding encompasses not only Java/C/C++ but also scripting languages, from Perl/Python on down to awk/sed/bash/sh.) Similarly, installing Linux from scratch, configuring a custom kernel, and maintaining several such systems over multiple release cycles, all proved useful in several subsequent jobs. And being able to find one's way around a hex dump of a binary file also comes in handy surprisingly frequently (though perhaps less so for an EE).
Technical writing is something you may or may not have taken as a class, but the only way to get proficient at it is to do it regularly, get feedback from others, and refine/reword/simplify/etc. until writing well becomes second nature--especially if you have spelling or grammar trouble! The tools vary widely; wikis are common both in the corporate environment and on the Internet (and Wikipedia is a great place to hone skills, both writing and editorial), but conference papers and internal memos may require TeX or LaTeX, Google Docs, a commercial word processor, or even plain text.
And I'd echo Matt's bullet about discipline: hard work and the ability (and willingness) to see something through, even if it's not the most fulfilling task, is critical. Once you've gained some seniority at a workplace you may be able to call some of the shots, but when you're just entering the workforce, either dropping things because they're boring, or taking too long to finish, or even just grumbling excessively, all gets noticed, and not in the good way. (That doesn't mean you have to suffer silently, but learning how to express your frustrations in a constructive, professional, non-public way is possibly one of the most difficult yet most critical skills to learn.)
I had a great engineering education, but everything that I know about how to practice engineering is stuff I learned on the job. I had part-time jobs working as a programmer while I was in school. It really helped me a lot to see how what I learned in the classroom was connected to solving real problems. There is so much about the practice of engineering that you can only learn on the job. While you are still in school, try to get a job outside of the university working in any kind of job at any company doing something related to the type of engineering you are studying. I cannot overstate how important that experience was to my career.
Teamwork. Working in teams as large as 120 people, with diverse backgrounds, experience and specialities. This teaches empathy and communication.
Discipline. When you're in school / college / university you can hand things in at the last minute and if you get a lower grade, that's generally okay. Outside school your boss, teammates, customers and investors aren't satisfied with "good enough." You have to have the discipline to make it right the first time.
Leadership. This is something earned, not given. You can be given authority and responsibility, but you must earn leadership. Leadership is about creating the right environment for everyone to succeed, and thus the project succeeds. (Managers do things right, leaders do the right things)