Who is Crown Data Systems?Crown is a leader in the air freight shipping industry. We provide state of the art software to first/last mile shipping agents. We've been developing software for shipping companies for 20 years. Our company values work/life balance, modern engineering/development practices & technology, Agile development and deployment, and creating quality products for our customers. Our remote Agile team is collaborative, learning focused, and merit based. We want to find other like-minded engineers who are focused on best practices with modern technology.
The PositionCrown Data Systems is looking to add a full-time, remote, permanent position for a Full Stack .NET/Angular Software Engineer to our cross-functional team. We're looking for US citizens who are highly proficient in English in the Eastern or Central time zones. Candidates must have recent programming experience in .NET and should be comfortable in a Microsoft technical environment. Azure experience is a plus as we have all of our dev, test, and production infrastructure hosted in Azure. Previous experience with HTML, CSS, and JavaScript is required as all of our front-ends are now created for web browsers. Salary is negotiable and is dependent on fit for the position and previous experience but is competitive with market rates. Even though Crown is a smaller company, it doesn't pay small company rates.
The TeamWe are a diverse and inclusive team that want to solve the difficult (and fun) technical problems at this business. We work almost as if we are together in one room by using video calls to help each other out, discuss architecture options, and pair program. If a developer is having trouble with a user story, the team works together to unblock and help execute it.
You will help the team understand, plan, execute, test, and deploy user stories from our product backlog. The team is mainly focused on executing user stories and not supporting production though some production support does creep in. Developers have a say and get some choice in what they work on. Consistently, the applications & features we work on are high impact for end users and directly contribute to the company's overall goals.
We've embraced a DevOps culture where the development team creates infrastructure as code, tests in-team with manual, unit, and integration tests, and is responsible for our own deployments. We use Google Meet and Slack to connect us using text, audio, and video. Kanban is our development methodology. Metrics for the team and individuals are visible in dashboards for everybody to see.
Due to the remote nature of this position, work time is dedicated to learning and growing. We learn together as a team by doing coding challenges and readings. The team has a big say in what sort of learning we do next and helps pick challenges and books to read. Senior applicants would also be expected to help mentor less experienced team members as we work. All team members are required to participate in pull request review as a way of aligning and learning.
Our TechnologyWe are mostly focused on our newer products and tech stack, but we do need to support the older stuff from time to time. Our modern tech stack uses C# to build backend services that integrate our legacy and current software products. We use Angular for all of our customer-facing UIs. Almost all of our automation is done using PowerShell. Our legacy tech stack uses C# and VB with desktop, web, and backend services. We heavily use Azure storage accounts (blob & table storage), Azure SQL, SQL Server, and Cosmos DB to store data.
Candidates will be expected to demonstrate their ability to code on the interview. Responsibilities- Follow established processes and standards to update or create applications.- Translate user stories into functional application features.- Collaborate with team members within development and in other departments to create and deliver value to our customers.- Help maintain and improve code quality and organization.- Offer assistance to support and engineering staff to troubleshoot and fix production issues when necessary.- Continue to learn and deploy new technologies to help benefit customers.- Work with our product owner to understand what stories are need to develop our products.