Eugene will talk about the key components of the successful career in software engineering. This will cover various subjects: the landscape of modern IT business: fields, specializations of software; IT departments and roles in big companies; Passing the interview and being a successful employee; Specifics of e-commerce open-source software; Importance of the soft skills for career growth.
Career of the Software Engineer in Modern Open-Source e-Commerce Company
1. Career of the Software Engineer in Modern
Open-Source e-Commerce Company
Presentation at Kyiv National Taras Shevchenko University, Faculty of
Cybernetics
2. Eugene Tulika @vrann
Software Architect, Magento
• Service Layer, Package
Management, Command Line
Interface, Message Queue
• 10 years of software development
• Experience in mentoring, hiring,
technical leadership, public
speaking
3. Magento
• Major player in e-commerce software industry
• Framework for web-applications on PHP/MySQL
• 2007 – 1.0 release
• 2011 – acquired by eBay
• 2015 – sold to Permira Funds
• 2015 – 2.0 release: full platform and technologies update
• Open-source ecosystem of 150000+ developers
• Development offices in Ukraine, Spain, USA
• Major conferences: Magento Imagine, Meet Magento, Magento Live,
Mage Unconf
4. The Job of Architect
Organize others to do what you cannot do by yourself
• Collaboration with Product Managers, VPs, development teams, customers,
lead architect
• Promote your idea
• Write HLD. Get teams implement it
The main goal of this role is making sure that the feature:
• will fit the current framework
• is something customers want
• will fit future product plans
• is deliverable
• is understood by the developers team and they know how to build it
6. Hiring Process
• Recruiter Interview
• Questions on CV and experience
• Phone Screening
• Can be replaced with the test assignment
• Basic algorithmic questions and tasks
• On-Site Interview
• Multiple rounds of the interviews on programming skills and cultural fit
• Lunch
• Getting closer with potential teammates
7. Preparation to the Interview
• Read
• Solve Every Task
• Repeat
Another resource for algorithms:
• http://www.geeksforgeeks.org/
What could be covered better:
• OOP, Patterns, SOLID Principles
10. First Year
• Find a Mentor. Usually this is a person
• Who can inspire and challenge you
• Who is willing to share thoughts and ideas
• Who has lots of relevant experience
• Who is able to execute
• Work with the Manager
• Insist on regular 1-1’s
• Establish development plan
• Report regularly on your progress both on current tasks and on the plan
• Seek for feedback
• Develop Soft Skills
• Work independently and in the team
• Be pro-active, be self-learner
• Feel sense of urgency and work under stress
• Communicate a lot. Write documentation. Answer questions.
11. Team Work
• Company benefit over personal goals
• Challenge your peers
• But do it nicely
• Deliver on promises
• But don’t do everything
• Earn respect of teammates
• By hard work and eagerness to help
13. Cultural Fit
The most important thing is the people you will work with. Interview
them.
• “Startup Culture” vs “Enterprise Culture”
• Chaos vs bureaucracy
• “Scrum” vs “Waterfall”
• Self-organizing teams vs micro-management
• Democracy vs authoritarianism
• “Open Space” vs “Personal Offices”
• Communication vs focus
• Servant Leadership
15. First 5 Years
Have a plan. Understand why it is important to do what you are doing.
• Be a Mentor
• Step out of Comfort Zone
• Work with technical leaders and product team
• Focus on Networking
• Learn new things
• Write articles
16. How to Thrive in Open-Source Community
• Communicate in public channels
• twitter, github, stackexchange
• Attend conferences and make connections
• Have business cards with you
• Get contact information from people you’ve met
• Participate in Hackathons
• Contribute to core
• Write extensions to frameworks
• Cover everything in blog