Second Site is Hiring!!!!!

From: Taylor McDonald 
------------------------------------------------------
Second|Site, LLC is currently looking to hire five developers into flexible
and exciting positions. We are
focused on Augmented Reality solutions, and are pushing into new markets
with this technology.
Potential applicants should have previous - and preferably active -
experience with a minimum of two
skill sets below. We are not concerned with rigid requirements so much as
the ability to learn quickly if
necessary, rampant curiosity and a =93Swiss Army knife=94 mentality.
Skill Sets Required
Programming Languages & Frameworks
Please note that this is our current vision and implementation. However, we
are open to other
languages if your skill sets are best represented by them. Furthermore,
experience with Geographic
Information Systems (GIS) is an indispensible skill set that will be
beneficial in understanding a number
of the core concepts for our product, but is not essential for applicants.
Java - Android development
Python - Blender Python API and experience with Django.
Objective-C - iOS development
HTML5/JavaScript - WebGL, security,
PHP - MVC implementations
WebGL & OpenGL
REST, JSON, and XML - Experience constructing
SQL - Experience designing, developing, and implementing database backends
with MySQL,
PostgreSQL, SQLite, etcetera. Preferably in conjunction with PHP.
WebGL
Experience with developing and authoring WebGL applications is required,
but we are agnostic to the
libraries used in your implementations. The context in which WebGL will be
used in our product is in
rendering and editing 3D datasets.
HTML5
Experience with HTML5 APIs with an emphasis on drag-and-drop functionality,
the File API, the File
System API, and the Canvas element (2D/3D), and WebGL. Front-end design
skills needed with the
ability to match an existing theme or style if necessary.
Security
Customer data will be actively exchanged between client workstations and
mobile devices. Security -
both client- and server-side - represents a business critical component of
our application, encompassing
every aspect of our workflow. In short, experience involving the following
is essential for potential
applicants:
- Experience securing scalable PHP-based applications sitting on a LAMP
stack, particularly within a
cloud-based environment (Google App Engine, Amazon AWS, Rackspace, etc.)
- Experience with OAuth on the client-side mobile devices
- Experience with HTTPS, MOSH and SSH
- Android/iOS security frameworks and practices
Android
Extensive experience with the Android API with a focus on OpenGL (previous
experience with OpenGL
not required but beneficial) and Android security. Must be able to define
new UI from scratch or match
a previously developed UI from another platform like iOS.
iOS
Extensive experience with the Cocoa API with a focus on OpenGL (previous
experience with OpenGL
not required but beneficial). Must be able to define new UI from scratch or
match a previously
developed from another platform like android.
About Us
We are a startup working in the realm of augmented reality, and we need
startup-minded developers.
You must be comfortable with agile development, and be a perfectionist
about documentation,
accuracy and user experience. You must be able to navigate a changing
landscape of project
expectations and development goals. More than anything, you must be curious
and flexible, willing
to learn new things with a proven track record of being a =94Swiss Army
knife=94 of solutions. Few of
the things we do on a daily basis were things we had done before, and
that=92s what we love. We are
constantly presented with problems that have never been tackled before,
things that are =93impossible,=94
to which we respond: =93=91impossible=92 just takes more time.=94
You must be willing to go above and beyond. We are pushing into a new
market within augmented
reality, and you must be able to look past what we=92re currently doing to
see what can be done. If
solving new and old problems by applying cutting edge technology doesn=92t
interest you, please stop
reading. If you=92re okay with doing the same old thing, or if you prefer a
=93corporate=94 nine-to-five setting,
there=92s simply no room for you here.
We pride ourselves on our unique culture. We are flexible with our work
schedules, but be prepared
to work up to 60 hours/week and never just 40. We are on a mission. We love
what we do, and that=92s
what compels us to keep pushing our own limits and the limits of the
digital space we work in.
We want to get to know you as a person and as a developer. We want to know
how you work, what
motivates you, and how we-- and you-- can get the most out of your
experience with us. We respect
what we are building, who we are and the values that unite us - we are in
the relationship business and
the most important relationships we have are within our team. If you=92re
interested in us and we=92re
interested in you, we will invite you for a two week assignment/challenge.
This will be your opportunity
to interact with a part our culture: results are the only thing that trump
=93the hustle=94 around here. (If
you=92re currently employed or otherwise occupied, we=92ll work with you--
nights and weekends for 3
weeks, for instance).
We love that it=92s 2012 and telecommuting is a reality, but we want to see
your beautiful face more
often than not. We are based out of Chattanooga, Tennessee-- the best place
in the world, if you ask
us! In fact, ask anyone: Outdoor Magazine=92s readers rated us =93Best Town
Ever=94 last year. There=92s a great
and burgeoning culture here, with a focus on arts and music, the outdoors,
and all things local. Trust
us, spend a month in Chattanooga and you=92ll have kudzu wrapped around you=
r
head and a river running
through your soul!
The Terms
Contract: 1 year, renewable, with 3 month probationary period
Starting salary: $45k, renegotiable at end of first year, with potential
for relocation assistance
Equity: 0-1%
Vest: 3 years
Cliff: 1 year

