programmer

Programmer (blood) types

A lot gets said about evaluating technical skills when building teams, but I find that to be relatively straightforward - what's trickier is understanding how a person prefers to work and so how much effort (i.e. change) will be needed for the team to gel once that person is added. Consequently, I spend a lot more time thinking about this than any specific skill a person might have.

It's as if each of us has a personality blood-type. Just as transfusing blood among individuals without taking account of their body chemistry can result in serious health issues, so too mixing otherwise competent individuals without regard to group chemistry can greatly reduce everyone's effectiveness. This is true, even if these same individuals would be very effective in different groups.

Like one's actual blood type, there are multiple factors involved, but I find three especially important. So, to run with the metaphor let's call them 'A' factor, 'B' factor and 'Rh' factor:

  • A Factor: Knowledge Sensitivity: A person has this trait if I expect the effort needed for them to understand the Situational Context of the team will be a significant factor in the gelling process. Considerations include: current knowledge, learning preferences (online research, training, books, etc), learning-speed, learning-skill, open-mindedness and how (and how easily) they'll learn from their teammates.
  • B Factor: Environmental Sensitivity [1]. This stuff matters to most everyone, but some are more sensitive to it than others. If it looks like it'll be a prominent part of the gelling process, they have this trait.
  • AB: Person has both traits.
  • O: Person has neither. I don't expect the person will require radical shifts in team cohesion to gel with the group (though they still may cause such shifts over time).
  • Rh Factor (+ or -): Tendency toward taking social initiative[2]. This one's hard to define. To get a sense of what I mean, the next time you're in a casual group discussion (ideally of peers), note the people who tend to pick the topics of conversations, suggest lunch destinations and so on. These people have this trait. When work topics arise, they're the ones proposing new ideas and things that need focusing on in the first place. Incidentally, if you believe you have this trait, you might need to reign it in to get a sense of who else has it (and a good habit for you to develop regardless).

I see these factors as neither strengths nor weaknesses. Nor as (necessarily) fixed traits. A successful team may contain (or require) people exhibiting any combination of these traits. Adding people who learn quickly or who care a lot about how customers are acting toward the group or are passionate about their work environment [3] is just as important as having deeply experienced people who are agnostic to the details of the work environment. Even when people's quirks or lack of knowledge might seem to be burdensome, our work is a creative activity not a mechanical one. Taking the effort to incorporate people who have a particular genius or ability into my teams has paid off more often than it's been a liability.

It is also important to understand this is my thinking process after it becomes clear the person is a plausible fit for the team. That means they've already passed the no assholes rule, otherwise appear to have the skills the group needs and I believe will get along reasonably well with the rest of the team outside the context of the goal at hand.

Of course, I also consider many other non-skill traits to be important - e.g.: risk aversion; time flexibility; tolerance for ambiguity, tool/practice prejudices and social neediness are all relevant - but regardless of which ones dominate a particular gelling process, what I'm always after is a better understanding of how the person will complement the rest of the group. Most importantly, reflecting on why people work well together helps me to do my job better. Hope you find it useful for that too.


[1] More precisely: How sensitive the individual is to forces acting within or upon the group; this important topic will get a separate blog entry hopefully soon

[2] Leadership in the narrow sense of desire to influence direction of a group of people.

[3] Tool and process preferences is an entire - large - subcategory that can even be considered an entire trait all it's own. We do so love our tool and practice religions!





programmer

Concept–based Analysis of Java Programming Errors among Low, Average and High Achieving Novice Programmers

