Job Summary :
- Sr. Software Engineers who want to ratchet up the degree of challenge and excitement in their work - and incorporate some Wow! factor into their day - will find what they're looking for here. We want Software Engineers whose intelligence, reliability, judgment, skill, and leadership will turn them into tomorrow's CTOs and VP's of Engineering.
- As a Sr. Software Engineer, your mission will be to work in teams in defining, designing, and implementing software systems in a variety of technologies, with a focus on scalable web-based services and top rate mobile user experiences. Working as a team, your main responsibility will be to define, design, build, test, and deploy production software systems in an elegant, practical, efficient, and otherwise technically excellent manner.
- We currently use Django/python, Magento/PHP, MySQL, PostgreSQL, HTML5/CSS3/JavaScript, C++, Java, and Objective C (for iOS). We are looking for Sr. Software Engineers who have solid programming skills experience (regardless of language or technology) and who are excellent at picking up new things quickly.
- We believe all Sr. Software Engineers should be a solid contributor to the entire project lifecycle. You will be expected to refine product definitions, create estimates, document designs, write code, and test following our established development processes.
- Our perfect candidate is likely to be on the two-year plan, which means that as a rising star, you should look forward to growing out of this role within the next two years. Kudos to you if you someday become the CTO or VP of Engineering somewhere else; we'd like to have you as one of our Software Engineers today.
Essential Duties :
1. Working with other parts of the organization to document product requirements
2. Translating product requirements into detailed technical designs of object-oriented software modules
3. Coding of software modules with excellent code quality and full compliance with the design specifications
4. Estimating design and development tasks
5. Creating detailed plans for your own development schedule
6. Reviewing and adding to unit and integration testing scripts
7. Performing design and coding reviews
8. Performing full unit testing, integration testing, and tuning of software
9. Tracking down and fixing bugs
10. Preparing to participate in project reviews
11. Supporting sales, marking, and customer support as needed
12. Proactively managing your own schedules and tasks
13. Performing any task that adds value in a dynamic startup environment.
14. Doing whatever it takes to ensure the team and company meets its goals
15. Domestic/International travel may be required 10-30% of the time
Job Qualifications :
1. Ability to prioritize the needs of the team above personal goals
2. Can-do attitude
3. Strong problem-solving skills
4. Great attention to detail
5. Ability to consistently deliver high-quality results on time
6. Excellent verbal and written communication skills
7. Ability to achieve excellent results with minimal supervision
8. Ability to ramp up very quickly on any programming language, framework, or tool
9. Ability to translate product requirements into software designs
10. An understanding of scalable, distributed, and big-data architectures
11. Excellent functional design documentation skills
12. Excellent object-oriented technical design and programming skills
13. Ability to understand, follow, and enforce strict development processes
14. Ability and willingness to travel in support of company activities (10-30%)
Required Experience :
1. 4+ years of full lifecycle object-oriented software product development experience
2. Very good experience in Python, Docker, any python rest framework, any messaging queues, MySql DB and MongoDB.
3. Experience working in a team environment
4. Software development in a Linux or Unix (or similar) environment (Windows and Mac a plus)
5. Working knowledge of common software development tools, such as IDEs, debuggers, version control systems, etc.
6. Experience working in a multi-branch source code environment
7. Design and development of high-throughput, high-availability client/server systems desirable
8. Systems integration of message-oriented or other distributed client/server systems desirable
9. Design and development of native iOS and Android apps a big plus
10. Experience with Django or Magento a big plus
Competencies :
- Delivering Business Impact : The role requires the incumbent to possess deep knowledge on project management & software development processes, principles & best practices along with having a great knowledge on understanding the complete project requirements and its functionalities. The incumbent to possess excellent skills on prioritization, planning, and scoping decisions. to manage and mitigate risks around the delivery of business value by setting clear expectations and protocols between the business and development teams. Ability to have excellent decision making and knowledge of understanding the impact of decisions at the project/business level
- Superior Quality : The role requires to creates high-quality estimates & plans and generate high-quality presentations; Ability to deliver high-quality output by ensuring elegant functionality designs; The incumbent required to drive the entire team to work efficiently, monitoring the quality of the teams deliverables and identify need to bringing new processes, tools or skills to maintain set standard at the engineering level
- Collaboration : The role requires to ensure smooth teamwork across all the team members. Ability to influence technical & business teams for high-quality delivery and lead a group in adopting a material process change or accomplishing a material goal for small project/team
- Learning Agility : The role requires to assist team members in creating their learning maps & contribute to team learning; the incumbent to possess the ability to recover from setbacks. This role requires to foster innovation in the team by creating ways to learn by experimentation and to provide a variety of testing solutions for the same problem
- Stakeholder Partnership : The role requires the incumbent to establish a strong and active network and build a relationship on trust across the organization. It requires to communicate complex information unambiguously to both technical and business teams. The incumbent required to create and drive action plans to address stakeholder feedback and coordinate efforts within and outside of the team for that and to possess tailoring communications styles to address different target audience.
- Commitment & Ownership : The role requires to draw down scope for a system into a team-wide project plan & prioritizes tasks across the team. Ability to track the progress of plan for entire team with increased productivity. The role requires to replan as scope/resources changes and to work around all project-related challenges for the entire team.