=============================================================== From: Stephen Haywood ------------------------------------------------------ I know Chattanooga is cheap but seriously, you want a seasoned developer with GIS experience to work 60+ hours a week for only $45K. Chattanooga seems to be in its own world when it comes to salary. This is why I work for a company in Knoxville, they are more realistic in their pay scale. If I'm wrong feel free to call me out but this sounds crazy. Stephen Haywood Information Security Consultant CISSP, GPEN, OSCP T: @averagesecguy W: averagesecurityguy.info

=============================================================== From: Stephen Haywood ------------------------------------------------------ You also may want to check out salary.com: http://swz.salary.com/SalaryWizard/Web-Applications-Developer-Salary-Details-Chattanooga-TN.aspx -- Stephen Haywood Information Security Consultant CISSP, GPEN, OSCP T: @averagesecguy W: averagesecurityguy.info

=============================================================== From: Eric Wolf ------------------------------------------------------ Taylor, Seriously... You need to either double that salary or re-write the job description. I hadn't made less than $45K in Chattanooga since 1994. That salary is fine for intern-level work. If you can find some super-sharp kids with no experience but lots of enthusiasm, you can do $45K. But you'll need 1-2 people at the $75K+ range to mentor them. Talk to Mike Harrison about hiring these kinds of people. He's really good at it. -Eric -=--=---=----=----=---=--=-=--=---=----=---=--=-=- Eric B. Wolf 720-334-7734

=============================================================== From: Mike Harrison ------------------------------------------------------ I'm not sure if that is an insult, or a compliment. I'll take it as the latter. hey you.. code monkey: What are you looking at? Back to work!!! I need 500 lines of bug free code, 6 new features, 2 rewrites and a song, or no peanuts and bananas for you..

=============================================================== From: Chad Smith ------------------------------------------------------ but... I'm allegeric to peanuts! *- Chad W. Smith*

=============================================================== From: Mike Harrison ------------------------------------------------------ That's Ok. I have other carrots, including carrots. Sticks too. For both beating the programemer into submission, as well as to place carrots, candy bars, and bananas on in front of them for motivation. --Today was a day, that as I watch, in real time, the really really really stupid things a "brogrammer" did pile up in a database because they had no clue, and I did not have time to check their "work". Luckily, he moved, or I'd be tempted to drive over to his house and use the a large clue bat. $work as function called bbf('') that tries to translate words, with a lookup in a local database and sometimes even, a call to Google's translate API. It works better than expected if you use it well. We would use properly like: print bbf('You have') . ' ' . $records . ' ' . bbf('in queue') ; He used it like: print bbf("You have $records in queue¬") ; Which today created > 2000 bad translation requests.. and records for each iteration of $record.

=============================================================== From: Ed King ------------------------------------------------------ ----- Original Message ---- From: Mike Harrison the really really really stupid things a "brogrammer" did pile up in a database because they had no clue, and I did not have time to check their "work". two questions: 1) does YOUR supervisor hold you accountable for the shitty programming of your subordinates? 2) what's in the basket?

=============================================================== From: Dee Holtsclaw ------------------------------------------------------ Wow. Heck, I did local caching of requests from 2nd Life clients in that Perl proxy I threw together for a friend of mine (later versions just query Google Translate directly) since there were a crap ton of things a lot of people translated over and over again. The way you've got that worded, I'd think any value of $record should be at least comprehensible sandwiched as it is. The trick is avoiding any semantics requiring number agreement / plurality (and the only human languages I know are English and Bad English thus no judge at all).

=============================================================== From: rdflowers ------------------------------------------------------ I doubt one of us geezer-geek generalist programmers would ever do =20 something as nutty dumb as the brogrammer below. "Just sayin' " ----- Message from cluon@geeklabs.com --------- Date: Wed, 1 Aug 2012 18:06:39 -0400 (EDT) From: Mike Harrison Reply-To: Mike Harrison , CHUGALUG Subject: Re: [Chugalug] Second Site is Hiring!!!!! To: CHUGALUG Cc: Mike Harrison ----- End message from cluon@geeklabs.com ----- -- R. D. Flowers, Chattanooga, TN, USA http://chalice.us/poe/

