16 ms·
This is my career so far in a nutshell. I’m an average programmer. I’m an excellent problem solver. I have an above average work ethic. I’m an excellent com
by wjossey 6y ago
This is my career so far in a nutshell.
I’m an average programmer.
I’m an excellent problem solver.
I have an above average work ethic.
I’m an excellent communicator.
Basically, I combined all of these traits and found roles that leveraged these traits to maximize my impact.
Not for nothing, but this is why my liberal arts college was profoundly impactful for me, despite not getting a “top tier” CS education. My writing abilities were given a shot in the arm, because I had to write so many analysis papers for my government minor. My understanding of human behavior was expanded by my psychology courses. My understanding of how I should never design a UI was solidified by how poorly I did during a year of art classes.
Some days I wish I was as strong mathematically as my friends who went to MIT, or as talented with programming languages as my friends who went to Cambridge, but each one of us have been able to have successful careers, despite our differences in breadth/depth.
- j45 6y agoAn HR leader once shared with me: "Because every hire is a compromise between available candidates.. there is no perfect hire, and no two candidates are truly comparable." It's really an eye-opening statement for tech roles, and how formally taught and self-taught/transferred folks can work side by side successfully. The unique thing about tech skills is there's more than one valid way to solve a problem or do something "right". It's hard to measure that. Not even two CS majors who may be equivalently capable (in different ways) on the outset will be identical, nor will be the outcome of how they grow their strengths and capabilities. I look forward to HR continuing to evolve better to understand technical roles and contributions as being beyond a binary yes/no measurement. Current hiring practices continue not to extend well from a bricks and mortar approach to a abstracted online/digital measurement. In the meantime... knowing how to leverage and communicate your skillet in a transferable way is really what's important. There's no better way to do that than learning to write and communicate well, and better than others.
- triyambakam 6y agoIn terms of concrete specifics, I've found having interviews with at least 3 engineers on the team you will potentially be working with to be really helpful for both sides to evaluate, and more specifically when the interviews are pair programming problem solving. You get to see how the candidate works through a problem and they don't have to code for an exact solution (or I don't think that should be the requirement anyways, it should be more about approach and communication than an exactly correct implementation , especially given limited time)
- j45 6y agoWhiteboarding architecture/approach is in my mind as important, or more important than memorizing things for coding tests. Clever architecture will almost always beat and outlast clever programming. Knowing how to best approach a problem is more than half the battle.
- jrumbut 6y agoThis is also why processes are often not transferable, because the people are different. Better leaders are always taking stock of what they have or don't have and reorienting the process rather than trying to stuff the new team into the old process.
- j45 6y agoGood point. The only way a process stands a chance is if it's person agnostic, which can introduce a different set of issues to navigate.
- jrumbut 6y agoI don't know about in modern times but historically military leaders had a lot of interest in person agnostic processes. Caesar's book is all about what he does to avoid relying on anyone having special talents. Startups, and riskier technology ventures generally, seem to be the opposite. There you aren't Caesar, you're the Gauls. You're hoping that your team has just what it takes to overcome the odds.
- j45 6y agoStartups rely on Generalists who can specialize until the scaling happens, then it's about specialists who look to grow into generalizing/broadening. Different skills needed for different stages of growth and not everyone can switch gears or have the range in transmission, founding leaders included.
- mettamage 6y agoHow do you do leverage these strengths? I have a somewhat similar profile and I simply feel like a fish judged by its ability to climb a tree. Yet, I: - Help with hiring/marketing/leading scrum sessions (when the actual scrum master is ill) - Conduct pentests - Do the frontend and backend (what I was hired to do) If they'd let me, I'd help with the writing efforts as well as my writing ability is better than that of the average developer, if I have to believe my grades on any report in any degree that I did (game studies, psychology and CS).
- econnors 6y agoNot OP, but had a similar experience. The key, I've found, is figuring out the role that maximizes your strengths, and converting your current role into that (gradually) or finding a company that has a position that matches. For example, I loved a lot of aspects of being a PM (leading the team, breaking down complicated tasks/releases, designing great UX) but am an engineer at heart. So I worked with my PM to take over responsibilities that leveraged those skills, and then I used that experience to get a new role where I'm able to do those same things to a greater degree (at a company now that combines typical tech lead + PM responsibilities into one).
- feteru 6y agoHow do you balance both of those roles? Do you take on a smaller portion of technical work and "manage yourself"?
- syndacks 6y ago>How do you do leverage these strengths? What is your goal? I identify with the parent comment here, (the parent of that too) and feel like I've reached a point where the most obvious answer to your question (on leveraging strengths) is management. If you can code, project manage, and communicate effectively with [non]tech people and don't mind the stress of dealing with other people's issues, then it might be up your alley.
- mettamage 6y ago
- outworlder 6y agoI suspect that also goes for products as well. An iPod A phone An internet communicator
- TheRealNGenius 6y agonice. I understood that reference.
- dominotw 6y ago> I’m an excellent problem solver. Don't mean this to be a mean comment but how did you assess this? I think i am good problem solver but i don't know if i am better than anyone else.
- taylorlunt 6y agoProblem solving ability is basically just IQ.
- georgeecollins 6y agoIf that were true, everyone with a very high IQ would be a great poker player, a great negotiator, a great writer, a great leader, a great investor.. etc. IQ is as proxy for problem solving if the problems look like a standardized test. The problems people face in the real world require more specialization and a more complex combination of skills and traits.
- gucciTheWizard 6y agoIQ is a general measure for pattern recognition. Most modern IQ tests are heavily dependent of things like ravens matrices. Pattern recognition in obviously helpful when problem solving.
- nassimslab 6y agoIs IQ really legit? I heard form Nassim Nicholas Taleb that the math used by psychologist is weak.
- wesleywt 6y agoIt's not. It was originally used to find profoundly disabled children. But know extended to be the be all and end all of intelligence. It's weak science.
- anthonypasq 6y ago
- munk-a 6y agoBeing an excellent communicator is a great virtue to have and something I come to value more and more in co-workers. Once upon a time in my career it was standard for devs to wander off into the woods to painstakingly craft a wonder over 3-4 months, now collaborative working is the thing and it's far more productive. Those people who have the right balance of not being constantly dependent on others but knowing when they need to tap someone in and, specifically, knowing how to get someone up to speed quickly for that tap in - those people shine brightly. Being a good communicator is probably what I'd ask new devs to focus on the most - it's going to pay out a lot more than an encyclopedic knowledge of algorithms or creative problem solving and it's the only skill that everyone on the team greatly benefits from.
- syndacks 6y ago>Once upon a time in my career it was standard for devs to wander off into the woods to painstakingly craft a wonder over 3-4 months Care to elaborate on that more? Curious to hear what kind of work streams you were a part of, and how they differ from the more 'collaborative' norm of today.
- munk-a 6y agoFor a while I was employed at a shop that was a sort of unified platform and on that platform we would support a number of tools - these tools were usually developed by contractors that would get a complex set of business rules and build a solution to fit - then we FTEs would take care of the plumbing and platform tech debt... Unlike how a lot of places like that might look with outsourcing our contractor pool was pretty steady so while they didn't technically continuously work for the company they were essentially co-workers. It was an interesting place to be but suffered greatly from a lack of permanence in the roster - for a few years tings were great - then some of our regulars moved on and were replaced with more flaky people. I assume it was just the specific mix of folks that made that setup sustainable while it was.
- collyw 6y agoI agree. And over time I have realised that a good team player is far more valuable than an algorithmic wizard who is a prima donna. The problem is no one interviews for that.
- ubermonkey 6y agoI, too, have had a pretty successful and rewarding career in software with a liberal arts degree -- but I'm also 50, so when I entered the workforce in the early 1990s, lots of (at least American) university programs were still super behind what was actually in use in the commercial world. Many of my coworkers over the years had only 2-year degrees, or in a couple of exceptional cases no degree at all. People my age mostly learned to program on our own, as teenagers, starting with BASIC and then going deeper, so by the time we were in a position to take CS 101 or whatever we balked, because spending time listening to a professor tell you about writing a bubble sort in FORTRAN just isn't interesting or applicable when your hobby project is writing your own text editor or whatever. So yeah, lots of people my age have liberal arts degrees -- political science, English, foreign languages, history, whatever. The secret advantage of that background is that we can usually write and communicate WAY better than the CS grads, which turns out to be immensely useful. The tl;dr is really "understanding how software gets built AND being able to describe it to both technical and nontechnical people opens up lucrative career paths."
- alexpotato 6y ago> My understanding of human behavior was expanded by my psychology courses. Lee Iacocca [0] in his autobiography states that his minor in Psychology in college was the part of his education that was most useful to him as he worked his way up the chain at Ford. I highly recommend his autobiography as well. [0] - https://en.wikipedia.org/wiki/Lee_Iacocca https://en.wikipedia.org/wiki/Lee_Iacocca
- kyawzazaw 6y agoI go to a liberal arts college studying CS too. I don’t know if I can accurately attribute what I learned in college to anything but I have broadened my scope a lot. How do you suggest to make good use of this situation/setup?