I understand very well your desire for "expert evaluation", I was (or I) in a very similar situation.
I taught myself C ++ programming and did some (rather small) projects in my free time. I was fortunate enough to find a job at the nearest accounting firm, where a former developer left them a LOB application, which was a complete mess. Before, I never wrote a single line of "real business", and I was only 16. But I managed to find out about their business problems and .net. In the end, I ended up rewriting the application because it could never satisfy their requirements,
Of course, I ask myself today why the hell they trusted me with this project, which is really an important asset for the company in which I work. Saying this, I can imagine that it is really difficult to find work without experience and without a formal education in computer science. I started out as a “student work / stand”, so this is probably your best bet. On the other hand, your experience with sales can be a real bonus if you find a job that requires knowledge of this domain (for example, creating a CRM system).
These were my two cents on a mission. Another aspect that I want to point out is that I believe that it is really important that you try to constantly improve your skills (no matter how experienced you are).
When I started my first job, I worked alone for almost two and a half years. The biggest problem for me was that I had no chance of getting any feedback or expert opinion in the form of “Is it good that I do here, will I encounter problems with xyz?”.
I think getting involved in stackoverflow was the biggest incentive for my “career” that could happen. Just too much I would have to mention when trying to explain how stackoverflow has contributed to my personal development. So, here, mixed with some general comments, the most important things that I learned in my “self-taught career”:
- By asking concise and specific questions in writing, you have the opportunity to express problems. I cannot overestimate how important it is to learn to accurately express problems, especially for a programmer.
- Participation in the community of programmers will compensate for the missing experience to a certain extent.
- Writing a real "business code" is very different from a game with programming exercises. While exercises are usually easy to understand in a problem area, and your goal is to master a solution domain, when writing business code, you will encounter reverse treatment. Be flexible.
- Try to learn something new every day. Even if you cannot directly see how a new technology, language or programming concept can benefit you when you are right now, it will definitely prove useful in the future anyway.
- Learn about market driven trends and best practices: SOLID design, TDD, DDD, LINQ ...
- Learn about development methodologies (Agile, Lean / Kanban, avoid waterfall).
- Interacting with a local .NET user group, attending conferences, and chatting with other developers. May also help you find a job.
- If possible, try hiring an experienced development team. Working with someone else in a project is a completely different story, and then doing something alone. From 4 months, my company decided that I should introduce a second project developer. I consider this an important experience for me.
source share