How do I get from learning a new language to actually using it? learn programming |
- How do I get from learning a new language to actually using it?
- Amazon coding online assessment - given ~48 hours to complete it
- I have an advice on how to stay motivated
- Components of a professional software engineer
- What things will i need to learn to be able to say I know python?
- Programming Pals?
- Beginner
- How reputable and useful are Popular Science‘s Coding Bundles?
- I am a total noob, I have almost no clue at what github is, would anyone be able to just briefly explain?
- What things will i need to learn to be able to say I know python?
- If I try to implement pure virtual functions there should be a drop-down menu right?
- Learning AWS, Azure, it some other high demand skill.
- Can Kinesis Data Analytics be used to run normal metrics queries on RDS?
- Looking for study group to join or start for SwiftUI. Beginner level
- What are the principles of programming?
- Plural Sight?
- [Python] Class function that returns True/False upon validity?
- [C++ opencv] How can I feature match an image that is mostly white space?
- (C#) Cant get my app to load sounds or Selenium extention
- My code wont return variable TicketPrice.
- Coding on an iPad??
- Hi. My player got hit once and it got destroyed even though i set my player hp to 10 in the inspector. My enemy damage is just 1... did i do something wrong? pls help
- Any Australians Up For A Small Programming Help Group?
How do I get from learning a new language to actually using it? Posted: 11 Apr 2020 09:46 AM PDT I have been learning coding on my own for the past two to three years. I have reached a point where I'm fairly comfortable with python. Like I know the syntax, functions, basic OOP concepts and all. Okay now coming to my problem, I tried to browse through some Github repos to see how to actually make stuff. And I feel completely overwhelmed by the stuff I see. I don't know how to actually apply the things I've learnt in real life. Where do I learn how to actually make real life programs? Let's take this github repo as an example. How do you package code like that? How do you know how to split your code to different files? How to package them? What is this pip? The problem is I know python. But not the nuances of actually making stuff with it. Where and how do I aquire that skill? Any help is appreciated. And sorry for my bad English. [link] [comments] |
Amazon coding online assessment - given ~48 hours to complete it Posted: 11 Apr 2020 11:02 AM PDT well, hopefully I'll get more time, but that was interesting. Frankly I've been just dealing with learning the Rails framework for work. I'm quite confident in Ruby and the ability to figure things out - even though I actually feel a bit relatively rusty in terms of the rote problems solving practice - but I don't come from a CS background and haven't yet filled the gaps quite yet, so there is expected to be some areas that are faulty. I just don't want to bomb it, though I hope to take it as a good learning experience regardless of what happens. Tips and advice? [link] [comments] |
I have an advice on how to stay motivated Posted: 11 Apr 2020 07:01 PM PDT Whenever working on a big project that takes time, make a 'to do' list where whenever you stop coding. There you should list the problems, ideas, thoughts, bugs, tasks and conjectures about why your code does not work. Now I found it really helps to maintain the program for a long period of time, helps with directing towards the goal and it is very satisfying to write (done) near any progress you have made. Good Luck! [link] [comments] |
Components of a professional software engineer Posted: 11 Apr 2020 02:03 PM PDT Hi, I decided to use the free time that came from we all know where to write articles about misconceptions that people often have about software engineering as a profession as well as approaches to becoming a software engineer.*Disclaimer* All that I am about to write is based on my own experience and interpretation of it. Also, the information is directed towards people who want to become a professional software engineer, i.e. hobbyists will probably not gain any useful insight. *Disclaimer 2* English is my third language so if you find my writing style unpleasant I'll be happy to fix spelling and grammar issues if you tell me how :) I came up with the idea to write this all up because I am often asked questions by people outside of the field but who consider entering it. Might as well point them to the articles I wrote. If such content appeals to the general public of this subreddit I'll create a "blog" kind of site where all of these will be compiled. Please, provide feedback, even if you hate the article. Maybe I shouldn't waste my time publishing this :) But onto the article: Components of a professional software-engineerThe percentages are derived from my own experience and are not aiming for any kind of precision. I use them to illustrate relative importance of a trait for a successful career. Treat them as a ballpark number. Fundamentals (5%) Every professional software-engineer apart from junior developers should have their fundamentals rock-solid. It is considered fine when a junior dev struggles with syntax occasionally. The fundamentals usually include: knowledge of the programming language the company or team uses, knowledge of common programming concepts, control structures — basically writing code. In my opinion this is the part that gets a lot of people confused — they think that software engineering is about writing code and figuring out where to put a semicolon to make code compile. In practice, I've never had any conversations about how to write a loop structure or how to declare a function. These things are second nature to a professional and are done without any effort whatsoever. Domain knowledge (15-80%) Now it is getting interesting. Any useful software system solves a problem in a certain domain. The professional developing the solution must have knowledge about the domain in order to do his work. The degree to which the developer must be competent in the domain varies greatly (hence 15 to 80 percent in the heading). In some teams there are analysts who do most of the work with the domain and provide precise specifications of what needs to be implemented. Other teams might leverage the domain knowledge that developers have themselves, e.g. a team that develops a compiler will probably consist of people who have the expertise to execute such a task. One of my first jobs was at an investment bank. Straight away after joining I had to undertake a three-week training on financial instruments and banking work in general. About 90% of my brain power was involved in figuring out how the instruments work in theory and why they are producing incorrect results in our software. After the error in the domain was detected, implementation of the fix took a matter of minutes. This is an example of an insanely domain heavy development position — something you really need to take in account when choosing where to apply. I did not know that I hate banking before working there and suffered daily. A popular trend these days is AI, which in my opinion is another heavily domain based field. The domain is pretty much mathematical modeling and statistics. The development parts often revolves around an already implemented AI engine. In general, you will rarely encounter a position, where you will not be expected to have (or acquire as you proceed to work) any domain knowledge relating to the problem solved by the system. Library and tool knowledge (20%) These are the things that you usually learn at work right after you are hired. Employers generally don't care which IDE were you using before: you will either have to use whatever IDE the company has licenses for or you can use whatever you want. Smart employers will usually not care whether you know a specific language if you know an analogous one. This is due to the fact that smart employers test for conceptual knowledge during interviews, they are looking for competent people who are willing and able to learn. Of course some interview will require you to know a certain language and a certain library or whatever else they think is important, but I don't care for such employers and usually skip their invitations. Once I managed to pass an interview for a C# position without ever using C#. I knew C++ and kind of *seen* how C# looks. The interviewers didn't suspect anything and hired me. System design skills (10%-70%) The variety in percentages depends on how high your position is. Junior developers are usually not allowed to work on core features and code which is shared and used by other teams, therefore they do not require exceptional architecture and design skills. They will work on an isolated feature which does not have substantial impact on other teams. On the other end of the spectrum Senior developers are usually the ones who are allowed to tackle problems in the very heart of systems. Mistakes that they make can impact the whole product or even the company, so they are expected to experts in software design and architecture. The higher your position, the bigger the picture you must see. Soft skills/Communication skills (40-60%) Unless you are a solo developer working on your own project you will need to interact with other developers in your team or in other teams, members of Quality Assurance teams, analysts, management, sometimes even clients. The romanticized programmer is one who is sitting alone in a dark room, wearing a hoodie and just tapping away on the keyboard. In reality, communication is one of the most important skills a developer can have. You will constantly have to justify your own designs, propose ideas for solutions, communicate with testers on standing bugs and issues. Your email will be overflown by information which you must organize effectively. Your voice needs to be heard in meetings. This is the reality of the profession, hate it or love it. I learned to enjoy using my soft skills after I understood how my inability to clearly express my opinion can lead to unpleasant consequences, like rewriting parts of the system after a failed attempt or justifying the reasons why I didn't communicate a known issue and it reached the release stage of the product. As a matter of fact according to my direct manager the improvement of my soft skills was one of the main reasons for my recent promotion. Do not ignore this point. Engineering discipline (30%) By discipline I mean work that has to be done in order to improve the intangible quality of the product: adding logging statements, handling errors, maintaining comments, writing clear commit messages etc. This kind of repetitive work is immensely important but is one of the most overlooked. It stems from the fact that whatever facility you use to educate yourself does not demand these things from you. I've never written a single log statement during all of my university years. Similar situation with error handling: I just didn't expect errors in my coursework to happen. In real life however network connections constantly break off, databases fail, hardware fails — everything fails. When it all fails on a client's site, the only way how you can figure out what went wrong is by the logs that you receive. Do not neglect them! Conclusion I'll repeat that the percentages are just for illustrating how I feel the weight of each component might impact a career of a software engineer. They can heavily vary depending on the company or position. Each company is somewhat unique in this regard. If you are a junior developer (or are still trying to enter the field) I would strongly advise focusing on fundamentals and discipline. Soft skills might come handy as well. System design will not help someone who has never seen a real life software product. Juniors are usually not expected to have any domain knowledge whatsoever. If you are advancing in your career and want to reach a new height or get promoted your fundamentals and discipline have to be impeccable. Your soft skills should be constantly improving. You probably need to focus on system design and architecture, but this depends mostly on the specifics of your team and company. I will provide tips and guidelines in how to improve in each of these components in a future article. P.S. Another set of articles is currently in the works, most of the listed ones are in draft state and can be published after proofreading, tell me which one would you like to see sooner: - "Is programming easy? Is becoming a software engineer easy?" - "Regarding computer science degrees" - "Methods of advancing towards a career" - "Thoughts on why tutorials will fail to advance your learning" [link] [comments] |
What things will i need to learn to be able to say I know python? Posted: 12 Apr 2020 12:30 AM PDT |
Posted: 11 Apr 2020 07:23 PM PDT Anybody interested in being programming pals? Tackling problems on leetcode and learning some python + web development frameworks? DM me if interested, thanks! [link] [comments] |
Posted: 11 Apr 2020 05:10 PM PDT Hello everyone, I want to learn python, this is going to be my first ever programming language. However I don't how to go about it or where to start. Can anyone please recommend any sites, books or what steps I should take? [link] [comments] |
How reputable and useful are Popular Science‘s Coding Bundles? Posted: 11 Apr 2020 06:33 AM PDT There is a thought in my head, that www.popsci.com is not the most reputable and useful site when it comes to buying coding and ethical hacking courses. Do you guys have any experience you do not mind sharing? I really want to start somewhere in the huge computer science world. And I am open for any suggestions on websites or helpful tutorials. Thanks a lot in advance [link] [comments] |
Posted: 11 Apr 2020 03:57 PM PDT So I am in year 10 (14 years old) and I have taken computer science for my GCSE's. My teacher is pretty useless and so I decided to try start teaching myself, Covid-19 does help in this instance and is definitely the perfect time to learn new skills. Anyways, on almost all the threads I read they talk about github in some way. Now I have already looked online as to what it is but I am still not sure how it works fully, why does everyone use it? Do I need to have a github account to be "successful"? I'm very new to actually creating projects that are useful and don't really know any terminology that you guys would use also the python we practice at school isn't really useful in real scenarios, I'm trying to apply what I learn to my school work so i can make my learning more efficient :) I've heard that I should just get started and think of a program I want to create and just try create it. Thank you for all your help, hope you are all staying safe :) [link] [comments] |
What things will i need to learn to be able to say I know python? Posted: 12 Apr 2020 12:30 AM PDT |
If I try to implement pure virtual functions there should be a drop-down menu right? Posted: 11 Apr 2020 10:59 AM PDT If I inherit from an interface and try to implement the pure virtual functions, when I type out the names of the methods there should be a drop down menu and suggest an autofill right? If that doesn't happen then is something wrong? So far I have: and then:
|
No comments:
Post a Comment