=============================================================== From: Mike Harrison ------------------------------------------------------ Our customers do.. which is close enough, and yes, It's my fault..

=============================================================== From: Dee Holtsclaw ------------------------------------------------------ And admitting that is what makes you strong. I had to eat crow myself yesterday ... had a client who couldn't print statements. I looked at the backtrace, starting installing the debuginfo package to get the source line numbers ... then, as I waiting for that download to complete, the version# I was staring at dawned on me. It was a known bug (twiddled two characters in a impact printer control sequence which caused an exception) fixed in the following release from the one they had. Should have caught that immediately but that neuron just didn't fire when it ought to have. So I ran "yum update" and the problem went away. Still kicking myself over that.

=============================================================== From: Tom Wilson ------------------------------------------------------ Well, I should have remembered it too as we had the problem before so don't feel bad. As for dumb programming mistakes, I can recall making several when I patched the PCDS Linux kernel to get around an NVidia NForce issue. Several "Der de der" moments happened with Broadcom support too. * The most important lesson I learned from forking and maintaining a Linux distro is - Don't. *

=============================================================== From: Ed King ------------------------------------------------------ yes it hurts to loose a customer... so I'd like to know what others do to ensure quality I consider myself a pretty good programmer and a pretty good supervisor/mentor (I've made better programmers out of non-programmers than some of the "programmers" that I've hired/fired [or TRIED to fire, but don't get me started on that cause it makes the veins in my head pop out]). Anyway, as Mike implied in an earlier email in this thread, its impossible for a supervisor to look at every line of code that is written... hell, if we had time to do that, then why would we need to hire anyone else?! Anyway, I know this thread is off topic but where else can I go to ask for advice on such things (I assume there are plenty of supervisors on this list). I'd like to know what other supervisors do to ensure quality, given that its impossible to look at every line of code that is written? I don't believe in automated unit tests written by the same programmers who wrote the code. We have a carbon based software tester on site, but again, she can't catch every possible bug. example: I was recently made aware of a very illogical "bug" in some code that was written (not by anyone on my team, cause we'd know better) a little more than a year ago. The bad code went unnoticed because it only gets triggered by a rare event... and that event got triggered recently. So I dig thru 7 layers of OO mess and finally find the offending code, and I'm amazed at its obviously wrongfulness, but like I said... who has time to read every line of code that is written? I sure don't. now, back to my craigslist search... ----- Original Message ---- From: Mike Harrison To: Ed King Cc: Mike Harrison ; CHUGALUG Sent: Thu, August 2, 2012 9:40:12 AM Subject: Re: [Chugalug] Second Site is Hiring!!!!! your Our customers do.. which is close enough, and yes, It's my fault..

=============================================================== From: Stephen Haywood ------------------------------------------------------ You could have an outside company do a code audit. Veracode comes to mind. Also, there are open source code analysis tools: https://www.owasp.org/index.php/Source

=============================================================== From: Ed King ------------------------------------------------------ can an outside auditor or analysis tool ever be able to catch business rule implementation errors? seems like the time/money spent on training outside auditors on business rules would be better spent towards training or (gasp!) incentives that would make the in-house programming staff want to do a better job. BTW, a slice of pizza every year ain't exactly what I'd call incentive. now back to my youtube search...

=============================================================== From: Jason Brown ------------------------------------------------------ I haven't used this yet, but been thinking of doing some trial runs: http://behat.org/ Behavior Driven Development --Jason

=============================================================== From: Ed King ------------------------------------------------------ it's agile based... boo... hiss ;-) if the "unit test" is written by the same programmer who incorrectly coded the business rule, I can see how the test would pass, but the logic be just as wrong as ever. now back to my facebook...

=============================================================== From: rdflowers ------------------------------------------------------ ----- Message from stephen@averagesecurityguy.info --------- Date: Thu, 2 Aug 2012 12:33:01 -0400 From: Stephen Haywood Reply-To: CHUGALUG Subject: Re: [Chugalug] Second Site is Hiring!!!!! To: CHUGALUG

=============================================================== From: Mike Harrison ------------------------------------------------------ It's a whole lot more on topic than many things on this list, Have we hijacked the thread enough yet? My first comment is: Just because it passes a unit test, under very speciifc conditions, does not make it sane coding. My second comment is: I'm a crap programmer, admittedly. But I pound, hammer and duct tape stuff that works, in the real world, in extremely poor conditions. (the network I am installing on in Benin has no DNS, and sometimes 1 to 3 second sporadic pings..between locations.)

=============================================================== From: Mike Harrison ------------------------------------------------------

