Software Engineer I- iOS
Who We Are
Brightly, the global leader in intelligent asset management solutions, enables organizations to transform the performance of their assets. Brightly's sophisticated cloud-based platform leverages more than 20 years of data to deliver predictive insights that help users through the key phases of the entire asset lifecycle. More than 12,000 clients of every size worldwide depend on Brightly's complete suite of intuitive software including CMMS, EAM, Strategic Asset Management, IoT Remote Monitoring, Sustainability and Community Engagement. Paired with award-winning training, support and consulting services Brightly helps light the way to a bright future with smarter assets and sustainable communities.
About The Job
We are seeking a skilled Mobile App Developer with primary experience in iOS development using Objective-C and Swift. And who is enthusiastic about writing clean, efficient, and accessible code in a cross-functional framework. Committed to the total development lifecycle, the maintenance of code quality and bug-free applications is of the utmost importance. The ideal candidate should have hands-on experience with Xcode, Cocoa Touch, and Cocoa Pods.
What You'll Be Doing
- Design and build advanced applications for the iOS platform with innovative and performant features into our next-generation software applications.Apply deep knowledge of computer science & programming principles, combined with empirical experience into innovative solutions.
- Ensure the performance, quality, and responsiveness of applications.
- Develop, implement, document libraries, frameworks, and components, within scope, cost, time & quality constraints.
- Build quality into agile product lifecycle encompassing requirements, design, code, testing, delivery, support.
- Write clear maintainable code, adhere/improve/augment existing standards, work in a professional software engineering environment (source control, shortened release cycles, continuous integration, and deployment, etc.).
- Understand company goals and metrics and align with code objectives.
- Partner with product owners on what's feasible technically, participate in user requirements translation to technical specifications.
- Support our products, identify, and fix root causes of production incidents, contribute to troubleshooting and resolution of support issues.
- Own product quality and work to quickly address production defects.
- Demonstrate data-driven analysis and pragmatic decision making aligned with business and technology needs. Differentiate between immediate needs vs long term solutions.
- Challenge yourself and your team to stay current with the latest technology trends.
- Collaborate in product lifecycle with senior engineers, development managers, product managers, scrum-masters in an agile environment, with scrum implemented at scale globally.
- Be part of continuous improvement processes. Welcome, change and complexity. Learn quickly and adapt fast.
What You Need
- 2+ years of iOS application development experience with solid programming abilities including iPhone, iPad, or universal application.
- Deep understanding of iOS Architecture, apple's design principles, and application interface guidelines and emerging technologies
Proficient in Swift, Swift UI , Cocoa Touch, and Coco Pods
- Extensive experience with iOS Frameworks such as Core Data and Core Animation.
- Excellent problem-solving skills and attention to detail while debugging and fixing issues in a complex and rich environment using the latest XCode instruments and performance tools.
- Strong understanding of the full mobile development life cycle
- Good knowledge of third-party frameworks like Facebook, Twitter, etc.
- Exposure to cloud technology stacks like AWS, Azure, Google cloud, etc.
- Experience with different 3rd party SDKs and integration, knowledge of C-based libraries.
- Experience in Apples Foundation Framework, Memory Management, Core Data, Core Animation, Push Notification Services, and latest iOS APIs.
- Vast and in-depth knowledge about URLSession.
- Proficient in code versioning tools including Mercurial, Git, and SVN.
- Familiarity with RESTful APIs to connect iOS applications to back-end services.
- Ability to translate concept designs into user interfaces on mobile devices.
- Work on bug fixing and improving application performance.
- Operates effectively in a fast-paced, deadline-driven, collaborative and iterative.
- programming environment.
- Continuously discover, evaluate, and implement new technologies to maximize development efficiency.
- Experience in automated, unit testing framework like XCTest, asynchronous, performance testing.
- Experience working in agile methodologies (Scrum, Kanban)
- Good understanding of data structures and algorithms, object-oriented programming, databases, SQL, web programming, design patterns, SOLID principles
- Good analytical and problem-solving aptitude
- Strong communication, partnership, and teamwork skills required.
Bonus Points
- Open-Source contribution, repositories, personal projects
- Participation in communities of interest, meetups
- Certifications in technology, agile methodologies
- Prior experience in agile implemented at scale across
Additionally, knowledge of cross-platform frameworks such as Flutter and React Native is highly desirable.