conflicted_dev
Joined 10 years ago
Joined 10 years ago
So, naturally, I'd like to make sure I end up at the best tech company (with the highest likelihood of making helpful connections) as possible. To me, this is a step, albeit a necessary one, in the process towards being able to achieve my overall goal.
For the record, I do like writing code. I just hate technical interviews.
Personally, I don't find it useful to perform a rote rehearsal of the material. I'd much rather be able to intuitively understand it because I hope it will help me in areas other than interviewing.
The main point point I tried to get across (somewhat unsuccessfully) is that I need to work in an environment with a passionate, hard-working, highly-capable team in order to justify the time I have spent (and will spend) on software engineering.
The main impediment I've found in turning this goal into a reality is the technical interview. The way I see it, I either improve and make it happen, or I don't and move onto something else.
The thing is, I'm trying to figure out whether if it is really worth my time to continue the grind. Are there other roles that I might be both more excited about and better equipped for? Perhaps. This thread is essentially the beginning of my research process.
1.) I do enjoy software engineering to a certain degree, and even if I weren't in the field, I'd almost certainly still write code from time to time.
2.) This is a bit of an involved question, but I'll try to answer concisely. The past few years have given me a pretty decent idea of what I like/dislike about software engineering. At this point, I believe that the team and process are EXTREMELY important factors in determining a (software engineering) project's likelihood of success. I want to work in an organization where engineers are really excited about their product and/or technology of choice. In my experience, I've found that these people tend to congregate at what most consider to be leading/high-quality tech companies (e.g. facebook, google, airbnb, uber, twitter, etc.).
3. & 4.) A good number of my friends and ex-colleagues work at the aforementioned companies (as well as a few other "top-tier" firms). Their opinions on their companies is overwhelmingly positive and directly aligns with my values.
5.) I understand this, but it is a bit of a blocker if I can't even get in the door, right?
6.) This sentiment is reasonable, and it certainly is difficult to quantify "working harder." For what it's worth, I will say that it usually took me longer to complete assignments than it did many of my cohorts.
7.) Here's the brutally-honest list, in no particular order: - Atmosphere: I find that I thrive when I'm around people who constantly challenge themselves ot be better at what they do - Interesting work: I want to be engaged in my work; at the moment, that means full-stack webdev (JS + react/redux) or super-large scale infrastructure engineering (devops) with containerization - Prestige: having a top-tier name on the resume opens doors, and I'd like to maximize my opportunities in future endeavors - Compensation: The financial aspect is important; I work hard and want to be paid accordingly - Culture: Again, I want to be around people who are generally REALLY excited about what they're working on. Having led a startup in the past, I know what it's like to be a part of the atmosphere where everyone is passionate about their work. Now, I do know that this aspect isn't necessary a given for employees at top-tier firms (especially the large ones).
8.) Skillset: For simplicty'sake, I'll use a 1 - 10 scale where 1 is weak and 10 and strong: - Communication: 9/10 - I focus on this skill as much as possible because I've found that none of my work occurs in a bubble - People Skills / Friendliness: 7/10 - I like people and I like interacting with people. That said, I'm always learning how to better interact with people. - Dependability / Reliability: 9/10 - One of my nightmares is being perceived as unreliable. - Loyalty: 8/10 - It's a virtue and a weakness, but I tend towards loyalty to those who have done me right in the past, be it a person or company. - Pure Coding Skill: 6/10 - I get the job done, but I still have a lot to learn - Algorithms: lol/10 - Still working on it - Ability to learn: 9/10 - This is another trait I focus on. Tech is always changing, and I fully believe that one of the core skills of a good software engineer is to be able to continually learn new things.
At this point, I'm trying to assess what amount of work it's going to take to get into one of the "big 4"-type companies. I also need some way to feel like I'm improving.
2.) I certainly noticed your use of the word "love" in reference to coding. On the other hand, I purposefully used the word "like" instead. Coding is fun. I generally enjoy doing it and I find software engineering to be intellectually stimulating. At the end of the day, I view coding / software engineering as a means to an end - a way to deliver a better product, or make a process more efficient.
With that said, although I may not have this innate love for coding, I am the type of person who, upon deciding to do something (e.g. coding), has to go all in. Maybe that's enough to be a "great" software engineer. Maybe it isn't.
3.) Good suggestion, although if I do decide to go the product / bizdev route, I think I need to spend some time understanding more about how the formal versions of these roles actually work. On the other hand, the engineering route seems a little more straightforward.
4.) Noted. If you scroll up a little, you'll see a comment I made in response to the "big 4" bit. I'm less interested in targeting a "big 4" company and more interested in targeting the ideals that they represent (culture, challenge, quality, etc.). tl;dr: I want to work an environment that will foster my professional growth in relatively specific ways.