Wednesday, December 14, 2016

First Job Red Flags for the New Javascript Developer

You attended a coding bootcamp, paying more than $10,000 for the privilege and now you are on the cusp of starting your new career. Do you value the education you received? Your new employer will certainly be happy to get you and they will think they are training you in a way that continues the progress you've made but, good intentions are sometimes mixed with ignorance. What are the indications your potential employer is going to detour you to a dead-end?

The Programmer's Bill of Rights on Coding Horror is inadequate for determining if a job will be a good one. Based on my own experience and observations, I created a list of indicators of a bad IT developer job.

Red Flags
No source control
No unit test, no automated unit tests
No automated build
No application spec
No code reviews
No bug database
Not asked to code or whiteboard on the interview
Wants you to focus on the backend
No control over your development machine
Has a mainframe or similar
Is an Oracle or IBM shop [1.]
uses a language your grandpa might have used if he were a developer
uses or desires to use a rules engine
uses stored procedures (you may want to stay away from SQL and relational DBs completely)
uses failed Java stuff - EJBs, Websphere, JEE, JSF, Eclipse

Really Red Flag
An old school shop wants to hire you as the first person in a planned cardre of developers with modern skills [2.]

Green Flags
none of the red flags
Your job includes:
- pair programming
- coding in functional language & functional style
- working on UI and on distributed services
- working with users to spec and develop from new requirements


[1.] if you work where they invest in 1980s or 1990s technology, the people who know the old stuff will be the most highly rewarded people there and they are rewarded largely for fixing their own mistakes. Their Friday installs will result in Saturday and Sunday all-hands conference calls that will screw-up your weekends and on Monday they will get an 'atta-boy' for fixing their bug. See Flintstoning
[2.] if the shop cannot evolve with the developers they have then they cannot evolve so don't be the victim of their history of rationalizations and laziness.