
Junior Software Developer — C#/.NET
NBI, INC.
Job description
Position Summary
NBI is seeking a Junior Software Developer to join a highly engaged technology team designing, building, and supporting modern enterprise software. Our developers work on substantial, long-lived systems involving large-scale data processing, workflow orchestration, system integration, automation, cloud services, APIs, and emerging artificial-intelligence capabilities. This is an opportunity to work on software that solves meaningful operational and data problems rather than being limited to basic website maintenance or isolated programming assignments.
This position is designed for an early-career developer with a solid foundation in C# and software-development fundamentals who wants to grow within an environment where engineering quality, thoughtful design, experimentation, and continuous learning are valued.
The Junior Software Developer will work closely with experienced developers and technical leadership. The role provides regular opportunities for hands-on instruction, collaborative problem-solving, code review, architectural exposure, and mentorship from veteran engineers.
We do not expect a junior developer to arrive knowing every technology in our environment. We do expect curiosity, a willingness to ask questions, responsiveness to feedback, and a genuine interest in learning how reliable production systems are designed and operated.
Responsibilities
-
Develop, test, and maintain applications and services using C# and modern .NET.
-
Complete well-defined development assignments with guidance from experienced team members.
-
Assist with the development of APIs, background services, automation, data-processing components, integrations, and internal tools.
-
Write clear, maintainable, and testable code.
-
Participate in code reviews and apply feedback to improve both the immediate implementation and broader engineering judgment.
-
Create and maintain unit and integration tests.
-
Work with relational databases, SQL, structured data, and application data-access components.
-
Use Git-based source control and follow established branching, review, and release practices.
-
Participate in automated build, testing, and deployment processes.
-
Assist with investigating defects, application behavior, and production-support issues.
-
Participate in Agile planning, backlog refinement, stand-ups, demonstrations, and retrospectives.
-
Learn and follow the team’s architectural, security, testing, documentation, and deployment standards.
-
Document implementation details and technical decisions when appropriate.
-
Explore the responsible use of modern AI-assisted development tools within established engineering and governance practices.
-
Gradually assume ownership of larger and more complex assignments as skills and confidence develop.
Minimum Qualifications
Applicants must meet at least one of the following education or experience pathways:
-
A bachelor’s degree in computer science, software engineering, information systems, information technology, mathematics, engineering, or a related technical discipline; or
-
An associate degree, technical diploma, coding program, or comparable formal training combined with relevant development experience or completed software projects; or
-
Equivalent practical experience demonstrated through professional work, internships, open-source contributions, independent study, or a portfolio of completed software projects.
Applicants should also have:
-
Foundational proficiency with C# and object-oriented programming.
-
At least one completed C# or .NET project that the applicant can explain and discuss.
-
Zero to two years of professional software-development experience. Internships, cooperative education, relevant academic work, and substantial personal projects may count toward this experience.
-
Basic understanding of classes, interfaces, data structures, error handling, debugging, and application flow.
-
Familiarity with Git or another source-control system.
-
Basic knowledge of relational databases and SQL.
-
Familiarity with automated testing and the purpose of unit and integration tests.
-
Basic understanding of the software-development lifecycle.
-
Familiarity with Agile software-development practices.
-
Basic understanding of continuous integration and continuous delivery concepts.
-
Ability to communicate clearly, work collaboratively, and receive constructive technical feedback.
-
Demonstrated curiosity, problem-solving ability, and attention to detail.
Preferred Qualifications
-
Experience with ASP.NET Core, Web APIs, background services, console applications, or worker services.
-
Exposure to Microsoft Azure or another cloud platform.
-
Familiarity with Azure DevOps, GitHub Actions, or another build and deployment platform.
-
Experience creating or consuming REST APIs and JSON-based services.
-
Experience writing automated tests.
-
Familiarity with dependency injection and common application-design principles.
-
Exposure to Docker, messaging systems, event-driven applications, or distributed systems.
-
Familiarity with authentication, authorization, secure coding, or secrets management.
-
Exposure to AI-assisted development tools, generative-AI services, or Model Context Protocol integrations.
-
Experience working with large datasets, data-processing applications, or enterprise systems.
Azure and AI experience are beneficial but are not required. Strong fundamentals and the ability to learn are more important than previous exposure to every technology in our environment.
What Success Looks Like
During the first several months, the Junior Software Developer will become familiar with the team’s systems, development practices, and architectural standards while completing well-scoped work with appropriate guidance.
As the developer progresses, success will include:
-
Independently completing increasingly complex assignments.
-
Producing reliable, understandable, and maintainable code.
-
Understanding how individual components participate in larger systems.
-
Responding constructively to code-review feedback.
-
Asking questions before uncertainty becomes rework.
-
Recognizing basic risks involving data, security, reliability, and deployment.
-
Participating meaningfully in team planning and technical discussions.
-
Demonstrating consistent growth in technical ability and engineering judgment.
Our Engineering Environment
NBI is investing in modern, durable technology rather than treating software as a collection of disconnected short-term projects.
Our team works with cloud services, enterprise data, APIs, automation, distributed processing, CI/CD, system integrations, and governed AI capabilities. Developers have the opportunity to understand not only how code is written, but how software is designed, secured, tested, deployed, observed, and supported throughout its operational life.
This is a highly engaged environment where developers regularly collaborate with experienced engineers and technical leadership. It is well suited to someone who wants to build a strong engineering foundation while contributing to systems with meaningful scale and complexity.
Job Type: Full-time
Pay: $61,000.00 - $75,000.00 per year
Benefits:
-
401(k)
-
401(k) matching
-
Dental insurance
-
Flexible spending account
-
Health insurance
-
Health savings account
-
Life insurance
-
Paid time off
-
Professional development assistance
-
Retirement plan
-
Tuition reimbursement
-
Vision insurance
People with a criminal record are encouraged to apply
Ability to Commute:
- Altoona, WI 54720 (Required)
Work Location: In person