In basketball we like to say that things like "dribbing", the "three-point-stance", and "keeping your eye on the ball" are good examples of fundamentals that all good players have, but then there's the example of John Wooden[1] (championship winning UCLA basketball coach) who stressed to all new players that "putting on shoes and socks correctly" was a core fundamental.
This got me wondering; what are the "shoes and socks" of software development? Is it algorithms/data structures, writing clean code, etc.; or is it something even more basic, like holding your hands correctly over the keyboard?
[1]: http://newsroom.ucla.edu/stories/wooden-shoes-and-socks-84177
I'd love to hear from other dad's or mom's out there who have done the "stay at home parent" + "full time remote engineer"; any advice/feedback would be greatly appreciated.
Anecdotally, this is what I’ve found:
- Hacker News: 100% of the emails I’ve sent responding to job posts on “who’s hiring” have led to a response by someone at the company.
- If a job post requests that I send a personal email, I am very likely to receive a response
- If a job post requests that I submit some formal application, I am very unlikely to receive a response or that response takes a very long time (2 weeks or more)
I’m interested to know what others’ experience has been. As I’m starting a new job search I feel myself handicapping companies based on how their job process is posted: if it’s on HN I’ll apply there first; if I’m required to fill out a form, I’ll only apply there after my other avenues have been exhausted. I’m not sure that’s a healthy practice or if that is actually a good way to preemptively avoid stress and frustration.
Thanks in advance!
long version: I’m a high school calculus/engineering teacher in Fort Worth, TX; 2 years ago I took the Udacity webdev course hoping to learn how to build apps that would be useful for me. Since then I’ve deployed various webapps (maybe 20?) that have been incredibly valuable to me as a teacher and my campus; some are even being used by 100+ other teachers I’ve never met.
The problem is: I now love programming and web development and want to do it full time.
Almost all of my experience is on webapp2 + Jinja2 (an artifact of the Udacity course) + bootstrap and I know that I need to learn Django, which I’ve started to work through. My current tasks are: learn more about test driven development (something I wish Udacity taught on day 1) and work through implementing solutions to the problems in “Programming Interviews Exposed” (an awesome book).
But am I really ready? Up to this point I’ve learned things when I needed to: Need to take in money -> learn Stripe; need to make it faster -> learn knockout; can’t stand all this code just for memcache -> move over to NDB; my brother laughs because my code has no unittests -> learn what the heck is a unittest; add unittests, etc.; but I don’t really know what core competencies companies expect out of new developers.
My question is: knowing that I have a couple months to pick up a few more skills/competencies, what would you recommend that I spend my time on, to maximize my hire-ability?
Thanks in advance!