Aim/Purpose: The study examined types of errors made by novice programmers in different Java concepts with students of different ability levels in programming as well as the perceived causes of such errors. Background: To improve code writing and debugging skills, efforts have been made to taxonomize programming errors and their causes. However, most of the studies employed omnibus approaches, i.e. without consideration of different programing concepts and ability levels of the trainee programmers. Such concepts and ability specific errors identification and classifications are needed to advance appropriate intervention strategy. Methodology: A sequential exploratory mixed method design was adopted. The sample was an intact class of 124 Computer Science and Engineering undergraduate students grouped into three achievement levels based on first semester performance in a Java programming course. The submitted codes in the course of second semester exercises were analyzed for possible errors, categorized and grouped across achievement level. The resulting data were analyzed using descriptive statistics as well as Pearson product correlation coefficient. Qualitative analyses through interviews and focused group discussion (FGD) were also employed to identify reasons for the committed errors. Contribution:The study provides a useful concept-based and achievement level specific error log for the teaching of Java programming for beginners. Findings: The results identified 598 errors with Missing symbols (33%) and Invalid symbols (12%) constituting the highest and least committed errors respec-tively. Method and Classes concept houses the highest number of errors (36%) followed by Other Object Concepts (34%), Decision Making (29%), and Looping (10%). Similar error types were found across ability levels. A significant relationship was found between missing symbols and each of Invalid symbols and Inappropriate Naming. Errors made in Methods and Classes were also found to significantly predict that of Other Object concepts. Recommendations for Practitioners: To promote better classroom practice in the teaching of Java programming, findings for the study suggests instructions to students should be based on achievement level. In addition to this, learning Java programming should be done with an unintelligent editor. Recommendations for Researchers: Research could examine logic or semantic errors among novice programmers as the errors analyzed in this study focus mainly on syntactic ones. Impact on Society: The digital age is code-driven, thus error analysis in programming instruction will enhance programming ability, which will ultimately transform novice programmers into experts, particularly in developing countries where most of the software in use is imported. Future Research: Researchers could look beyond novice or beginner programmers as codes written by intermediate or even advanced programmers are still not often completely error free.




programmer

Novice Programmers’ Coping with Multi-Threaded Software Design

Aim/Purpose: Multi-threaded software design is considered to be difficult, especially to novice programmers. In this study, we explored how students cope with a task that its solution requires a multi-threaded architecture to achieve optimal runtime. Background: An efficient exploit of multicore processors architecture requires computer programs that use parallel programming techniques. However, parallel programming is difficult to understand and apply by novice programmers. Methodology: The students had to address a two-stage problem: (1) design an optimal runtime solution to a given problem with no additional instructions; and (2) provide an optimal runtime multi-threaded design to the same problem. Interviews were conducted with a representative group of students to understand the underlying causes of their provided designs. We used qualitative research methods to gain refined insights regarding the students’ decision making during the design process. To analyze the gained data, we used content analysis tools. Contribution: The case study presented in this paper will help the teacher to stress the merits and limitations of various parallel architectures and confront students with the consequences of their solutions via performances’ benchmark. Findings: Analysis of the student’s solutions to the first stage revealed that the majority of them did not provide a multi-threaded solution ignoring the optimal runtime requirement. At the second stage, seven various architectures were provided differing in the number of involved threads, the data structures used, and the synchronization mechanism employed. The majority of the solutions were sub-optimal and only a few students provided an optimal one. Recommendations for Practitioners: We recommend conducting class discussions that will follow a task similar to the one used in this study. Recommendation for Researchers: To be able to generalize the received results this research should be repeated with larger study participant groups from various academic institutions. Impact on Society: Understanding the difficulties of novice programmers may lead to quality software systems. Future Research: To be able to generalize the received results this research should be repeated with larger study participant groups from various academic institutions.




programmer

Searching for Tomorrow's Programmers




programmer

Development and Testing of a Graphical FORTRAN Learning Tool for Novice Programmers





programmer

