As a Software Developer in Dallas, TX it is very obvious that the demographics of my profession have absolutely nothing in common with the demographics of my city. To be frank, it’s mostly Caucasian males (~65%), Indian males & females (33%), the later weighted towards immigrant workers.
This is just a mind dump on something larger I’m working on. Please forgive the formatting.
Dallas and Fort Worth have a rough population breakdown of 50% White, 24% Black/African American, 42% Hispanic / Latino (this classification spans races), and various Eastern Asian races making up 1-2% of the remaining. For these totals I’ve settled on the data found at http://en.wikipedia.org/wiki/Demographics_of_Dallas%E2%80%93Fort_Worth after checking with many sources, and it’s a great average on those.
To get employment data on my industry in my area I used http://qwiexplorer.ces.census.gov/. I included the Dallas, Tarrant, and Denton counties as the industry is spread across these three.
The numbers you are about to read are preliminary, and therefore skewed. I’ve listed a few areas which seemed odd to me, why so, and my current hypothesis as to why that area may be wrong.
Ind Avg Ind Area Population Emply Salry Emp Emp D/FW BLK 12,642 57980 (-35%) 17% 17% 24% WHT 53,454 86124 73% 73% 50% HIS 10,593 50541 (-41%) 14% 21% 42%
The percentage of persons employed who are black in the area changes almost nothing when filtered down to just my industry didn’t change at all. My hypothesis is that this is skewed because my filter is “Information” workers, and there are large call centers here for mobile phone support which one will find a statistically large population. These jobs don’t pay very well, which may in turn have a loot to do with the salary difference from the Caucasian numbers.
The Hispanic numbers at first surprised me the most, but I believe cultural differences adequately account for the population strangeness. The same biases are expected with Hispanic numbers as Black, but the fact that they are significantly lower isn’t in line with industries.
It’s my belief that my local industry should reflect my city demographics. There’s enough of a under-employment problem here that it certainly seems like an area of interest. If employers feel they need to pursue HB-1 workers, that means they can’t find those educated to do the job here (in theory).
Secondly, but perhaps more importantly, software development, design, and project management have evolved in these fields through the concerted effort of those in it to bring their own culture, knowledge, and experience to improve these systems. Every last one of them is in a rutt, even after Agile was supposed to be savior. Agile is great, but even it teaches at its core to be flexible and evolve when challenges arise. I believe the entire process is lacking underlying cultural and cognitive paradigms from these underutilized brethren. No matter how much technical accuracy we’ve designed into our processes and designs, not one person working in this industry hasn’t heard about the importance of a new hire being a good culture fit.
When you fail to merge branches before building, dependencies are silently lost.
“You pushed your ideas.”
Have you ever heard this? I have, and as a negative. We as developers work in a very collaborative way, so at first it’s understandable where this could be viewed poorly. However, when developing products for a client, how does one know when they are pushing idealism vs. professionalism?
So I posit: Idealism builds brand new things. Professionalism builds those things right.
After review of the code, having recently moved out of Dojo to Durandal, the code was structured, but fractured. Nothing was testable (a quality desired by both client and team). My answer was to bring in solid architectural principles based on the design of AngularJS. The shop was already using Durandal with future plans to move to Angular 2.0, so it seemed natural. I offered the ideas, was encouraged to share, and gave an informative (albeit direct) presentation to the back-end and front-end developers of what I dubbed a “client side data layer” to handle our communications. The Java developers grilled me hard, but we all agreed this was nothing more than a back and forth about understand the fullness of the design, not an argument. My team disagreed, thinking I had pushed too much. I later confirmed with the Java team this wasn’t the case.
Until I got push back, from my own team.
2 iterations after being allotted sprint time by the client my team lead had still been reallocating my time to bug fix tasks. I don’t mind helping, but 2 sprints of fixing bugs after such a successful start can be, truthfully, annoying. Along with other personal problems my work time suffered. The UI firm and I parted ways. Aside my time, “You pushed your ideas”, was the only other thing mentioned.
Idealism or professionalism, what have I witnessed? Should a developer strive to provide the solutions to the problems presented him, or should they earn money from the client through hand holding the client while they decide what they want? The first I truly know to be a right way. There are honest people that earn money doing the second. Is their title “Developer”, “Architect”, or “Programmer”? It’s obvious my opinion is no. I believe my experience is exactly what I am hired for, and in a niche where misinformation is rampant, clarity is key.
I understand many UI firms have a certain image they promote: “Creative Support” I like to call it. Help them believe your ideas are their own. I see a fundamental flaw when this approach is applied to code development.
What are your thoughts?