What to do if you're just semi-technical?
I enjoy writing code and the world of software, but I'm by no means an accomplished or brilliant developer. I can hack my way around some HTML/CSS and JavaScript, but I couldn't deploy anything more than a single-page application.
I also enjoy music, acting, singing... but I don't think I was born for the world of the arts. I want to make a real impact through technology, and the things I care about are problems that can probably only be solved with computers and money.
Georgia Tech pushed me to be so specialized that I quickly changed my original major (Chemical and Biomolecular Engineering... I was a chemistry whiz in high school) to International Affairs, but even there I didn't find happiness, so I eventually dropped out of school.
I've had some jobs I enjoy, but none of them that really thrilled me. My favorite job was probably the year I worked at Apple retail in college, because I got to explain technology to people and change their lives in some small way.
I've done sales, support, and now work on a QA team, but none of these things feel like my passion, my joy. These are just jobs, with no semblance of a career path. I have ideas and goals of starting a company, but am unable to build everything myself, and lack the financial resources to hire anyone to help me.
My brain bridges the gap that our culture has between highly technical people (developers) and those who need to understand the outcomes and requirements (everyone else)... but I lack a college degree or any kind of real experience in product management.
I'm 25 and I feel fucked. Has anyone else been in this situation, and what did you do to get out? Did you go more technical or less technical over time? I feel torn between what feel like different paths, and wish I could integrate both sides into my work.
Relevant: http://imgur.com/WeMCypL
86 comments
[ 2.9 ms ] story [ 162 ms ] threadHowever, I'm not sure what you mean by "semi" technical. To me that would be someone who is a decently skilled programmer and could hack together an app without it being really well written code. You say you couldn't write more than a single-page application, and if that is really the cap of your abilities (and it's almost certainly not, you just need to spend time learning) then I wouldn't quite qualify that as semi-technical.
I guess I'm technical... but I'm friends with very technical people, so I feel at a loss. The jobs I'm applying for (and getting rejected from) are at world-class companies and startups. I don't want to set my sights lower, but maybe I need a slightly different angle of trajectory.
As human beings, we all spend a lot of time agonizing over the path not taken, and that's not limited to our career choices. I've slowly come to realize the paths not taken were usually no better than what I actually did, it was just easy to imagine the counterfactual as paradise.
I used to think I hated computers.
Then I thought I hated code.
Now I know I just hate having a boss.
If you find yourself changing job roles a lot, but remaining unhappy, maybe the specific subject matter isn't the problem. Maybe you need variety. Maybe you hate working in a hierarchical structure. Maybe you hate groups, or hate working alone. You're the only one who can figure this out.
I have never been completely happy and always think its because I haven't got to do what I really wanted to. Towards the end of my first position at Raytheon I wanted to do digital hardware design and FPGA development. I have never been able to get there. Maybe that really is what I want to do. Maybe I do need variety. I'm not sure. I do know that I get much more excited reading about new sensors for accurate oilfield seismic surveys than I do reading about new algorithms for partitioning distributed graphs.
I ended up co-founding a company and we received grant money which enabled us us to bring on a CTO. I've learned a ton working side by side with him but still can't deploy a rails app easily on my own.
I would say you have two options. 1. Push through and spend some serious time teaching yourself what you need to. Take advantages of all of the resources easily available online and connect with friends who have experience in CS and are willing to help you through your problems or 2. Try to find someone who is technical but in the opposite position as you. They lack design and/or marketing/sales skills. Do NOT try to get them to work for you but instead work together so you can leverage each others strengths and improve each others weaknesses.
Good luck!
So, with that, there is a burgeoning field that combines business and technology - think of it as being a "translator" of sort, turning jargon into actionable business information. There is also Project Management, which is where most semi-technical folks go to and end up earning twice what most developers do (and end up becoming their boss).
So, keep learning and move into project management where you'll work with both the business side and technical side alike while getting paid handsomely for it. That's my advice.
I've always believed that you have to make yourself relevant to the position that you want, and then shoot for the one above it. Hell, I'm a college dropout raking in 6 figures a year and I get paid to hack away in Python and travel the world to teach people about our robot systems. It's truly a dream job.
Does this field have a name? It sounds like what I enjoy doing.
. Start a business that can scale despite technology. Pen, paper, lots of talking - add tech later
. Use a 'content framework' such as Drupal - it can cover a wide range of business models where storage and viewing of user data is required
. Learn to code, voraciously. By the time you're 30, if not before, you'll be ready to put together something of much greater value
You're hardly out of the gate at 25. If you think tech is where your interests lie, after double checking with the other fields you've tried, then face in that direction and start walking. It's that simple.
It sounds like you enjoy working with/around less technical people, and helping them out in the tech jungle. Have you thought about setting up some form of support shop that targets this audience?
I want to be involved in the making of things, but my core competency lies in the translation, explanation, and education around those things. So, my natural trend has been toward support / sales / consulting roles... but I'd really prefer to do those things at a product company where I have a more solid backbone I believe in than just jumping from problem to problem (I wouldn't do well at an agency).
The things I care about are open education, freedom of the internet and economy, and making the world more beautiful through obsessive product design (physical or software). I just want to work on something I care about.
There is a common misconception that "startup" == "software business". You can build multi-billion dollar companies that aren't primarily reliant on software (think Starbucks!).
I do think that passion and excellence are important. So try and focus on the thing you're great at (hint: it's probably what you enjoy doing most). So if you like talking to people and helping them solve their tech problems, maybe that's where you should start.
I have a friend who's in his mid-thirties and had spent more than a decade trying to be a "hardcore code". Recently he decided to focus on what he likes most - which is talking to people. He's now got a great business going selling other people's software and making good recurring revenue. Most important: he's having the time of his life.
So don't focus too much on code or being technical. You can go far on something like enjoying talking to people and solving their problems. If you want more help I can tell you about my friend's business (he seems to have been in a similar position to you) - drop me a mail malanj_at_gmail.com
I was a developer for the first 4 years of my career, but I've spent the last couple years doing sales and marketing. It turns out a really enjoy them, and my technical background has been enormously helpful while working at a technical company. For me, my technical knowledge is now domain expertise: I understand what our customers have to put up with, and I understand why our solution [1] will help them. My day-to-day is decided non-technical, and I intend to spend fewer and fewer hours writing code.
In short, I'm interested in working in technology forever. I'm interested in it as an industry, because I like the problems there, but not as a profession, because I don't like the altitude of problem-solving when you're the one writing the code.
I don't know you well enough to tell you what to do, but it's worth separating what you enjoy day-to-day and what you enjoy about the mission of the place you work, and figuring out how much each one motivates you. I enjoy the day-to-day aspects of marketing and product marketing enough, but I love being part of a company that I feel solves a real problem using cool technology.
My question for you: if you like explaining technology to people, is it because you like working on the story, or you like the personal connection?
I like being involved in the creative process, and the long, late hours with the team, but I also like that moment when I get to share it with customers and users...
I don't really know how to answer your question other than that I want to enjoy the mission / goals of a good product at the same time as being involved in the outcomes.
But what should you do? Well, I suppose you need to decide if you want to become more technical in some subfield, and what field that would possibly be, or if you want to learn the metaskills of managing projects where you are semi-technical in the sense that you know a lot about the project you are managing, but could not put it together yourself.
Note that these are complementary skills, so you can have both (and often should strive to have both).
As a technical person I would tend to think that the easy path towards a less-technical managerial position would go through an entry level technical position, but that is certainly not the only way.
Good Project Managers, Business Analysts, or Development Managers are much rarer than good Developers IME, and overall much more important IMO.
I'm a Developer. My wife is an Senior Operations Manager (head of the Business Analysts as well as some other roles). If I had to pick between having me on a team, or her, I'd pick her in a heartbeat. And there's not developer I know or have worked with that would make me rethink that choice.
Because she can make a lot of "OK" individuals and build a "Great", effective team.
IME you can easily have a number of "Great" individuals and end up with a "Failing" team without the management piece.
Also, this is maybe just me, but it really gets under my skin when I hear "great managers are there to run interference and give developers the room to do great things". That's absolutely false. I've been a Manager. I've tried to do that. It only ends up in failure. You do that and all you'll get are half baked projects that blow the budget nine times out of ten.
Great Managers delegate. They don't try to code. They get metrics. On everything. Just like the unquestioned advice about getting metrics for every aspect of your application, it's even more important to have metrics for your development. How long does it take to add a Form to the application? Is the Database involved in this Change Request? What does the Deployment Procedure look like? These things are in fact quantifiable, estimatable and predictable given experience and data if you know how to break them up.
Give people room to spike something, but when it isn't working out use the data to see that and kill it so you don't end up in a swamp. Don't try to be a Developer and a Manager at the same time. Until you've done every bit of your job you could possibly do in Management you don't get to go on recess playing Developer.
My wife's RFPs deliver within 93% of the hours estimate. It takes money to get there, but you put the effort in ahead of time, while it's just paper, when Change Requests are cheap. You try to avoid iteration of code during development because it's 10X the price at that point. You're able to plan budgets, quarters, quantify contributions, get people compensated fairly, make sure no one is ever working nights or weekends.
The worst slogs/most expensive projects I've ever worked on have had the least planning and most iteration during development. The best projects, where you felt you actually accomplished something every day, where you could see the light at the end of the tunnel because the whole thing was estimated and so far you're able to fairly accurately predict the accuracy of the estimates, have been far and away the most successful both in cost and client satisfaction.
That's my experience anyways.
All that just to say: If you're interested in the Software Development field and want the best chance at having an impact, changing people's lives for the better: Be a great Manager. And that's not necessarily the one the "cool" developers think you should be.
I've gotten the gist of these lessons from a software engineering class, HN articles, and from my internship (at the same company), but I'm still not very confident about becoming a great PM. Can you recommend any books or resources that covers more of this kind of stuff?
[0] http://en.wikipedia.org/wiki/The_Mythical_Man-Month
When your boss asks a question: Be able to answer it. If you can't, figure out how to answer it. Figure out what you need to track to be able to answer it in the future without being asked.
This is where Agility comes in. Not in throwing out Planning. But in being able to respond to Bad Planning by incrementally improving your process and understanding until you've got Good Planning.
You're not going to walk in the door on day one and toss out a plan that lines up actual to estimated hours at 93%. But with that tenacious follow up and follow through you can get there.
And it's not just for the boss. It's awesome as a Developer to know that I'm 50% done. That the requirements have been met for the 50% I've delivered so far and I won't be constantly going back and reworking code because someone didn't put in any effort ahead of time to think this damn thing through.
Rework is the death of budgets, team happiness, and will bring about the zombie apocalypse.
Also, meetings are an important, efficient way to dig through tough problems or keep stakeholders up to date and involved. If you feel like your meeting are wasting time, then maybe you're just not managing your meetings well enough. Or maybe it's because it's not all about you. Maybe it's a little bit about Bob the Developer transitioning off another project that just wrapped up and onto this one, or Trisha the Account Executive who has her weekly status update with the client tomorrow. Or discussing the great success or disappointing failure of spiking this new library.
I think of Development Team meetings like Pool Maintenance. Sure it'd be nice not to pay the Pool Guy to come out and check the water. If you could only pay him for "real work" that'd be great. But that's not reality. And if you're not daily spending 15 to 30 minutes testing the water with a: "What did you plan to do yesterday? What did you actually end up doing? What do you plan to do today?" then you're likely blowing a lot more than the 15-30 minutes * N Developers with people floundering, getting tunnel vision, people who need a helping hand, maybe just need a break, making sure Bob is aware of the utility classes Tammy just developed so he doesn't go off duplicating effort, etc.
It's about fostering communication. It doesn't happen by accident. If you find it's happening and effective without the meeting then by all means re-evaluate. But don't do that before you actually have the data to prove that. Because the risk is much greater than the cost.
And managing risk is what it's all about. You do that right, and your odds of success go up ten fold. That doesn't mean don't try anything new either. It means weigh your options. Timebox. Reinvest in your product and your team, but don't get so distracted you forget why you're here.
That said, I highly recommend The Innovator's Dilemma[0] and Inspired: How to Create Products Customers Love[1]
[0]: http://www.amazon.com/The-Innovators-Dilemma-Technologies-Ma... [1]: http://www.amazon.com/Inspired-Create-Products-Customers-Lov...
Good luck!
0: http://scottberkun.com/ 1: Now called "MAKING THINGS HAPPEN: MASTERING PROJECT MANAGEMENT" http://scottberkun.com/books/#post-52
Also, I agree with most of it, but I would argue that the best teams I've been on have at least one extremely competent developer, even if not necessarily a great one.
Why? Because I can articulate the product vision and goals working closely with that developer, and together we can make sure the other developers are developing as required.
In an ideal world developers would have all the domain and functional knowledge required to not need people like myself. But the truth of the matter is, that the higher up you go, the more specialized you become, the more you need to do only one or the other.
There are only so many hours in the day - you can either hone your skills as a developer or develop the expertise of keeping multiple business stakeholders happy while holding your own against developers and delivering in a consistent fashion.
I still think your job is more important though and I'd rather work on a team with great management than great developers any day given an either or choice.
Have been dabbling in design, development, seo, marketing and petty much anything web/business related since i was 20 years old.
I also felt that i was in between an average computer user and super technical genius and wondered how I could use my skills to move forward while there were so many highly technical people out there.
One day i decided to start aiming for higher responsibility positions that would force me to grow and adapt, i only did this because i knew that i was the type of person that picks up skills fast and sees the job through.
I went through a few positions as a developer/designer, content writer, marketing manager, SEO manager and finally after 6 years i stumbled into project management for a development/design company and now i truly feel that i am using all my past experience and varied talents, so the past feels like it was an investment of my time.
Our company is small, at around 50 people, with 45% of those people being developers and I am now learning skills related to PM and people skills like motivation, dealing with bad seeds and building relationships. I am able to use my technical skills to translate client requirements to our developers and designers and also able to consult with clients to provide solutions based on my past experience.
You'll need to simply put value in what you know right now and think to yourself, i've made it this far and am willing to go further, so..... where do i want to go? You may choose going more technical, getting a degree and becoming a full time developer, if thats what you see yourself doing then go for it, anybody can learn to code. But it seems that you have not went that far for a reason and so you should think hard about it before investing your time into something you dont want to do for a long time.
Good luck whatever you choose.
BTW, i make $80k+ a year and thats actually pretty low for my position.
Go in the directions that interest you. The education and business systems are not designed around people like you. Get over it. Find challenging areas that suck you in and keep looking for the things that suck you and you will have a great time and it will all be worth it.
Stop comparing yourself to the specialists. Specialization leads to smaller and smaller gains. Generalization leads to larger and larger gains. But the generalist must work harder than a specialist to realize those gains (they are bigger gains right?)
Pursue the things that excite. it doesn't have to matter why they excite you. If you do that, you will do fine. Don't beat yourself up about it. You are not going to become a specialist... EVER. So go do the thing people cannot see because it requires you to approach it from so many different angles.
Make your own path. Believe in yourself. Be bold. Move fast. Have fun and play. Specialists do not get to play in so many areas. YOu do, so enjoy yourself.
I would recommend taking a look at a mid to large consulting firm that does strategy work AND software development because most of the work you might enjoy typically shows up between those two areas. Make sure you tell them you want to be client facing if you like the people interaction. Good luck. Don't stress too much.
First off, I'm 29. I already feel like I'm a failure because I'm not Mark Zuckerberg rich at my age. Get in line!
> * I have ideas and goals of starting a company, but am unable to build everything myself, and lack the financial resources to hire anyone to help me.*
Great, so we've identified the main problem (I've been there!). Here's something I've learned - people who are technical will respect you much more because you do have a technical understanding. So all is not lost in thinking that you can't find someone to partner up with. Think of the whole technical/non-technical challenges like this: it's like walking into a French restaurant and asking for a cheeseburger in English. If you are able to throw at least a rudimentary understanding of French ("un cheeseburger, s'il vous plaît") you signal to the waiter that you want to talk on his level. This has less to do with your ability to speak fluently and more about respect of the person's craft/culture. In my experience techies love this. You know what they hate? They hate non-technical people coming to them and saying "Oh god that's so easy, you should be done with it in 5 minutes" or "build the next facebook with me! it's easy!". So you've already got a leg up on 90% of the people out there.
The most important thing here is to continue to search for what you enjoy. Some people find this at 18, some people find it at 60. Don't be discouraged if your path isn't equal to what you perceive everyone elses is. Stop reading TechCrunch dreaming about how or why you aren't the next 30 under 30 who just raised $50m in VC funding. Just get out there and build stuff people like.
Good luck!
I am kinda like you. Actually I am like you except that I am a little older (32). I majored in CS but for some reason, never enjoyed programming while in college as much as I enjoy it now. Weird but true. And I don't even do hardcore programming in my corporate job anywhere. On the side though, I have started doing a lot of programming. In my corporate job, I am defined as a "Technical Business Analyst", "Technical Project Manager" etc. Basically, I am not a developer and I am not a business user. I am somewhere in the middle. You could potentially look at that as an option. You get to do some techie stuff like writing SQL queries, VBA, scripting etc as needed but more importantly, you focus on getting the business requirements translated/developed into the final solution and you work your way through the entire process. You are involved in the entire life cycle phase.
"I am 25 and I feel fucked"
Don't feel that. You are not f'cked. You will get wiser with age and realize that there is no silver bullet to anything. Everything is a choice and there is always a cost to every opportunity. What matters is that you grab the opportunity that interests you and create something out of it.
I got enough knowledge to be considered a techie, but I don't have a passion for programming (although I enjoy the challenge), it's a mean to an end to me.
I feel a bit overwhelmed when people start getting hyped over stuff such as stating typing vs dynamic // how cool Haskell is and the whole shebang.
I'm in a position which sits in between, half peoples skill - half technical.
The issue is that I'm working (not for long anymore, I'll be free in a few days) for an outsourcing group and it sucks to get stuck.
I'm gonna try to get back in the game and see how it goes from there.
i am 25. i teach in the humanities, but i'm not interested in a degree there. i love acting. i used to act. i'm currently:
soldering an IBM model F keyboard to a USB board so i can daily-drive it.
lusting for a lisp machine.
ordering an FPGA so i can write my own lisp machine.
reading psych books on the off-chance that i become a therapist.
inhaling everything Alan Kay that i can find.
leading communication workshops so people can communicate more how they want and less how they don't.
i see connections and a narrative among these projects (uhh sometimes) but i can't explain it to anyone else for shit. i really suck at it. it gets me down because i think people misperceive me as aimless. i'm not aimless.
this blog post spoke to me: http://sebastianmarshall.com/fundamentals-and-novelty-seekin...
i'm constantly looking for distractive life-hacks (cheat codes). i should be working on my fundamentals. i subconsiously believe that all my weirdo historical hobbies will come together to make me cool/money/content/dunno. those are weirdo hobbies and self-improvement/help tricks, though. i have one fundamental right now:
learning clojure.
it's a fundamental because it's more difficult than the others. this will be the first programming language i really learn. all that other shit (BASIC c++ java bash elisp c assembly python vimscript) was forced on me or learned as a hobby or learned so i could do something else. because I Am Learning Clojure to be a Professional Programmer, when i'm programming in it i'm thinking "i'm doing the right thing" and "i wish i was learning verilog/freudian psych/arduino C/[hobby thing]"
because there's nothing at stake when i learn a stupid hobby, but there's everything at stake when i'm learning the thing that'll eventually pay the bills. my advice is: recognize what you're bad at that you want to change, do the embarrassingly hard work to change it. could be programming, could be anything else. i feel for you.
i started talking about you, and i ended up outlining my problem. hope this helps. if you're in my city, hit me up.
There's an entire, gigantic world of production companies filled with people like you, people who hate traditional enterprise, who want to work on something meaningful, who would love to have you. It's a hell of a lot of work, but jack-of-all-trades technicians is exactly what they're looking for.
A good way to find them is to volunteer at local theatre companies and ask around. I used to volunteer at Dad's Garage and the place was a veritable hub for anyone looking to get kickstarted into entertainment. If you're still in Atlanta, you've got nothing but options.
Trouble is, I don't know any of those folks to get a foot in the door. I feel like my dream job would be as an indie dev / voice actor / DJ / product evangelist / non-profit spokesman... if we're talking about dreams.
I used to perform at Relapse Theater and know a few of the Dad's Garage folks. Doing improv and standup were some of my happiest days, I just don't have the time to focus on it with my current job. That makes me very sad. Like something is missing from myself.
Reach out to some of your contacts. Let them know what you do and what you're capable of, and ask for advice on how to get your foot in the door.
Whatever it is they say to do, be sure to follow up on. And every new person you come into contact with, let them know what you're trying to do and fish for more steps to take to break in. It's too easy to just let helpful advice go unheeded out of sheer inertia. You gotta shake that crap out of your system man. In entertainment, everybody is expected to take the initiative, you can't just wait around for people to notice you.
Oh, and if you're serious about voice acting, try the folks at YourACT. http://youract.tv I went through their screen acting class and they're just lovely folks. That place is an even bigger networking hub than Dad's Garage is. I didn't know you were leaning in that direction or I'd have suggested it in my first comment.
Putting in the time really matters, don't think of being technical as a skill someone is born with. It's really about an intimate knowledge of the technology and no one is born with an intimate knowledge of technology. You also need good judgement and hopefully your social science education taught you that. Don't underestimate the value of what you are already good at. Keep at it.
Well, it's not exactly along those lines, but I always thought a good business to start would be a screencasting service. Lots of companies need demo videos, and few people I know like to create them.
I wear all hats. My problems are not technical.
I have a problem with reality -- prison or something fucked up.
There is no more technical work to do.
Fuck.
Wait for God.
God says... not_good What_are_you_doing_dave left_field exports happy smile Shalom ROFLMAO fancy Isn't_that_special I_didn't_do_it you_see_the_light one_more_time Oh_Hell_No I'll_think_about_it genius huh Vegas yeah smile end glam comedy ghetto my_bad
When I started I thought I would do web apps but I just didn't feel like an engineer no matter how well I learned JS (I read four books before I used my first API). Picking up C and objective C has been far more rewarding even though I've only put one app in the store to date.
Your mind is plastic and needs to be told what to be. Don't settle on fu$&%d.