Lead C# / Unity Programmer (REMOTE): Afterschool Studio

  Afterschool Studio is seeking a Lead C#/Unity Programmer to join our team and help us create art-forward, systems-driven games that allow for expressive player experiences. We’re a small tight-knit team building working on projects with strong aesthetics and compelling strategy elements. We’re looking for a team member who shares our vision - could it be you? This role will be primarily focused on helping to bring our flagship game Cantata to a 1.0 release, but will also have purview over other games in development at Afterschool.   Responsibilities   Guide the development process of large scale strategy games Design, implement and maintain core gameplay systems and features Maintain build stability by tracking, finding, and fixing some of the more difficult bugs that surface during development Profile and optimize critical systems, and guide other departments in creating optimal assets and content Scope and deliver regular updates to a game currently in Early Access   Requirements   Shipped 2+ retail game titles Expert level knowledge and understanding of C#, Unity, and the .NET ecosystem Good, collaborative communication skills. We’re a fully remote studio so we’re looking for candidates who can design, implement, and communicate their development goals and plans easily and effectively to fellow teammates around the world Interest in having high impact and autonomy as the lead of a small, nimble team Player-centric understanding of the development process with good instincts for fun and innovative gameplay and game feel Excitement and flexibility in learning new skills to tackle unfamiliar challenges Strong understanding of event and data-driven game architecture for large scale, systems-driven games Deep and practical understanding of game architecture concepts Expertise in one or more of the following areas: UI/UX Programming, Procedural generation, AI Programming, P2P Networking BONUS: We’d love it if you also have… Experience developing turn-based / strategy games Network engineering experience Experience with Steamworks/Playfab/Platform APIs Interest in tools development Experience with multiple languages, frameworks and tools CI/CD pipeline experience   What’s in it for you? Our culture is centered around trust, communication, and creating space for everyone on our team to make a meaningful impact. We consider ourselves lucky to work with a diverse group of talented folks from all over the world, sharing their expertise and unique perspectives. If you join our ranks, you’ll have many opportunities to pick up new skills. We’d like to help you grow your career, just as you help us build our games! In addition, we offer the following benefits: Competitive salary ($70k - $100k, commensurate with experience) Full time remote work Respect for your work-life balance and flexible hours Unlimited PTO Health Insurance reimbursement through QSEHRA Opportunity to make open source tooling   Our Interview Process We’ve set up a short interview process that we hope is considerate of your time, fairly evaluates you based on your practical experience, and shows our investment in you.   15 - 20 minute intro video call We’ll give you a high level overview of what we’re all about, and learn more about your background, skills, and relevant experience We’d like to learn more about your interests and assess alignment with our studio vision Code sample review We’ll ask you to submit some code you’ve written: a feature, a cool solution to a problem you solved, something you’ve built for a shipped game…whatever you’re proud of! We’ll be looking for: Clean, well-documented code Simplicity and elegance or an interesting approach Adherence to best code practices (understanding of naming conventions, layout consistency, appropriate commenting, etc.) 1 hour deep dive with Kyle Kukshtel, our Founder / Creative Director. You’ll go over: 10 minute hellos and technical discussion around your knowledge of the C#, Unity, and the .NET ecosystems, game architecture, and sensibilities around game “feel” and fun 30 minute targeted live coding session tailored (if possible) to your stated specialty (ex: solve a well-scoped bug) 20 minute “reverse” interview - your chance to ask us any questions you might have about our processes, philosophies, culture, etc. Kyle will be on this call but if there are other folks in other roles you’d be interested in pulling in for this conversation as well, we’ll try to make it happen!   How to Apply Sent a resume and other relevant materials (portfolio, dev blog, LinkedIn, etc.) to careers@afterschool.studio with:   Subject line: Lead Programmer - {your full name} A short statement re: why you think you’d be a good fit or why you want to work with us! What game you are playing right now




programmer

SE-Radio Episode 306: Ron Lichty on Managing Programmers

Ron Lichty talks with SE Radio’s Nate Black about managing programmers. Topics include: why programming management is hard, what makes a good programming manager, the costs of micromanagement, self-organizing teams, team dynamics and motivation, and product team performance.




programmer

Episode 374: Marcus Blankenship on Motivating Programmers

Motivation comes through relationships, safety, and environments which allow everyone to contribute.




programmer

Episode 462: Felienne on the Programmers Brain