=============================================================== From: Dee Holtsclaw ------------------------------------------------------

=============================================================== From: Dan Lyke ------------------------------------------------------ On Thu, 2 Aug 2012 09:17:03 -0700 (PDT) Ed King wrote: Code reviews. At the simplest level, a second party's initials accompany *all* version control check-ins. And make it clear that that isn't a "yeah, I trust my coworker", but a "I've looked at every line in the diff, understand it, and think it's necessary". My current gig doesn't do this and it drives me nuts. It doesn't actually take that much more time to pull another coder in to look at the check-in, it means the first coder gives that much more attention to it before asking for a review, and it means you've got two people who understand the code. Dan

=============================================================== From: Mike Harrison ------------------------------------------------------ I'd like to do this much more than we do. It's helpful to all parties. We are spread damn thin, and Adam and I both wear big cowboy hats. We shouldn't be. Right now, writing actual code, is Adam and myself, and we are both taking care of different things. So we don't bump into each other much, nor do we very often, have to fix each others code. Probblem with beinga cowboy, is when the steer gores you, it is pretty bad. --Mike--

=============================================================== From: Jason Brown ------------------------------------------------------ Thats the typical problem I also run into. There is the "right" and "responsible" way to do things, it's understood and it follows good practices. Then, there is the real world with unreasonable deadlines and unreasonably tight budgets. Corners get cut and you end up skipping some of the niceties. Corporations with deep pockets can afford to do things right, most companies have to settle for getting it done at all. I try to keep things somewhere in the middle. --Jason

=============================================================== From: Tim Youngblood ------------------------------------------------------ This is like prison, where everybody's innocent. :)

=============================================================== From: Dan Lyke ------------------------------------------------------ On Fri, 3 Aug 2012 04:42:53 -0400 (EDT) Mike Harrison wrote: I think one of the problems is that it's easy to convince yourself that it's too expensive to do, but if you can impose the discipline to actually start doing it you'll find that it increases your productivity over the long-term (a month or three) by quite a bit. It's very easy to get into dog-paddling to keep your head above water, forgetting that swimming is a lot more efficient, and that there's a destination beyond "not drowing". Dan

=============================================================== From: Billy ------------------------------------------------------ r no peanuts and bananas for you.. Don't forget the unlimited pizza and soda -- but only while you're working. S= unlight is purely optional. --b

=============================================================== From: Billy ------------------------------------------------------ The thing I likes working for Mike is that he took responsibility for his de= cisions and wasn't afraid to say he didn't know -- however tomorrow he'd hav= e an answer (and probably a code fix) --b

=============================================================== From: Billy ------------------------------------------------------ Unit test code coverage. There are tools to help identify how much code is covered by testing. Also a QA test process that actually does NEGATIVE tests. Those are amazing a= t finding bugs. Sent from my iPhone e implementation errors? seems like the time/money spent on training outs= ide auditors on business rules would be better spent towards training or (ga= sp!) incentives that would make the in-house programming staff want to do a b= etter job. BTW, a slice of pizza every year ain't exactly what I'd call i= ncentive. =20 Also, there are open source code analysis tools: https://www.owasp.org/inde= x.php/Source

=============================================================== From: Ralph Edge ------------------------------------------------------ What are negative tests? -Ralph

=============================================================== From: Sean Brewer ------------------------------------------------------ It's simply testing by asserting a behavior that a feature should not do.

=============================================================== From: Billy ------------------------------------------------------ It's easy to design code to handle data you are expecting. But, you should a= lways think about the behavior of your code with both good and bad data. Som= etimes, you don't want to handle it, but you want the caller to know about t= he error. However, this behavior should be documented somehow and expected. A negative test attempts to ensure the expected behavior is seen for bad dat= a. This helps get rid of side-effects. Example: I change a database field to be nullable. The side effect is that t= here maybe code that assumes the field will never be null as it used to be d= efined that way. Once the new data is loaded - boom! It blows up. A negative= test designed well should catch that: Insert: null field in database Expect: SQL error Fail if: there was no error Once the tests are ran on the new database schema, it will fail, thus alerti= ng you of the side effect. Sent from my iPhone g at finding bugs. le implementation errors? seems like the time/money spent on training out= side auditors on business rules would be better spent towards training or (g= asp!) incentives that would make the in-house programming staff want to do a= better job. BTW, a slice of pizza every year ain't exactly what I'd call= incentive. =20 . Also, there are open source code analysis tools: https://www.owasp.org/ind= ex.php/Source

=============================================================== From: Ralph Edge ------------------------------------------------------ Ah, so I do write negative tests, then. Just not as many as I should :) -Ralph