chipmonkey75
Joined 11 years ago
Joined 11 years ago
But I digress.
Even in the common context, to be Full Stack, I'd argue that you should be better than the sum of the parts. The lift you get from being able to decide, intelligently and at the speed of thought (without talking to a counterpart on the other end), which pieces of code - optimization, safeguards, business logic, etc. - belong in the front and back end, and how they interact at peak effectiveness, is more valuable than just the ability to build a good API or build a good web page.
Further, a full stack engineer, in my experience, is more likely to reach for tools like websockets, memcached, etc. earlier in a project than typical REST APIs (for example) where the line between back- and front- end require a bit more coordinated architecting, to achieve a richer end result.
But I doubt this is widely accepted. Anyway, my point is I wouldn't focus on either just because; I'd focus on what makes you better by knowing some of both. What can you learn in the back-end to support problems you're familiar with in the front-end, and what can you do in the front-end to make better use of your knowledge in the back-end? That's where full-stack value really lies.
How about the TurDuckEn? https://en.wikipedia.org/wiki/Turducken Or the Pake (PieCaken, Cherpumple, or whatever you call a pie baked into a cake).
I'm at least half serious -- the arts, including culinary arts, is a place to look. The color indigo comes to mind as an older example (even if science discovered it, it was a breakthrough due to its adoption in art and fashion)... lately Black 3.0 (or Vantablack) may have made enough ripples to count.
Have there been Legal or Political breakthroughs? Was reopening the Cuban border a "breakthrough"? Is electing female world leaders a "breakthrough"? Legalizing gay marriage? Marijuana decriminalization? I could make an argument for any of those.
I'd make a list of what you think "non-stem" areas are (by career, maybe) and look into that. Finance, real-estate, mechanics, art, fashion -- they probably have "breakthroughs" that people outside the fields are not familiar with, at various scales.
* He doesn't understand the stack well... If you can't get him to stop coding, Get him on source control and branching, but do peer reviews into master, by which I guess I mean keep that power for yourself, or, if that's contentious, keep a separate branch for yourself, and if you see bugs discuss them with your partner. Dialogue is the way to help here, unless he's willing to defer to your expertise, but good code management and practices will help, and keep him engaged. If he's set on it, he may as well contribute properly.
* Re: not seeing features in the code This is an odd one. What is the proper way for you all to discuss features? If you're not both power users or both completely familiar with the code base then how should he know about a particular feature? Is your documentation air tight? Probably best to agree to a stick-to-it answer, if he doesn't know or thinks a feature doesn't exist... this is true for all salespeople who, as you grow, will grow increasingly unaware of features. Something like "let me take that back to our developers -- if we don't have something that precisely does what you want, we can add it as a feature request" or even "they're constantly adding capability and I may have even missed it in our latest version" or any variation. Again, discuss it, though.
*re: taking out his laptop... If he's the sales guy, and this helps him sell it, then I don't see the problem. If this is costing you sales, and you're sure that's the reason, then that's a different discussion. While this isn't an approach I'd take, I'm not "salesy". Again, discussion is your best option, but if you're asking him to stay in his swim lane, then consider whether or not this is wading into his. Better you're both on the same page, I agree -- if the issue is letting clients see trade secrets then, as before, agree with your partner on a party line: "if we can get an NDA in place, maybe a developer and I can sit and walk you through the code if you have a question about a particular piece, if that will help make the sale".
re: damaging the relationship.... just talk to him about it. Raise concerns -- point out bugs and use that to justify asking him to be more diligent, or pass code by you; point out lost sales and discuss what you think may improve. Approach it as a collaborative effort to solve problems, and hopefully he will take it well.
That has absolutely been my experience too (I still have my 1995 Infomagic Slackware CD... the horror.)
But are YOU the weak of heart? Perhaps not, coming here to ask such questions. And, IMHO, what you learn from fighting with a more raw linux distribution like Slackware is actually a useful learning tool. You can learn a lot about drivers and hardware systems by having to fight to get them to work.
And as soon as you get sick and tired of it, install something else that someone more forgiving has already mentioned. :-)
I don't have any relationship with Kaggle other than being a semi-active user, but I really dig what they've got going. For a step-by-step approach, start with their blog posts and work on their "Getting Started" competitions. Everything you need is there.
I'd coded prior to this; I got my Commodore when I was like 11 (the family machine, but I used it by far the most). Mostly typing in games from magazines, but fractals were the first thing that felt like it was "computer science" - something that really explores a new space that just wouldn't be possible without a computer.