I'm looking for a full-stack job like Mike Ross has at Pearson Spector
I haven't got a PhD but I can (at least) learn and think on that level. I am looking to learn by doing rather than go to an university and spend the next four years studying books.
What should I look for when searching for this not so standard job? Obviously the person(s) I'll be working with are much more important than the job or company itself.
I can write PHP, Python, js(by choice) and HTML/CSS. I want to learn the ins and outs of bizdev, as well as an ability to test, validate and deploy ideas very fast + grow a product from 0 to +/- 100k users.
I know this sounds much like all the things you do when running a startup, but I don't want to go trough all the obvious mistakes the first time.
22 comments
[ 3.1 ms ] story [ 66.2 ms ] threadHow do you know this? More pertinently, how do I know this? How can you convince others that you are "at PhD level"?
Well, one way to do this is to do something "at PhD level". Build something which (i) is appealing to the kind of people whom you would like to have as colleagues, and (ii) shows your mastery of the full stack (as you define it). Put it up on GitHub, and let others see it. Show them the code, as the saying goes.
What would such a thing be? Knowing what the "interesting" problems are is part of "being at PhD level". So you probably already know what to solve, or it will come to you if you think about it a bit.
Good luck with your efforts!
I think you've misunderstood a couple of things. Or more spefically: I haven't been clear enough on a couple of things.
I know I can think on a PhD level, because I - was smarter in some eareas than my teacher in cs (who had a PhD in cs) - I've worked with people who mastered cs and during that time I felt like I was thinking on the same level as they were. - I could try to do an IQ test but most (smart)people notice whitin a matter of minutes if the person in front of them is equally smart.
The thing you're missing tho, is the following: I'm Mike Ross before he meets Harvey; I can pass the LSAT of cs but can't be a competitive programmer yet.
If i <em>was</em>, I would apply as an engineer at Google and learn these things in my 20% time.
The Harvey I'm looking for must be able to teach me ao things how to be a good one, and at the same time challange me to bring on new clients etc etc.
My advice, go to college for a CS degree. Many companies won't hire someone who doesn't have a degree even if they have "real-world experience". In addition a CS degree will give you a good, solid foundation on which to build your skills. Some of the things you learn in a CS degree aren't well documented elsewhere and are difficult to learn otherwise. If you really are as smart as you think you are then you can take a very heavy course-load to complete your degree faster.
Eligibility for PhDs isn't calculated by pairwise comparison.
It's judged by original research. Which requires a lot of study, a lot of study, just to take you to the outer boundaries of the sub-sub-sub-sub-field your PhD happens to be in.
One subject I was taught in a quasi-postgraduate setting (in Australia we have a kind of mini-PhD called "Honours") was evolutionary systems. In one subfield of that topic, the original paper appeared about 30 years ago. A year later there were a few dozen papers. Within five years there were tens of thousands of papers. Conferences. Study groups in computer science departments around the world.
To get a PhD in that field, you need to exhaustively search the literature -- surveying and reading potentially hundreds or even thousands of papers and projects -- just to figure out what has yet to be researched. Just to get to the starting line. That takes several years.
PhDs are hard work.
http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
I'm just suggesting that, if you're looking to impress a future employer, a portfolio might serve you better than eagerness, unless you're willing to start at the bottom.
"I'm only seventeen years old"
Man, I really miss the good old days when I knew everything as well :)
> I haven't got a PhD but I can (at least) learn and think on that level.
You may think this, but do you have anything to show for it? Have you worked on PhD-level projects?
A bit unrelated, but
> I don't want to go through all the obvious mistakes the first time.
From my limited experience, sometimes it's valuable to go through those mistakes yourself.
I'm around your age and part of a community of developers in high school on Facebook. Shoot me an email (in profile) and I'd be glad to add you to the group.
The reason I say this, and by far don't take this the wrong way, is that mistakes, obvious or not, are an absolute requirement in business and in successful software developers. Reason being, in order to innovate, you need to treach into territory previously unexplored, meaning you need to accept the fact that there is a 95% or more of a chance that something will inevitably break, and it will break badly. Successful leaders not only accept failure, they embrace it. There is so much someone can tell you about their failures, and if you're lucky you may spot them happening to you, however there is no comparison when it happens from your own experience. A good analogy is sailing through a storm based on reading a book, or having sailed through a storm before, which do you think will complete their journey?
I also believe a big part of the so-called "PhD thinking" is they are willing to accept the fact that the 3-10 years of work they put in will be absolutely destroyed by their peers. It's that willingness to take a chance that drives them. Without it most things we know today would not exist
So basically, if you want your dream job, embrace failure and reach for the stars. Make mistakes, fix them, and make different ones
I was (am) you. I skipped college/university 15 years ago because I felt it couldn't teach me anything.
On the one hand, I now sit beside someone with a Masters in Computer Science in a lateral position to him, so I've done OK.
On the other hand, if there's one thing I've observed about mentorships, etc., it's that they don't exist out in the real world. Companies are there to _do their business_, whatever that might be. They don't have time to hand-hold you. IF you want to make great connections, find great peers and mentors, go to college or university and talk to everybody. Do the tedious grunt work... and get the credentials while you're at it.
Entering the workforce with your (supposed) capability AND a degree will make you unstoppable. Also, chances are you may bail on the degree, but you should only do that if you and a couple peers are making something super cool.
Good luck!
Second, I agree with other replies that brought up the Dunning-Kruger effect. You feel that you were on par or better than a teacher of yours that has a PhD. Does your teacher agree?
Third, if you really want to do well in business you should improve your communication skills. Judging by your cultural references I'm assuming that English is your first language. Your post and replies have several typos, grammatical errors, and areas where your meaning is unclear. Why do you point out you don't have a PhD when the reality is you probably haven't graduated high school yet? What does "by choice" mean in reference to JavaScript? Did someone hold a gun to your head and make you learn PHP?
I've worked with good coders that didn't have a degree but having that piece of paper opens some doors. If you're as smart as you claim to be you should be able to get into a pretty good school. Once you're there you'll be surrounded by other smart people. Spending time with smart people has lots of benefits. If you want to learn to run a business you can start one while you're in school. It'll probably fail. Figure out what went wrong and try again. In four years you'll have learned a lot about running a business, made good contacts with smart people, and have a nice piece of paper. If you get lucky and the business works out you can always just drop out.
You have two options: find the job, or create the job yourself.
In order to find this job, you need to first find someone who is open-minded enough to let you learn by doing on the job. They would likely expect to see projects that you have done to decide if you can do what you say you can. It can be relatively hard to find someone at an established company to give you such an opportunity without a university education. Most people follow an established route - they are not trailblazers. Therefore your challenge would be to convince someone to see things the way you do.
If you have a vision of how things ought to be, you need to avoid the first option. This will help you learn/grow fast. Otherwise you would be wasting lots of precious time and be held back from the expectations of others.
The second option is to create your own job. You can either start your company, or join an early stage company. Either case would still require you do be able to demonstration that you are capable of taking action. Your chances of getting this opportunity is much higher in the startup world.
There are pros and cons to both options. You just have to decide what you value most: learning or comfort.
Embrace making mistakes. Learn as much from others as possible, but know that the fastest way to learn is to do, and to do, you will make mistakes. Mistakes are the requisite to experience. It is a healthy and unavoidable part of life. The journey is yours alone and no one can do it for you.
Don't have a portfolio? Build one.
Mike Ross could read along with a text book that he had memorized. If you embody any aspect of him, it's the arrogance he holds to throughout the series, the idea that his gift means he shouldn't be beholden to the expectations of others.
Because that is how you come across. Arrogant, without any reason to be.
The good programmers let their work speak for them a lot more... they know you don't tell somebody you are good, you show them.
Also you should know that your numerous typos do detract from your claimed intelligence. Programming is one place where typos REALLY matter.