Felienne joins host Jeff Doolittle as a guest on the show to discuss her book, The Programmers Brain. While programmer’s brains are not special in comparison to the brains of others, they face unique cognitive challenges...




programmer

Episode 465: Kevlin Henney and Trisha Gee on 97 Things Every Java Programmer Should Know

Trisha Gee and Kevlin Henney of 97 things every Java developer should know discusses their book, which is a collection of essays by different developers covering the most important things to know. Host Felienne spoke withGee and Henney about all things...




programmer

On Typesetting Engines: A Programmer's Perspective




programmer

11c programmer manual

11c programmer manual




programmer

How to Setup your Desk as a Programmer

As a programmer, your desk is the platform to everything you do. Every line of code you write, CSS you minify or updates you push out is done right there. See how to set up your desk for maximum productivity.




programmer

Software Developer, Dot Net Programmer Dot Net Developer

Company: Confidential
Qualification: Aviation, Bachelor of Arts (B.A), Bachelor of Architecture (B.Arch), Bachelor of Business Administration (B.B.A), Bachelor Of Computer Application (B.C.A), Bachelor of Commerce (B.Com), Bachelor Of Technology (B.Tech/B.E), Bachelor of Education (B.Ed), Bachelor in Hotel Management....




programmer

Female Programmers Driven by Different Motives than Men

Evans Data's newly released Developer Marketing 2019 survey report found significant differences in the reasons for entering the software development industry as well as most important career driver between women and men.




programmer

Graphics Programmer: Stardock Systems, Inc

Stardock Entertainment continually breaks new technical ground across our catalog of PC game titles spanning 4X and Real-Time Strategy and Action Adventure. We are currently seeking a Graphics Programmer to work on our next-generation game engine for both announced and unannounced titles to build up our team of dedicated and experienced talent! This is a salaried, full-time position at our Plymouth, Michigan studio. Primary Responsibilities Include: Work with the artists and designers to produce next-generation graphics Troubleshoot technical issues related to graphics Optimize graphics to run on a variety of platforms and machine specifications   Create and maintain tools for artists to visualize and debug their assets  Education and/or Experience Desired: A Bachelor’s degree in Computer Science, Software Engineering or related field 3+ years experience in C++ required Familiarity with 3D math, including quaternions and matrix math required Shipped at least one commercial game Experience with all core areas of graphics development (Shaders, Animation, Post-Effects, PBR Materials, and particles) while demonstrating a specialization in one of those areas required Critical eye for attention to detail Familiarity with 3D graphics hardware and driver stack Experience with at least one graphics API: OpenGL, Direct3D, Vulkan, Metal; and a shading language like HLSL or GLSL Experience developing on current generation or next-generation console is a plus  




programmer

Network Programmer: Stardock Systems, Inc

Stardock Entertainment continually breaks new technical ground across our catalog of PC game titles spanning 4X and Real-Time Strategy and Action Adventure. We are currently seeking a Network Programmer to work on our next-generation game engine for both announced and unannounced titles to build up our team of dedicated and experienced talent! This is a salaried, full-time position at our Plymouth, Michigan studio.  Primary Responsibilities Include: Development of multiplayer connectivity and gameplay for real-time strategy-simulation games  Management of user-created content in a multiplayer environment Backend development of updating of the multiplayer game state across multiple machines Frontend development of login systems, lobbies, and in-game chat Develop fast, reliable and most importantly, fun multiplayer features in collaboration with gameplay and design teams Develop and maintain tools for testing and analysis of the multiplayer environment Investigate and resolve bugs related to multiplayer and networking  Education and/or Experience Desired: A Bachelor’s degree in Computer Science or Software Engineering 3+ years of experience in developing and optimizing network code in C++ Shipped at least one commercial game  Experience using industry-standard tools for debugging network traffic such as Fiddler Experience with network optimization, and multi-threading Solid communication skills with colleagues, management and stakeholders  




programmer

Mid to Senior Programmer: Airship Syndicate

