Software Developer, Municipal

Description The Software Engineer is responsible for coding, testing, and documenting application programs that are moderate to complex in nature, working with accepted development department standards and procedures. Responsibilities - Participate in analyzing, designing, writing and testing code, documenting and implementing functionally appropriate, technically sound, and well-integrated application systems. This is completed in accordance with customer requirements and organizational methodologies and standards for new application development as well as existing system enhancements. - Participate in new application development and existing system enhancements by coding system features according to system designs. - Maintain existing application programs by fixing bugs or clearing up operational deficiencies in both previously released software and software slated for future release. - Assure program, module and system integrity through thorough testing and adherence to company standards and procedures. - Work through all phases of the software development life cycle, including research, design, analysis, requirements, implementation, test automation, and maintenance. - Utilize new technologies and tools to modify products and provide integration with applications developed internally and externally. - Prepare and modify program and system documentation. - Provide guidance to less experienced team members to ensure knowledge transfer and training are successfully meeting department goals. - Achieve departmental goals and timelines. - Perform other duties as assigned. Complexity - Demonstrate the ability to take increasingly difficult assignments and successfully implement it with little or no help from more senior resources. - Demonstrate a high degree of skill, efficiency and be a leader to the less experienced development staff. - Develop programs that are moderate to complex in nature, adhering to established departmental standards. - Learn and implement new technologies and architectures within a reasonably quick timeframe while producing and testing high-quality software. - Demonstrate strong knowledge of software development practices, concepts, and technologies obtained through formal training and work experience. - Demonstrate strong knowledge of required programming languages. - Demonstrate strong knowledge of the technical/business environment. - Effectively partner, communicate and negotiate with business analyst, development and support groups in order to gather and communicate business requirements. - Work on individual programs that are part of a much larger application. - Adapt to changing products and technologies. - Fix bugs in existing, often unfamiliar programs, under considerable time constraints. - Manage and prioritize often conflicting tasks and interruptions so as to minimize their impact on the current deadlines and workload. Qualifications - Bachelor’s degree in computer science, computer engineering, or comparable work experience. - Demonstrated strong knowledge of software development practices, computer science theory, and understanding of relevant technologies. - Relevant Technologies: - PHP & NodeJS preferred - Objective-C, Swift, Android Java, Kotlin - Knowledge on .NET / MAUI or Flutter is a plus - Experience writing and testing code to meet strict deadlines. - Demonstrated understanding of product architecture and all underlying technologies. - Demonstrated understanding of development process. - Demonstrated experience with data modeling tools, web services and/or service oriented architecture. - Ability to work well both independently and within a team environment. - Strong written and verbal communication skills. - Strong interpersonal skills. - Experience providing guidance and direction to less experienced staff. - Solid negotiation with various parties to ensure enhancements to applications are addressed while maintaining/balancing business situations and constrictions. - Well-developed logical thinking and reasoning skills. - Ability to prioritize and complete multiple tasks in a fast-paced, technical environment. - Keen attention to detail.

Back to blog

Other Jobs To Apply

No other job posts for this day.

Common Interview Questions And Answers

1. HOW DO YOU PLAN YOUR DAY?

This is what this question poses: When do you focus and start working seriously? What are the hours you work optimally? Are you a night owl? A morning bird? Remote teams can be made up of people working on different shifts and around the world, so you won't necessarily be stuck in the 9-5 schedule if it's not for you...

2. HOW DO YOU USE THE DIFFERENT COMMUNICATION TOOLS IN DIFFERENT SITUATIONS?

When you're working on a remote team, there's no way to chat in the hallway between meetings or catch up on the latest project during an office carpool. Therefore, virtual communication will be absolutely essential to get your work done...

3. WHAT IS "WORKING REMOTE" REALLY FOR YOU?

Many people want to work remotely because of the flexibility it allows. You can work anywhere and at any time of the day...

4. WHAT DO YOU NEED IN YOUR PHYSICAL WORKSPACE TO SUCCEED IN YOUR WORK?

With this question, companies are looking to see what equipment they may need to provide you with and to verify how aware you are of what remote working could mean for you physically and logistically...

5. HOW DO YOU PROCESS INFORMATION?

Several years ago, I was working in a team to plan a big event. My supervisor made us all work as a team before the big day. One of our activities has been to find out how each of us processes information...

6. HOW DO YOU MANAGE THE CALENDAR AND THE PROGRAM? WHICH APPLICATIONS / SYSTEM DO YOU USE?

Or you may receive even more specific questions, such as: What's on your calendar? Do you plan blocks of time to do certain types of work? Do you have an open calendar that everyone can see?...

7. HOW DO YOU ORGANIZE FILES, LINKS, AND TABS ON YOUR COMPUTER?

Just like your schedule, how you track files and other information is very important. After all, everything is digital!...

8. HOW TO PRIORITIZE WORK?

The day I watched Marie Forleo's film separating the important from the urgent, my life changed. Not all remote jobs start fast, but most of them are...

9. HOW DO YOU PREPARE FOR A MEETING AND PREPARE A MEETING? WHAT DO YOU SEE HAPPENING DURING THE MEETING?

Just as communication is essential when working remotely, so is organization. Because you won't have those opportunities in the elevator or a casual conversation in the lunchroom, you should take advantage of the little time you have in a video or phone conference...

10. HOW DO YOU USE TECHNOLOGY ON A DAILY BASIS, IN YOUR WORK AND FOR YOUR PLEASURE?

This is a great question because it shows your comfort level with technology, which is very important for a remote worker because you will be working with technology over time...