We're currently working on an unannounced PC/console title featuring a new and original IP, and need a veteran gameplay programmer to help bring it to life. If you've got the experience and enjoy working with a focused group of talented and passionate game devs, then we're the place for you. RESPONSIBILITIES: Gather requirements based on stakeholder input Provide reasonable time estimates, and communicate when adjustments are needed Collaborate iteratively with designers, artists and other team members to deliver polished gameplay Create internal tools as needed to improve and support workflow Deliver clean, efficient and well-documented code Fearlessly and relentlessly debug difficult problems   REQUIREMENTS: Experience on at least one commercial game title At least 3-5 years commercial game development experience Solid knowledge and experience using C++ Motivated self-starter; complete tasks without intense supervision Good oral and written communication skills Proof of eligibility to work in the United States   PLUSES: Experience working with Unreal 4 Experience working on a live-service game Multiplayer programming experience in Unreal 4 Latest generation console development experience Recent time travel SOME OF THE BENEFITS WE OFFER: Full health benefits including medical, dental and vision Profit sharing Generous PTO PLUS... Office movie lunches Snacks on snacks on snacks Ping Pong with a leaderboard One sick mame cabinet Please note, due to a high volume of applicants we cannot reply to each individually. Only those in consideration for a position will receive a reply. Thank you!




programmer

New AccuRadio Channels Debut From Out Of Work Programmers

Almost two months back (NET NEWS 3/2) ACCURADIO, music streaming’s all-human-curated music website, invited radio professionals “dislocated” by restructuring and … more




programmer

Former Milwaukee Personality And Programmer Mike Elliott Passes Away At 82

MIKE ELLIOTT, the former MILWAUKEE host, PD, GM, and sportscaster and HOUSTON ASTROS broadcaster, died APRIL 20th of pneumonia in BAYSIDE, WI at 82. ELLIOTT started his career at … more




programmer

Profession Of The Future: Why Is Programmer Education Still Relevant?

In 2020, there is no doubt that people and technology will be very close friends in the future. The modern inhabitant of our planet spends about 45% of his time connecting with technology. We are...




programmer

Structural Engineer/Programmer

Structural Engineer/Programmer SDS/2 (d.b.a., "Design Data Corporation") is seeking two (2) civil engineers, for their Lincoln, Nebraska, location, with knowledge of structural steel and computer programming who can analyze, develop, modify, enhance, and/or write computer code while incorporatin




programmer

Hiring programmers with a take-home test

There’s no perfect process for hiring great programmers, but there are plenty of terrible ways to screw it up. We’ve rejected the industry stables of grilling candidates in front of a whiteboard or needling them with brain teasers since the start at Basecamp. But you’re not getting around showing real code when applying for a… keep reading




programmer

SDTM Programmer

Company: Golden Opportunities Private Limited
Experience: 9 to 15
location: Mumbai
Ref: 24738603
Summary: Description We are looking for an associate with at least 8+ years of experience for SDTM position at mumbai, having strong understanding and experience of SDTM creation as per CDISC standards and mapping different clinical....




programmer

Pro T-SQL 2005 programmer's guide / Michael Coles

Coles, Michael




programmer

The PyQGIS programmer's guide : extending QGIS 3.x with Python 3 / Gary Sherman

Sherman, Gary E., 1953- author




programmer

JSJ 427: How to Start a Side Hustle as a Programmer with Mani Vaya

JavaScript Remote Conf 2020

May 14th to 15th - register now!


Mani Vaya joins Charles Max Wood to talk about how developers can add the enterepreneur hat to the others they wear by starting a side gig. They discuss various ideas around entrepreneurship, the books they got them from, and how they've applied them in their own businesses.

Panel

  • Charles Max Wood

Guest

  • Mani Vaya

Sponsors

__________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

__________________________________________________

Picks

Mani Vaya:

Charles Max Wood:


Follow JavaScript Jabber on Twitter > @JSJabbber